正在加载陈远的个人网站

Steinberger:用量化雄心目标让 Agent 清理不再半途而废

模糊指令让 Agent 过早收工,给出带量化指标与约束的高目标才能驱动深度清理。

原始内容

If you just tell the agent to clean up, it will stop far too early. Give it an ambitious goal. Try "remove 20% of the least useful tests while maintaining code coverage within 2%"

中文译文

机器翻译,保留原文供核对。

如果你只是告诉 agent 去清理,它会过早停下。给它一个更有挑战性的目标。试试「在代码覆盖率变化不超过 2% 的前提下,删除 20% 最没用的测试」

深度解析

是什么:Peter Steinberger(PSPDFKit 创始人、知名开源开发者)分享的一条 Agent 实战经验:对编码 Agent 说"清理一下"这类模糊指令,它会很快浅尝辄止;换成带量化指标的雄心目标——"删除最没用的 20% 测试,同时把代码覆盖率波动控制在 2% 以内"——效果显著更好。

关键洞察:其一,模糊目标会触发 Agent 的最低成本达标路径,模型倾向寻找最省力的"完成"方式,于是提前终止。其二,这条指令的结构值得拆解:20% 是量化产出目标,"最没用"迫使 Agent 做价值排序与判断,覆盖率波动 ≤2% 是硬约束,防止它为凑数而牺牲安全性。目标函数加约束的组合,比单纯"多干点"有效得多。其三,这与给人类团队定 OKR 的逻辑同构——具体、可衡量、有野心、有护栏。

边界与风险:20% 的删除比例若缺人工审核,可能误删防御性边界测试;覆盖率并非测试质量的唯一代理指标,变异测试等补充手段更稳;数字本身需要按代码库基线调参,不可照抄。

意义:当 Agent 从补全工具演进为自主执行者,目标设定正成为使用者的核心技能。这条推文给出了一个可复用的提示词模式:具体任务 + 量化指标 + 明确约束,是 Agent 工程中"任务规格化"的典型范例。

精选追评与案例

  1. 提供可复用的实操案例与明确效果数据。

    @steipete Give it a goal to speed up the tests. Got a ~20m test suite down to 6m. It figured out why some tests couldn't run in parallel, dumb waits in the middle of tests, fixed non-reusable mocks.

    中文译文 · 机器翻译

    给它一个加速测试的目标。我把一套约 20 分钟的测试套件缩短到了 6 分钟。它弄清了为什么有些测试无法并行运行、测试中间的无谓等待,并修复了无法复用的 mock。

  2. 点明量化目标比模糊指令更能驱动 agent 行动。

    @steipete ambitious delete quotas beat "clean this up" every time. agents nap without a number

    中文译文 · 机器翻译

    有挑战性的删除配额每次都胜过“清理一下”。没有具体数字,agent 就会打盹。

  3. 用类比解释模糊目标为何失效,补充了提示设计边界。

    @steipete We spent decades learning that “make it better” is a bad brief for humans. Nice to know we’ve successfully transferred that problem to agents. https://t.co/2p9lUSh8Tw

    中文译文 · 机器翻译

    我们花了几十年才明白,“把它做得更好”对人类来说是个糟糕的任务说明。很高兴知道我们已成功把这个问题转移给了 agent。https://t.co/2p9lUSh8Tw

    在 X 上查看原视频
  4. 提出先过度删除再回补的边界测试思路,可供进一步验证。

    @steipete Can we apply Elons 5 step process and see if we can over delete until something breaks then add them back?

    中文译文 · 机器翻译

    我们能套用埃隆的五步流程,看看能不能先过度删除,直到有东西坏掉,再把它们加回来吗?