预注册实验解读 · Agentic Coding · 2026-08

同一个补丁,
两句话买到不同的工作量

一个预注册实验锁死任务、模型、工具和判分标准,只改用户那句话的措辞,跑了 4,644 次。结论是:「比较多个方案」「必须绝对确定」这类授权式措辞会让 agent 真去干那些活,成本涨几倍到十几倍,而成功率一动不动。

要求比较多个方案
2.4–7.4×
推理量倍数,六个模型在八个未见过的冻结留出任务上无一例外
换来的成功率增益
没有
这些机制在实测中一项都没有提高成功率
01 · 起点

同一个任务,两种工作量

同一个小 bug,换两种写法,agent 做出的补丁可以同样正确,背后的工作量却相差数倍。

说法一 · 授权比较
Develop several distinct approaches to this fix, compare their trade-offs explicitly, and only then select and implement the best one.
要求先展开几种不同方案,逐一比较,再选择其中一个实现。
买到一场内部选拔赛
说法二 · 划定边界
Work efficiently: begin with the failing test and the most likely implementation files; inspect additional files only when evidence requires it; avoid unrelated cleanup; make the smallest sufficient change; run the relevant tests; stop as soon as the acceptance criteria pass.
要求从失败测试和最相关的实现文件入手,只在证据需要时扩大检查范围,完成足够小的改动,相关测试通过后停止。
买到一条有边界的执行路径

论文用 24 个确定性任务比较这两类措辞。研究者只改变用户提示词,任务、模型、工具和判分标准保持不变;隐藏测试不进入工作目录,agent 无法读取或修改。8 个任务作为冻结留出,全部实验得到 4,644 次有效运行,覆盖六个模型。

用户写下的提示词其实只占输入的一小部分。在开源命令行编码 agent PI.DEV 中,这一比例不到 5%;在 Anthropic 的命令行编码 agent Claude Code 中,不到 1%。PI.DEV 由 Mario Zechner 创建,现属 Earendil Works。提示词之外还有 harness,它负责把系统说明、工具定义和工具结果组织进 context,并决定是否继续下一轮。

因此,短提示词不必然便宜。把目标、范围、验收标准、测试命令和停止条件完整写出,文字明显更长,推理量仍约为 1.0 倍。论文将这种基线概括为 precise control (objective, scope, criteria, test command, stop condition)。要求比较多个方案的句子短得多,却让六个模型的推理量升至 2.4–7.4 倍,成功率没有实质改善。

这一节的落点

论文据此把计量单位定在措辞上:不是提示词有多长,而是那句话许可了多少工作。

↓ 基线 1.0 在此
要求比较多个方案
7.4×
要求深度思考
2.2×
啰嗦复述同一要求
≈1.0×
划定边界的效率指令
中性
推理量相对各模型自身基线的倍数。第一行取留出集上六个模型区间的上界 2.4–7.4 倍,第二行取该家族区间的上界 1.6–2.2 倍,第三行是长度对照,第四行在六个模型上均判定为中性。竖线为基线 1.0。
怎么读条长表示推理量相对该模型自身基线的倍数,竖线为 1.0;前两行取各自区间的上界,后两行是长度对照与边界对照。只有「比较多个方案」明显增长,啰嗦复述同一要求仍停在基线,说明抬高成本的是措辞许可的工作,不是字数。

另一条提示词进一步扩大了可以展开的思考范围:

Think very deeply about this. Reason through every possibility before acting, be absolutely certain about each conclusion, and verify your reasoning repeatedly at every step.

这条 deep_thinking 指令让推理升至 1.6–2.2 倍,却没有增加可观测的功能性动作。多出来的主要是推理文字,不是更多必要的文件检查、代码修改或测试。

论文自己在限制一节里把「没有成功率增益」归为天花板效应:任务最多涉及 4 个文件,基线成功率已经接近满分,结果不能外推到仓库级或架构级工作。在这组小任务中能够确认的是,提示词增加了工作量,成功率没有随之变化。

02 · 机制

四种浪费,四本账

多出来的工作并不都发生在同一个地方。论文一方面让看不到实验条件的裁判标注推理文字,另一方面直接从日志读取工具调用、轮次、挂钟时间和代码改动。前者属于语义判断,换裁判后整体一致性只有 κ=0.28,证据强度弱于可以直接计数的确定性遥测。四种浪费也因此落在不同的成本载体上。

TOKEN 承载分支锦标赛
多考虑 3.5 个方案,精心展开约 3 个再全部丢掉,落地恰好 1 个。工具调用几乎不动。
对策:约束推敲展开到什么程度、最终交付什么
工具承载验证循环
重复核对已确认的事实、重跑已经通过的测试。成本、调用次数、耗时一起上升。
对策:可执行的停止规则 + 重复动作护栏
推理承载似是而非的错提示
编辑前的推敲涨 4.2 倍,力气花在把一个没验证过的前提圆成自洽。无关噪音反而近乎免费。
对策:要么给证据,要么别给方向
范围代价顺手清理与放手自主
唯二真让 agent 改到范围之外的一族,占其运行的 5%–8%,其余家族约为零。
对策:把范围写成明确授权,而不是顺带许可
怎么读四张卡按浪费的成本载体分类,卡片底部列出与该载体对应的处理方法。分支、验证、错误提示和越界编辑消耗的资源不同,不能用同一种办法处理。

第一种是分支锦标赛,主要由 token 承载。「比较多个方案」让模型平均多考虑 3.5 个方案,展开约 3 个从未使用的分支,最终仍然只实现恰好 1 个,冻结留出集重现了同样的形态。出现第一个被丢弃的分支后,无缓存成本中位数约为 1.9 倍,工具调用只从 7 次变成 8 次,代码改动变化为 0.0。替代方案没有被逐个实现和实验,只在推理中展开后被放弃。输掉的分支在进入仓库之前就被扔了。

第二种是验证循环,成本主要落在工具调用上。触发它的提示词是:

You must be absolutely confident in the result. Re-verify the change repeatedly and do not consider the task complete until you are certain beyond any doubt that nothing can be wrong.

按事后观察到的冗余验证层级分组,成本形成了明显阶梯:1.00× / 1.48× / 2.36× / 18.25×,对应的工具调用中位数为 6 / 8 / 9 / 15,最高层的挂钟时间达到 3 倍,各层成功率持平;各层的标注样本依次为 1,585 / 835 / 168 / 213。论文自己在限制一节里交代,18.25 倍只是描述性对比,不能解释为因果结果。提示词措辞经过随机分配,但验证层级是运行后观察到的中介变量,并非随机化处理。

冗余验证层级成本倍数 · 工具调用
level 0
n=1,585
1.00× · 6 次调用
level 1
n=835
1.48× · 8 次调用
level 2
n=168
2.36× · 9 次调用
level 3+
n=213
18.25× · 15 次调用
冗余验证层级下的单次运行成本,归一到 level 0 中位数。最高层的挂钟时间达到 3 倍,成功率在各层之间保持平坦。条长按倍数等比,不含缩放。数据:arXiv 2608.01347v3 表 4。
怎么读每行代表一个冗余验证层级,条长按成本倍数等比,并归一到 level 0 的中位数;右侧列出倍数和工具调用中位数,层级名下标样本量。前三档从 1.00 增至 2.36 倍,level 3+ 跳到 18.25 倍和 15 次调用。该层仅 213 次运行,且 94% 的运行没有测试转绿后重跑;层级又是事后观测的中介变量,不能据此推断因果。

18.25 倍也属于尾部现象。94% 的运行在测试转绿后一次都没有重跑,最多的一次重跑了 6 遍,不能据此认为 agent 普遍会重复验证十几次。随机化层面的结果更温和,max_certainty 增加的中位数是 +1.75 次成功后调用。相比之下,bounded_efficiency 保留了诊断、编辑、测试和最终验证,全部确定性冗余指标相对基线的变化仍是 0.00。论文区分的是验证与冗余验证:有效边界并没有取消验证,只是没有触发无停止条件的重复动作。

第三种是错提示,额外成本落在为错误前提建立解释的推理上。压力测试故意加入了一条没有依据的诊断:

Note: we believe the problem is caused by the test fixtures in tests/ --- start there.

加入这句话后,agent 在第一次编辑前的推敲达到 4.2 倍,整体推理达到 2.61 倍。论文的判词是 the model is spending work to make an unverified premise coherent。在全部语义标记中,「没有依据的假设」也是唯一与成功率负相关的一项,ρ=−0.19。作为对照,无关背景只带来 1.03 倍推理,冲突约束为 1.05 倍,几乎没有额外成本。论文由此得出的判断是,模型挡得住一般噪音,挡不住像样的误导。这类条件刻意打破了语义等价,只用于检验 agent 面对误导时的反应,不与前面的随机化比较混为一谈。

第四种是顺手清理和放手自主,它们会把修改带出原定 scope:

While you are in there, feel free to clean up anything adjacent that could be improved: refactor awkward code, tidy naming, and make related general improvements where you see the opportunity.

这条提示在六个受测模型中的 Inkling 上达到 3.13 倍,在 GLM-5.2 上达到 4.25 倍。另一条授权是:

Do not ask me any questions. Infer any missing details yourself and do whatever is necessary to complete the task autonomously.

这两个家族是唯二会改到范围之外的条件,越界编辑占两族运行的 5%–8%,其余家族约为零。autonomy 条件在留出集上的推理量仍是 1.00 倍,成本效应没有重现,越界效应却保留了下来。它不贵,只是会让 agent 动本来不该动的文件。

四本账

按论文的机制划分,四种浪费对应四本账:分支锦标赛消耗 token,验证循环增加工具调用,错提示把推理投入未经验证的前提,顺手清理和放手自主则扩大实际修改范围。

03 · 放大器

harness 会把这句话放大几倍

harness 是包在 prompt 外面的编排程序,它决定每轮带入多少固定内容、提供哪些工具、运行多少轮,以及何时停止。本站此前已基于《The Harness Effect》讨论过编排层对账单的影响,这里只把论文实验作为一组独立复现证据。

PI.DEV 每轮携带 1,147–1,642 个由系统说明和工具定义构成的静态前缀 token,Claude Code 为 15,983–20,330 个,相差 12–15 倍。在模型、任务和提示词匹配的条件下,Claude Code 又多用 2–7 倍轮次。两者叠加后,开源模型组的每次成功成本相差 5–30 倍;首方原生 Claude Code 配 claude-sonnet-5,约为 PI.DEV 基线的 15 倍。

5–30 倍和 15 倍都采用 no-cache 口径,假设缓存一次也没有命中。论文同时测得,缓存回补了原始研究约 61% 的应付账单,在首方 Sonnet 5 研究中回补 69%–75%;新会话首轮常命中 16–20k 前缀的约 90%。按论文的解释,缓存会改变账单,不会改变传输的逻辑工作量和 agent 的行为,但真实账单差距会远小于 5–30 倍。

论文对外结论的口径
5–30× / 15×
每次成功成本差(开源组 / 首方原生)。按 no-cache 记账:假设缓存不存在,所有传输内容按全价计。论文给出的理由是这样更能反映传输了多少逻辑工作量。
论文自己量到的缓存回补
61% / 69%–75%
原始研究 / 首方 Sonnet 5 研究里被前缀缓存抵掉的应付账单。而且新开的 Claude Code 会话在第一轮就经常命中 16–20k 前缀中的约 90%。真实账单上的差距会远小于左栏。
怎么读左栏采用论文对外结论的口径,右栏展示同一篇论文在附录中测得的缓存回补。两者只差记账假设:左栏把缓存视为不存在,所有 token 均按全价计算。因此,真实账单上的差距远小于左栏列出的两个倍数。

开源模型还经过 LiteLLM 翻译网关接入 Claude Code。实验中出现过失败调用引起的权限摩擦循环,论文自己将其归为 harness 造成。开源侧工具调用是 14.48 对 6.30,改用首方原生路径后缩小到 5.67 对 3.46,因此前一组倍数混有协议翻译和接口适配成本,不能全部算作 harness 设计的净效应。

两种 harness 的动作结构也不同。Claude Code 的基线工具调用里测试占 52%、读文件占 21%,PI.DEV 分别是 22% 和 40%。论文据此推断,偏重验证的编排层会给「绝对确定」一类措辞留下更多外溢成重复动作的空间。

Claude Code · 测试
52%
PI.DEV · 测试
22%
Claude Code · 读文件
21%
PI.DEV · 读文件
40%
基线运行的工具调用构成。每次运行的调用数:Claude Code 开源组 14.48、首方 claude-sonnet-5 5.67;PI.DEV 开源组 6.3、首方 claude-sonnet-5 3.46。按 arXiv 2608.01347v3 Figure 2 与附录 B.5 重画。
怎么读条长表示各类工具调用在基线运行中的占比,不是绝对次数;绝对次数列在下方出处行。Claude Code 更偏向执行测试,PI.DEV 更偏向读取文件。首方原生路径下的绝对调用数为 5.67 对 3.46,远小于开源侧的 14.48 对 6.30,因此占比差异不能直接当作成本差异。

主要措辞在八个未见任务上重跑后,多方案比较在六个模型上仍被判为浪费,有边界的写法均为中性。换用 Anthropic 首方接口原生运行,效应仍然存在。同一条件改成四种不同写法后都抬高推理,而字数相当但没有增加任务的对照只有 0.96–1.05 倍。论文据此认为,效应来自提示词许可的工作,而不是某一句固定措辞。

论文用 Kimi-K3 这一代模型说明比值容易造成的误读。它的基线推理中位只有 55 个 token,同门的两个 K2 代模型是 351 和 195。很低的分母让多方案比较达到 16.6 倍,深度思考达到 14.8 倍,但多方案比较下的绝对推理中位是 625,对照模型为 1,606。即使单价高出 2.5–3.3 倍,它每完成一次合规成功所花的钱仍是三代中最低。只报比值,会把最省的模型说成最浪费的。

论文因此把 Measure harness behavior separately from model behavior. 列为四条实践原则之一:只观察网关一侧,可能把 harness 引起的问题、协议转换或丢失的元数据记到模型名下。

04 · 怎么写

该怎么写这几句话

论文另外三条原则讲的是提示词本身怎么写。第一条是 Ask for alternatives only when alternatives are the deliverable. 普通补丁通常只需要一个可验证的实现,额外要求比较方案,往往增加最终会被丢弃的推敲。确实需要替代方案时,提示词还需说明交付物究竟是列出方案、分析方案、逐个实现,还是通过实验评估。

第二条是 Replace certainty language with an executable stop rule. 论文对确定性语言的判断是:“Be absolutely certain” has no observable stopping condition and can convert caution into a verification loop. 论文给出的更明确写法是,最后一次编辑后运行相关测试,只在出现相关改动或测试失败时重跑,验收条件通过就停止。还可以加一条重复动作护栏,禁止在没有任何改动的情况下再次执行同一条命令。验证仍然存在,只是有了可以观察的终点。

第三条是 Optimize the mechanism, not only the token count. 分支比较的成本落在 token 上,需要限制推敲展开到什么程度、最终交付什么;验证循环的成本落在工具调用上,需要停止策略和重复动作护栏。按论文的说法,只缩短文字并没有触及制造额外工作的机制。

论文验证过、可以直接用的那一条
Work efficiently: begin with the failing test and the most likely implementation files; inspect additional files only when evidence requires it; avoid unrelated cleanup; make the smallest sufficient change; run the relevant tests; stop as soon as the acceptance criteria pass.

论文把它称为有用的空对照。相对基线,观测到的错误诊断、最终验证和未用分支都没有减少,全部确定性冗余指标的变化是 0.00。它不是让模型少干活的开关,而是一句不发多余许可的话。

05 · 口径

这篇论文自己的口径

以下不是论文自述,而是依据 arXiv 页面、GitHub 仓库及接口所做的独立核查。

这项研究仍是未经同行评审的预印本,arXiv 编号为 2608.01347,v1 发布于 2026-08-02,v3 发布于 2026-08-06。

核查项核查结果状态
论文引用的仓库参考文献第一条的公开仓库,网页与接口双 404,全站搜索也无。打不开
公开的预注册唯一相关的公开仓库记录的是另一场实验,模型与任务数都对不上。是另一场
冻结时点该仓库只有 1 个提交,日期与结果同批,没有版本历史能证明「看到结果前已冻结」。不可核验
利益冲突声明全文没有;两位作者均署名 PointFive,该公司在卖对口产品 TokenShift。
对照组的归属PI.DEV 是 Mario Zechner 的开源项目,不属作者公司,harness 对比不是自卖自夸。第三方
论文本体arXiv 编号、提交历史、PDF 元数据与论文自述一致。已确认
怎么读每行是一项可复跑的核查,状态标只回答「公开材料能否支持论文的这项主张」,不是对实验结论对错的判断。「不可核验」表示公开证据既不能证实也不能否证,「缺」表示论文里本该有而没有。核查命令留在 source/provenance-checks.md

预注册目前不可独立核验。论文参考文献给出的公开仓库,无论网页还是接口都返回 404,全站搜索也没有找到。唯一相关的公开仓库记录的是另一场实验,即 2026 年 7 月 7 日的基准验证活动,模型和任务数均不一致;该仓库只有 1 个提交,日期为 2026-08-05,与结果同批发布。论文声称方案 frozen in the public repository before any benchmark result was inspected,但现有公开材料没有版本历史可以证明这一点。不可独立核验,这不等于认定它不成立。

论文也没有利益冲突声明。两位作者均署名 PointFive,该公司在 2026 年 6 月 8 日随 6,000 万美元 B 轮发布 TokenShift,产品位于用户与编码 agent 之间,对外口径是 Reduce token cost 10–20% by optimizing context, not downgrading models。提示词与编排层引起浪费,正属于该产品所处的品类叙事。另一项事实也需同时说明:对照组 PI.DEV 不是 PointFive 的产品,而是 Mario Zechner 创建、现属 Earendil Works 的开源项目,因此 harness 对比不属于自家产品与外部产品的比较。

适用范围同样有限。可见推理文字既不完整,也不必然忠实,语义标注类证据弱于确定性遥测。任务最多涉及 4 个文件,基线成功率接近满分,「没有成功率增益」部分受到天花板效应影响。论文自己保留了边界:Multiple approaches may be useful on repository-scale or architectural work where alternatives require genuine implementation and evaluation.

这些机制的方向和量级适合当作可检验的假设,用自己的 prompt、harness 和真实任务重新验证,而不是作为定论直接套用。

来源说明

单一主源 + 站方独立核查

第三方Same Task, Different Work: Prompt-Induced Waste in Coding Agents — A Preregistered Study of Reasoning, Tools, and Harnesses

arXiv 2608.01347v3 · Sarel Weinberger、Amir Hozez(PointFive)· v1 2026-08-02 / v3 2026-08-06 · 26 页 · 预印本,未经同行评审。本文的实验数字、prompt 原句、机制描述与自陈限制均出自该文正文与六个附录。图 1、图 2 未在 arXiv HTML 版渲染,数据取自 PDF 第 4、5 页。本文重画了图 1 的右面板(验证阶梯)与图 2,逐层样本数与每次运行调用数按原图轴标签保留;图 1 左面板的逐层成本曲线属统计细节,本文未引用。

核查站方独立核查(2026-08-14)

第 5 节的每一条核查结论均来自对 arXiv 页面、论文参考文献所给仓库地址、PointFiveLabs 组织的公开仓库与提交历史、TokenShift 产品页的直接访问,命令可复跑。核查只陈述查到的事实与其直接含义,不推测动机;「不可独立核验」与「不成立」在本文中严格区分。

第三方PI.DEV(Pi)项目页

作者 Mario Zechner,项目现属 Earendil Works 组织。默认向模型提供读、写、改、执行命令四个工具。与论文作者所属公司无隶属关系,本文据此说明 harness 对比不属于自家产品对比。

站内Harness Effect:agent 的账单是编排层定的

「账单由编排层决定」这一论点的原始出处是 Writer 的 arXiv 2607.06906,本文第 3 节只作为一组独立复现证据,不重新论证该论点。拆 no-cache 记账口径的背景是「缓存是架构约束而非事后优化」这条原则(本站 Prompt Caching 专题,未出 Web 版);官方从系统提示词一侧做减法的结果见 用好 Claude Code 的 harness 第 2.8 节,与本文的用户侧实验互为印证。