二稿 Agent 模式:为什么“先探索再交付”优于“自我批判”
当单次尝试(single-pass)的智能体(agent)不再足够好时,默认做法是将其包装在一个自我批评循环(self-critique loop)中。生成、批评、修正、重复。我接触的大多数团队都假设评估(eval)的提升将与修订轮次呈大致线性关系,并止步于此。但数据往往并不如人愿。到第三轮自我批评时,准确率仅提高两三个百分点,而 Token 成本却增加了 3–4 倍,而且第一轮没发现的失败模式(failure modes),在第三轮通常也发现不了——因为产生错误答案的上下文,正是被要求找出错误的那一个。
另一种形式效果更好且成本更低:让第一轮作为“浪费式”的探索,将其丢弃,然后在干净的上下文中基于学到的经验运行第二轮。称之为“二稿模式”(second-draft pattern),或“先探索后提交”(explore-then-commit)。第一稿允许草率、走弯路、堆积草稿产物、追逐最后证明是错误的假设。第二稿是受限的——它获取提炼后的发现(distilled findings),并产出干净的执行。在那些倾向于使用自我批评的任务中(如多步推理、涉及多个文件的代码、研究综述),这种双轮形式在质量和成本上通常都优于 n 选 k 的自我批评。
一旦你见过这种模式,它看起来几乎显而易见,但正确运行它的操作纪律——哪些东西被保留,哪些被丢弃,第二轮允许做什么——才是大多数实现方案失败的地方。与单次尝试和自我批评相比的评估增量(eval delta),决定了你的特定任务是否值得投入二稿模式的预算。它不是免费的,也并不总是值得。
为什么自我批评令人失望
自我批评循环以一种可预测的方式失败。产生答案的模型正是那个被要求找错的模型。它的上下文窗口已经包含了导致该答案的思维框架(framing)。它的注意力锚定在相同的检索结果、相同的局部计划、相同的工具调用上。要求它批评自己的输出,就像要求一个人在写完文档二十分钟后进行校对——他们读到的是他们想写的内容,而不是页面上实际的内容。
在评估中,你会看到一条先平缓后崩塌的曲线。第一轮自我批评通常能发现明显的错误:遗漏的步骤、命错名的变量、不存在的引用。第二轮能抓住一些漏网之鱼。到第三轮时,模型大多在编造问题以证明修改的合理性,你的评估分数开始持平或下降。当然,成本曲线是单调递增的。
还有第二种失败模式,在综合评估分数中较难察觉,但在追踪级(trace-level)审查中却很明显。自我批评会加剧错误的框架。如果第一轮走错了解决路径,第二轮通常不会回溯到另一条路径,而是对错误的路径进行润色。输出变得更自信、更 清晰,但也更错误。模型可以修正答案的表面,但很少重新质疑它在几千个 Token 的推理中建立起来的前提。
带有受限上下文的干净第二轮避免了这两种失败模式。它不阅读自己的草案。它阅读第一轮发现和未发现内容的简短综合(synthesis),然后从零开始工作。锁定错误前提的推理过程在交接(handoff)中不会存续。
“先探索后提交”具体是什么样的
这两轮有不同的任务和不同的提示词(prompt)。将它们视为同一个智能体的两次对话是最常见的错误——这会退化回自我批评。
第一轮是探索。 它的任务是了解问题的轮廓。允许的行为:阅读比最终答案所需更多的文件,运行比最终引用所需更多的检索,尝试一个假设,放弃它,再尝试另一个。第一轮的评分标准是它的发现,而不是产出。它的输出不是最终答案的草案,而是一组精简的发现。
发现载荷(findings payload)是承重部件。 保持其简短且结构化:尝试了哪些方法,排除了哪些以及原因,哪些文件或来源被证明是相关的,在探索减少了不确定性后,问题的实际轮廓是什么。发现应该控制在几百个 Token 以内。如果你的第一轮产生了一个 4,000 Token 的发现文档,第二轮将继承其思维框架,模式又退回到了自我批评。
第二轮是执行。 它的提示词是原始任务加上发现载荷,不包含第一轮的其他任何内容。没有推理链,没有中间输出,没有检索到但被丢弃的代码片段。 第二轮拥有受限的范围和干净的上下文,这正是核心所在。它直接生成答案,发现载荷起到的作用类似于同事的站会更新:“这不是我的草稿,请修改”,而是“这是我了解到的问题情况,现在开始执行吧”。
交接格式至关重要。发现应该是机器可读的,足以强制其形状(这样第一轮就无法偷偷塞进完整的草案),同时又要易于人类阅读以便在出错时进行检查。预定义的章节——approaches_tried、dead_ends、relevant_artifacts、problem_shape——为第一轮提供了填充内容,而不是邀请它去写答案。带有空槽位的模式(schema)远好于自由格式的摘要提示。
能够告诉你何时值得投入预算的评估增量
二稿模式(second-draft pattern)的 Token 成本大约是单次运行的 1.5–2.5 倍,具体取决于第一轮探索的深度。这是否值得,不是一个凭感觉(vibes)就能回答的问题。在同一个评估集上运行三种变体,并观察曲线:
- 单次生成基准:一次生成,无批判。
- k 选 n 自我批判:生成、批判、修改,k 取值范围为 3。
- 探索-执行模式:第一轮产生调研发现,第二轮产生最终答案。
你需要寻找的诊断指标是,二稿模式的“单位 Token 质量”(quality-per-token)相对于其他模式所处的位置。在那些答案形式显而易见且出错成本较低的任务中 ,单次生成在成本调整后的质量上更具优势,二稿模式则显得大材小用。而在探索能显著降低不确定性的任务中——如多文件重构、根因与症状不在同一处的调试、跨多源的研究综述——探索-执行模式展现出的质量提升是自我批判无法企及的,且其 Token 成本与 2 选 n 或 3 选 n 相当甚至更低。
有趣的情况出现在中间地带,此时评估增量很小,成本约束变得至关重要。注意以下信号:
- 单次生成基准在多次运行中表现出高方差(这表明模型正在寻找不同的初始构思,而探索可以使其收敛)。
- 自我批判的效果迅速趋于平缓(这表明“同上下文问题”占主导地位)。
- 对自我批判运行的链路级审视显示,模型是在修饰错误答案的表面,而不是进行回溯(这暗示了“构思锁定”故障模式)。
- https://arxiv.org/html/2602.08199
- https://arxiv.org/html/2604.13151v1
- https://dilipa.github.io/papers/iclr26_psrl_llms.pdf
- https://arxiv.org/html/2509.22601v1
- https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents
- https://www.langchain.com/blog/planning-agents
- https://arxiv.org/abs/2509.08646
- https://www.mindstudio.ai/blog/claude-code-ultra-plan-multi-agent-architecture
