多Agent系统最容易制造一种错觉:

Agent越多,任务完成得越快。

于是一个Agent分析需求,一个Agent修改后端,一个Agent处理前端,还有Agent负责编写测试、审查代码和更新文档。

任务确实同时开始了,但运行一段时间后,新的问题会出现:

  • 谁已经完成了什么?

  • 哪些结论只是推测?

  • 哪个任务正在等待上游结果?

  • 两个Agent为什么修改了同一份代码?

  • 任务中断后应该从哪里继续?

  • 最终由谁判断整个需求已经完成?

真正的问题不是Agent数量不够,而是系统缺少一份持续记录目标、状态、证据和责任的任务账本

一、聊天记录为什么不能代替任务状态?

很多Agent工作流把聊天记录当作任务记录。

开发者认为,只要对话还在,Agent就能知道之前发生了什么。

但聊天记录本质上是按照时间排列的信息流,其中混合了:

  • 用户需求;

  • Agent的分析;

  • 工具调用结果;

  • 测试日志;

  • 错误信息;

  • 被放弃的方案;

  • 临时讨论;

  • 最终结论。

随着任务持续运行,真正重要的状态会被大量过程信息淹没。

Codex为了支持长时间任务,会在上下文过长时对历史内容进行压缩,用较小的内容表示之前发生的过程。压缩可以让任务继续,但它也说明:会话上下文并不适合充当永久、精确的项目状态库。

聊天记录回答的是:

我们之前讨论过什么?

任务账本回答的是:

当前目标是什么,已经完成什么,下一步由谁做?

两者不是同一种信息。

二、多Agent为什么会放大状态混乱?

单Agent任务即使状态不清,开发者通常还能通过当前Diff和最近几轮对话大致判断进度。

多Agent协作时,每个Agent都拥有自己的上下文、工具调用和执行路径。一个Agent可能认为接口已经确定,另一个Agent却仍在按照旧结构编写测试。

如果系统没有统一状态,常见结果包括:

  • 重复分析相同问题;

  • 同时修改同一个模块;

  • 使用不同版本的需求;

  • 下游任务提前开始;

  • 已失败任务被误认为仍在运行;

  • 一个Agent的临时假设被另一个Agent当成最终结论。

OpenAI公开的Symphony实践没有把多个Agent简单放进多个聊天窗口,而是把项目管理看板作为控制平面。每个任务拥有明确状态,系统持续观察开放任务、重新启动卡住的Agent,并根据依赖关系决定哪些任务可以开始。

这背后的关键不是看板本身,而是:

Agent共享的不是一段聊天历史,而是一套结构化任务状态。

三、任务账本至少应该记录什么?

任务账本不需要把所有过程原样保存。

它至少应该包含六类信息。

任务目标

当前任务到底要解决什么问题,明确不处理什么。

当前状态

任务处于待处理、分析中、执行中、等待验证、阻塞、失败还是已完成。

责任归属

哪个Agent负责实现,哪个Agent负责验证,哪个节点需要人工判断。

依赖关系

当前任务需要等待哪个接口、分支、测试或审批结果。

执行证据

修改了哪些文件,运行了哪些命令,哪些测试已经通过。

剩余风险

哪些结论还没有确认,哪些步骤失败,哪些内容需要人工处理。

一条简单任务记录可以写成:

**目标:**修复订单重复提交。
**状态:**等待验证。
**负责人:**Backend Agent。
**依赖:**等待测试Agent完成并发测试。
**已完成:**增加幂等校验,修改两个文件。
**证据:**单元测试通过,集成测试尚未运行。
**风险:**旧客户端重试逻辑仍需确认。

这种记录远比“任务差不多完成了”更容易继续执行和审查。

四、任务、会话和Pull Request必须分开

很多团队会把一个Codex会话等同于一个任务,再把一个任务等同于一个Pull Request。

这种关系在简单修改中成立,但在大型Agent工作流中很快会失效。

一个业务任务可能经历多次Agent会话,也可能生成多个仓库中的多个Pull Request;另一些任务只进行调查和方案设计,根本不会修改代码。

Symphony明确把任务与Agent会话、Pull Request分离。任务是需要完成的工作单位,会话只是其中一次执行过程,Pull Request则只是可能产生的交付物。

因此,任务账本应该围绕“工作目标”组织,而不是围绕聊天窗口组织。

更合理的关系是:

一个任务
→ 多次Agent执行
→ 若干中间结果
→ 一个或多个交付物
→ 最终验收状态

这样即使某个Agent会话中断,任务本身也不会丢失。

五、任务账本怎样支持Agent交接?

多Agent系统里最容易丢失信息的地方,是任务交接。

一个分析Agent完成调用链调查后,把任务交给实现Agent。如果它只回复一句“问题出在缓存”,实现Agent仍然需要重新阅读大量代码。

有效交接应该包含:

  • 已确认的事实;

  • 尚未确认的推测;

  • 相关文件和代码位置;

  • 已尝试但失败的方案;

  • 下一步建议;

  • 当前权限和限制。

OpenAI Agents SDK支持Agent之间的handoff、sessions、tracing以及可恢复的审批流程。这些能力的共同目标,就是让控制权发生变化时,任务状态和执行轨迹仍然可以被继续使用。

交接不是把全部聊天复制给下一个Agent,而是生成一份可执行摘要:

我确认了什么?
我做过什么?
你接下来应该做什么?
哪些事情不要重新做?

没有这一步,多Agent只是把重复劳动分配给更多模型。

六、失败恢复为什么必须依赖任务账本?

Agent执行失败并不可怕。

真正危险的是失败后不知道任务处于什么状态。

例如Agent运行到一半后崩溃,开发者需要判断:

  • 修改是否已经写入文件;

  • 测试是否运行过;

  • 当前分支是否可以继续使用;

  • 重新启动会不会重复修改;

  • 是否应该回滚到上一个检查点。

长时间Codex任务通常会跨越多个步骤甚至多次执行。OpenAI关于长周期任务的实践强调持续保存进度、管理复杂工作流,并让工作能够跨越单次提示继续推进。

因此,每完成一个关键阶段,都应该更新任务账本:

需求已确认
→ 接口已确定
→ 实现已完成
→ 测试已运行
→ 审查待处理
→ 人工已批准

这相当于给任务建立检查点。

Agent失败后,不需要重新理解全部历史,只需要从最近一个可信状态继续。

七、任务账本还必须记录“为什么”

如果账本只记录“完成”或“失败”,它仍然不够。

工程系统真正需要的是决策依据。

例如:

已完成:修改认证逻辑。

这条记录价值很低。

更有价值的写法是:

已完成:在服务端增加Token过期检查。
原因:现有客户端检查可以被绕过。
验证:认证单元测试和接口测试通过。
未验证:旧版本客户端兼容性。
决策:等待人工确认后合并。

OpenAI Agents平台提供Tracing与Observability能力,用于查看Agent执行路径、工具调用和handoff过程,并据此调试和优化工作流。

这说明Agent系统的可信度不仅来自最终答案,还来自过程是否能够被追踪。

任务账本不是流水账,而是一条简化后的决策证据链。

八、谁负责维护任务账本?

任务账本不能完全依赖人工填写,否则Agent越多,人工维护成本越高。

更合理的分工是:

Agent自动记录

  • 当前执行步骤;

  • 修改文件;

  • 工具调用;

  • 测试结果;

  • 错误与重试;

  • 阻塞原因。

主Agent整理

  • 汇总子Agent结果;

  • 更新任务整体状态;

  • 判断依赖是否解除;

  • 生成交付报告。

人类确认

  • 修改真实目标;

  • 处理需求冲突;

  • 批准高风险操作;

  • 判断任务是否正式完成。

人类不需要记录每一条命令,但必须控制状态变化中的关键节点。

例如Agent可以自动把任务从“实现中”改为“等待审查”,但不能在涉及权限、支付或生产部署时,擅自把任务标记为“已交付”。

九、任务账本会成为Agent系统的基础设施

当团队只有一个Agent时,任务账本看起来像额外负担。

当Agent数量增加、任务执行时间延长、工作跨越多个仓库和设备后,它会变成必需品。

Codex应用正在支持开发者跨项目管理多个长期任务;OpenAI也把项目看板、共享工作空间和Agent编排视为管理持续工作的重要入口。

未来Agent平台之间的差异,不只在于模型能力,还在于:

  • 能不能保存真实任务状态;

  • 能不能恢复中断工作;

  • 能不能追踪Agent交接;

  • 能不能识别依赖和阻塞;

  • 能不能证明结果如何产生;

  • 能不能让人类在正确节点介入。

模型决定Agent能不能执行任务。

任务账本决定多个Agent能不能围绕同一个目标持续协作。

结语

多Agent系统最危险的误区,是认为只要每个Agent都足够聪明,协作就会自然发生。

事实上,Agent越多,状态、依赖、责任和交接问题越严重。

一个可靠的多Agent工作流应该形成这样的闭环:

创建任务
→ 明确目标
→ 分配Agent
→ 记录执行状态
→ 保存验证证据
→ 处理失败与交接
→ 人工确认交付
→ 关闭任务

聊天记录保存讨论过程,代码仓库保存修改结果,任务账本保存整个工作的真实状态。

没有任务账本,多Agent只是同时运行的多个对话。

有了任务账本,Agent才可能从临时助手变成能够持续协作、可以恢复、可以审计的工程执行系统。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐