<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Agent 工作流 on Codexer</title><link>https://codexer.com/tags/agent-%E5%B7%A5%E4%BD%9C%E6%B5%81/</link><description>Recent content in Agent 工作流 on Codexer</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 23 Sep 2026 07:50:00 +0800</lastBuildDate><atom:link href="https://codexer.com/tags/agent-%E5%B7%A5%E4%BD%9C%E6%B5%81/index.xml" rel="self" type="application/rss+xml"/><item><title>先做对前两步：四阶段编码 Agent 工作流，以及它在 Codex CLI 里的落法</title><link>https://codexer.com/posts/2026-09-23-four-phase-coding-agent-workflow/</link><pubDate>Wed, 23 Sep 2026 07:50:00 +0800</pubDate><guid>https://codexer.com/posts/2026-09-23-four-phase-coding-agent-workflow/</guid><description>&lt;p&gt;你一定见过这个场景。规划阶段里，某个人对架构做了一条看起来无关紧要的假设。实现阶段，Agent 忠实地沿着这条假设往前走了几个小时。你在中途或者最后发现了问题，让它改。它给你回来一个补丁，叠在原来的结构上。&lt;/p&gt;
&lt;p&gt;结果是代码里同时躺着原来的错误和后来的修正，逻辑重复，归属模糊。你评估这个 diff 花费的时间，比重新写一遍还长。&lt;/p&gt;
&lt;p&gt;大多数人对这个场景的归因是：模型不够强，换一个就好了。Infobip 的 AI 研究团队在 CIKM &amp;lsquo;26 上发表的论文（arXiv:2608.30701）直接挑战了这个假设。他们的原话是：非平凡任务上的效果，取决于实践者如何配置 Agent 的运行环境与协作方式，而不是取决于基础模型的选择。&lt;/p&gt;
&lt;p&gt;这句话值得停下来读两遍。我们花了两年时间在模型排行榜上追逐几个百分点的差距，而论文说真正的变量在别处。&lt;/p&gt;
&lt;h2 id="一上游错误会复利下游补丁只会堆积"&gt;一、上游错误会复利，下游补丁只会堆积&lt;/h2&gt;
&lt;p&gt;论文里有一个关于错误传播的判断，和绝大多数团队的实际做法相反。&lt;/p&gt;
&lt;p&gt;研究阶段与规划阶段的错误，会跨阶段复利。而实现阶段生成的代码出了问题，你打的补丁带来的是臃肿和脆弱，不是干净的修复。&lt;/p&gt;
&lt;p&gt;这两件事的性质不同。研究阶段的一个错误事实，会变成规划阶段的一个错误前提，再变成任务定义里的一段错误验收标准，最后变成整个模块的错误结构。四个阶段跑完，错误已经被固化进了骨架。&lt;/p&gt;
&lt;p&gt;而实现阶段的错误，至少在结构层面是局部的，你能看见它在哪里。&lt;/p&gt;
&lt;p&gt;所以论文给出的答案不是「更仔细地 review 实现」，而是把人力投入到研究与规划上，投入到一个足以让实现环节几乎不需要人工介入的强度。&lt;/p&gt;
&lt;p&gt;这就是所谓的前置加载（front-load）。真正被前置的不是工作量，是判断力。&lt;/p&gt;
&lt;h2 id="二四个阶段以及每一步的-codex-cli-对应物"&gt;二、四个阶段，以及每一步的 Codex CLI 对应物&lt;/h2&gt;
&lt;p&gt;论文描述的流程分四步，人力参与程度逐级下降，产物则逐级固化。&lt;/p&gt;
&lt;h3 id="阶段一研究只读必须有验证门"&gt;阶段一：研究，只读，必须有验证门&lt;/h3&gt;
&lt;p&gt;实践者和 Agent 一起探索问题空间，但访问权限被限制在只读操作上：检索代码库、拉取文档、调用领域工具。不写文件，不改环境。&lt;/p&gt;
&lt;p&gt;关键约束在最后一条：所有发现都要经过实践者验证，才能进入下一步。产物是一份经过整理的调研文档，不是一段对话记录。&lt;/p&gt;
&lt;p&gt;在 Codex CLI 里，这一步靠沙箱和审批策略来强制。你可以用 &lt;code&gt;--approval-policy on-failure&lt;/code&gt; 起一个研究会话，更稳的做法是给它一个专门的 profile，把可写根目录设为空：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# ~/.codex/config.toml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[&lt;span style="color:#a6e22e"&gt;profiles&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;research&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;model&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;gpt-5.6-sol&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[&lt;span style="color:#a6e22e"&gt;profiles&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;research&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;sandbox&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;writable_roots&lt;/span&gt; = [] &lt;span style="color:#75715e"&gt;# 不允许任何文件系统写入&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;network&lt;/span&gt; = &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 允许检索文档&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;会话结束时把调研结论导出成文件。文件取代对话，成为持久的产物。对话本身是可以丢掉的。&lt;/p&gt;
&lt;h3 id="阶段二规划迭代讨论手工归档"&gt;阶段二：规划，迭代讨论，手工归档&lt;/h3&gt;
&lt;p&gt;拿调研文档作为输入，实践者和 Agent 通过多轮讨论确定方案。&lt;/p&gt;
&lt;p&gt;这里论文有一个明确的反对意见，反而和很多人的直觉相悖：这个阶段不要使用专门的「规划模式」，它会导致过早定稿，方案还没被真正理解就被锁死了。&lt;/p&gt;
&lt;p&gt;在 Codex CLI 上对应的是：让模型保持在默认模式，把调研文档作为上下文带进来，一轮一轮讨论设计，然后由人手工把结论整理成规划产物。论文特别提醒，不要让模型替你总结规划会话，它会把你推理过程中的分支和权衡全部压平。&lt;/p&gt;
&lt;p&gt;也就是说，规划产物里应该包含架构决策记录，包括「为什么否决了另外两个方案」，而不只是「最终定了什么」。&lt;/p&gt;
&lt;h3 id="阶段三任务定义机器可读按会话大小切分"&gt;阶段三：任务定义，机器可读，按会话大小切分&lt;/h3&gt;
&lt;p&gt;任务被定义为机器可读的单元，每张任务卡包含六个字段：稳定标识符、目标陈述、依赖关系、相关代码路径、验收标准、验证方法。&lt;/p&gt;
&lt;p&gt;最容易被忽略的是切分约束：每个任务必须能在一个全新的会话里完成。如果定义一个任务所需的前后文超过了 Agent 的有效工作区间，就把它再切开。&lt;/p&gt;</description></item></channel></rss>