背景:为什么长时智能体难以成功?
随着大模型能力提升,越来越多团队希望让 AI 承担跨越数小时甚至数天的任务,例如:
- 构建完整 Web 应用
- 持续调试系统
- 多轮研究与分析
- 长期自动化工程任务
但现实是:只要任务跨越多个上下文窗口,智能体就会出现遗忘、混乱、重复劳动甚至自我误导。
典型失败包括:
- 一次性做太多(One-shot) → 上下文爆炸、代码半成品
- 过早宣布完成 → 忽略大量未完成功能
这些问题本质上来自:
模型无法在跨会话的长期任务中保持稳定、可追踪的进展。
Anthropic 是如何解决这个问题的?
Anthropic 提出了一套非常工程化的解决方案:“初始化智能体 + 编码智能体”双智能体机制。
1. 初始化智能体(Initializer Agent)
- 生成完整功能列表(200+ 项)
- 创建 init.sh(启动环境)
- 创建 claude-progress.txt(进度日志)
- 初始化 git 仓库
它的目标是:为未来所有会话建立一个稳定、可重复的开发环境。
2.编码智能体(Coding Agent)
每次会话只做一件事:
- 选择一个未完成功能
- 实现它
- 测试它
- 写 git commit
- 更新进度文件
它的目标是:小步快跑、持续推进、永不破坏环境。
智能体每次会话都做了什么?
每次编码会话开始时,智能体会自动执行:
1.读取环境状态
- pwd 查看目录
- 阅读 git log
- 阅读 claude-progress.txt
- 阅读功能列表 JSON
2.启动项目
- 运行 init.sh
- 启动开发服务器
3.自检
- 使用 Puppeteer MCP 做端到端测试
- 确保环境干净、可运行
4.实现功能
- 选择一个未完成功能
- 编码、测试
- 写 git commit
- 更新进度文件
如果出现问题:
- 自动 git revert 回到稳定状态
关键:哪些机制最有效
1. 功能列表是最重要的锚点
它让模型:
- 不会一次性做太多
- 不会过早宣布完成
- 不会忘记任务范围
- 不会破坏结构化数据
JSON 格式尤其稳定。
2. 增量式开发比模型能力更重要
长时任务的关键不是“聪明”,而是:
- 小步快跑
- 稳定推进
- 保持环境干净
3. 端到端测试比单元测试更可靠
模型写单元测试容易漏掉关键问题。
但通过浏览器自动化测试:
- 能发现 UI 逻辑错误
- 能捕捉交互问题
- 能模拟真实用户行为
显著提升质量。
4. git 是智能体的“外部记忆”
git log + 进度文件让模型能:
- 快速理解当前状态
- 避免重复劳动
- 追踪历史决策
这是跨会话最可靠的“记忆机制”。
总结:如何让智能体真正持续工作?
Anthropic 的实验告诉我们:
长时智能体的关键不是更强的模型,而是更好的工程机制。
要让智能体在多轮会话中持续推进任务,需要:
✔ 初始化智能体:建立稳定环境
功能列表、脚本、进度文件、初始 git。
✔ 编码智能体:增量式推进
每次只做一个功能,保持环境干净。
✔ 强制端到端测试
确保功能真正可用。
✔ git + 进度文件作为外部记忆
让智能体能跨会话理解项目状态。