Anthropic 在工程博客发布文章,介绍如何为长时间运行、跨多轮上下文的 AI 代理设计更有效的 harness 结构。团队指出,现有代理在构建复杂项目时,常因上下文窗口有限而出现“做到一半断线重来”、误判任务已完成等现象,难以在多次会话中持续稳定推进。
为此,文章在 Claude Agent SDK 中提出“Initializer 代理 + Coding 代理”的两段式方案:首次运行由 Initializer 搭建环境,生成详细特性列表、初始化 git 仓库、创建进度日志和 init.sh 脚本;后续每次运行由 Coding 代理在阅读这些工件后,仅选择一个未完成特性,完成实现和自测,再提交代码并更新进度记录,将环境保持在可随时继续开发的“干净状态”。
作者认为,这种工程化约束显著缓解了长时代理的遗忘和漂移,使其行为更接近遵守流程的人类工程师,而非一次性补全工具。当前实验主要针对全栈 Web 应用开发,未来方向包括引入测试、质保、重构等专门代理,并将类似方法推广到科研、金融建模等其他长周期任务领域。
常见问题
Q:这篇“长时代理 harness”文章主要解决什么问题?
A:文章聚焦 AI 代理在多轮长任务中容易遗忘上下文、任务中途断档或过早宣告完成等问题,探索如何让代理在多次会话中持续稳定推进。
Q:Initializer 代理在方案中负责做什么?
A:它在首次运行时搭建基础环境,包括生成特性需求列表、创建 git 仓库和进度日志、编写 init.sh 等,为后续 Coding 代理提供清晰起点。
Q:Coding 代理与传统“自动写完整个项目”的做法有何不同?
A:Coding 代理每次只选一个特性实现,完成自测后提交代码并更新日志,强调小步快跑和环境清理,避免一次性改动过大导致混乱。
Q:这些实践是否只适用于 Web 应用开发?
A:目前示例针对全栈 Web 项目,但作者认为特性列表、进度文件和增量提交等思路,有望推广到科研、金融建模等其他长周期代理任务。