Initializer-Maintainer Dual Agent Architecture
Nikola Balic (@nibzard)· emerging
问题
长期运行的Agent项目在生命周期的不同阶段会面临独特的失效模式:
- 项目初始化阶段需要完成全面的搭建工作:环境配置、功能定义、测试基础设施以及进度跟踪系统
- 增量开发阶段需要读取历史context、选择下一项任务、实现功能并进行验证——该流程会在多个会话中重复执行
- 单Agent方案要么对每个会话过度设计(浪费搭建时间),要么在基础架构上投入不足(导致项目偏差与混乱)
- 会话边界会引发context丢失,导致Agent不得不从零开始重启,或是无法追踪项目状态
方案
实现一种职责按生命周期划分的双Agent架构:
1. 初始化器Agent(仅在项目启动时运行一次):
- 生成包含全部需求的完整功能清单
- 创建进度追踪工件(例如
progress.txt) - 配置环境引导脚本(例如
init.sh) - 配置测试基础设施
- 提交包含项目基础结构的首次git提交
2. 维护/编码Agent(在后续每次会话中运行):
- 执行会话引导流程:
- 验证工作目录(
pwd) - 读取git日志与进度文件
- 读取功能清单并选择下一个未完成的功能
- 运行引导脚本启动服务
- 在实现新功能前运行已有测试
- 验证工作目录(
- 每次仅开发一项功能
- 每项功能验证通过后提交代码
- 更新进度追踪工件
sequenceDiagram
participant Init as 初始化器Agent
participant FS as 文件系统
participant Coding as 编码Agent
participant Git as Git仓库
Note over Init: 仅在项目启动时运行一次
Init->>FS: 创建feature-list.json(含200+项功能,全部标记为"passes: false")
Init->>FS: 创建init.sh(环境引导脚本)
Init->>FS: 创建progress.txt(空日志文件)
Init->>Git: 提交包含基础结构的初始版本
Note over Coding: 在后续每一次会话中运行
loop 第N次会话
Coding->>Git: 读取git日志以获取context
Coding->>FS: 读取progress.txt
Coding->>FS: 读取feature-list.json
Coding->>Coding: 选择优先级最高的未完成功能
Coding->>FS: 运行init.sh(启动服务端)
Coding->>Coding: 运行端到端(E2E)测试(验证基线状态)
Coding->>Coding: 实现单个功能
Coding->>Coding: 验证功能测试通过
Coding->>FS: 更新progress.txt
Coding->>Git: 提交代码变更
end
如何使用
最适用于:
- 需要多轮会话完成的项目(Agent需工作数天/数周)
- 包含50个以上独立功能的复杂应用
- 会话间丢失context会造成重大损失的场景
- 将Agent用于持续开发而非一次性任务的团队
实现步骤:
-
设计Initializer prompt:聚焦全面的前置规划
- 包含详细验收标准的功能列表
- 环境搭建自动化
- 进度跟踪文件结构
-
设计Coding Agent prompt:聚焦增量式推进
- 会话启动流程(优先读取context)
- 单次聚焦单一功能
- 标记功能完成前必须执行测试
- 提交规范
-
定义交接工件:
project/
├── feature-list.json # 所有功能及其通过/未通过状态
├── progress.txt # 决策与工作的实时运行日志
├── init.sh # 一键启动环境的脚本
└── .git/ # 以描述性提交记录作为context
权衡
优点:
- 设置与执行环节的职责划分清晰
- 会话引导启动机制可避免context丢失
- 复刻了高效的人类团队协作实践(如轮班交接)
- 初始化器可为所有后续会话打造一致的基础
- Git历史记录与进度文件可为新会话提供丰富的context
缺点:
- 需要预先投入精力制定全面的功能规格说明
- 需维护两种不同的prompt/配置
- 初始化器必须预判Coding Agent的需求
- 不适用于探索性或研究导向型项目
- 对于小型单会话任务而言,其流程开销属于冗余浪费
参考文献
关键词:
围绕长期运行智能体的高效管控机制展开核心内容,关联基于文件系统的智能体状态存储、智能体状态主动外化两类技术方向的相关文档。
来源摘要
正在获取来源并生成中文摘要…
来源: https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents