AI 简明手册
Agent 工程:从能跑到可控 · 让任务跨轮次继续先搭环境,再小步交付:双角色 Agent

先搭环境,再小步交付:双角色 Agent

定义

Initializer + Coding Agent 是一种双角色 Harness 设计:初始化 Agent 只跑第一轮,负责搭建环境、制定计划、创建进度文件并做首次提交;编码 Agent 每轮都跑,读进度文件了解状态,一次只实现一个功能,完成后更新进度并提交。这种设计解决了长任务中的交接问题。

先搭一个心智模型

Initializer 像开工前搭脚手架的人:准备环境、写清验收方式;Coding Agent 像逐段施工的人:每次只完成一块并留下可测试结果。

说明

Initializer Agent 负责从零到有:创建初始化脚本、写进度文件、把用户高级提示展开为详细功能清单、做第一次 git commit。编码 Agent 负责从有到多:读进度文件了解状态,一次只做一个功能,完成后更新进度文件并提交。

Anthropic 的长任务 Harness 示例选择 JSON 功能清单,并报告模型相较 Markdown 更少误改结构;这是该实现的经验,不是所有项目的通用定律。无论使用哪种格式,都应明确已有验收项不能被执行者自行删改。

“一次只做一个可验收单元”能让每轮结束时留下可合并状态、回滚点和更新后的进度。具体是否用 JSON、Markdown、Git 提交或浏览器端到端测试,要按项目和风险选择;关键是格式可验证、旧标准不能被 Agent 擅自降低。

跟着一个例子走

从空仓库开始实现一个功能

如果执行者一边猜环境、一边改业务代码,后续轮次很难分辨失败来自配置还是实现。

  1. 初始化阶段建立基线

    确认依赖、启动方式、测试命令和任务清单,必要时生成最小骨架。

  2. 编码阶段小步推进

    每轮领取一个可验收项,修改后运行相关测试并更新状态。

  3. 交接靠制品而不是记忆

    环境事实、测试结果和未完成项写入持久文件,下一轮可以复核。

回到概念

双角色不是为了增加 Agent 数量,而是把“建立可靠起点”和“增量交付”分成两个清楚责任。

边界与误区

  • 为什么官方示例用 JSON 而不是 Markdown: Anthropic 在这套长任务 Harness 的实践中观察到,结构化 JSON 更少被模型误改,因此用它跟踪功能状态。其他项目仍应按任务、工具链和实际评测选择格式。

  • 为什么必须一次只做一个功能: 一次一个功能保证每次完成后代码可合并,git commit 提供回滚点,进度文件让新 Agent 不用猜,上下文也不会溢出。

来源与核验

  1. [anthropic-long-running] Anthropic:Effective harnesses for long-running agents

核验日期:2026-08-31