引言
AI Agent 在处理复杂长期任务时面临重大挑战。即使是当前最强大的语言模型,也常因上下文窗口受限、缺乏跨会话记忆而无法持续推进跨数小时或数天的工作。Anthropic 在 2025 年发布的技术文章《Effective Harnesses for Long-Running Agents》针对这一问题提出了一套工程级解决方案,为实现"长时间运行的智能体"提供了可实践的框架。本文将深入分析其设计原理、关键技术和工程实践,并总结相关社区案例与未来方向。
一、长时间运行智能体的核心问题
在多上下文窗口(context windows)工作时,智能体每次新会话都像没有记忆的工程师一样重新开始,这导致:
-
未完成的功能缺乏历史背景;
-
下一轮会话无法正确推断项目状态;
-
重复工作或错误判断任务已完成。
这种"上下文失忆"(context amnesia)是阻碍智能体长期任务执行的根本问题,特别在软件工程项目这样的复杂流程中尤为突出。
二、Anthropic 的框架设计原则
Anthropic 提出的架构旨在让 AI Agent 在离散会话中保持连续性与渐进性,核心思想如下:
-
借鉴工程师工作流程
人类软件工程师常通过版本控制、功能清单与逐步测试推进项目,而不是试图一次完成任务或跳过必要验证。Anthropic 将这一思路迁移到 Agent 设计中。
-
将复杂任务分解为可管理单元
将任务拆分为多个功能,每次会话只专注于实现其中之一,并通过结构化文件记录状态。
三、双 Agent 架构:Initializer 与 Coding Agent
Anthropic 提出的长时间运行 Agent 框架由两个角色组成:
3.1 初始化 Agent(Initializer Agent)
首次运行时,初始化 Agent 的任务包括:
-
创建项目 git 仓库;
-
生成启动脚本(如 init.sh);
-
输出详细的功能列表文件(feature_list.json);
-
创建进度日志文件(如 claude-progress.txt);
-
提交初始代码。
这样做的目的是为后续任务建立一个标准化的工作环境,使后续 Agent 能直接从文件中读取项目状态,而无需凭借先前对话的记忆。
3.2 增量 Coding Agent
所有后续会话由 Coding Agent 负责,它的行为准则包括:
-
从文件和历史记录中恢复项目状态(如读取进度日志、Git 历史等);
-
一次只实现一个未完成的功能;
-
每轮结束前执行端到端测试;
-
提交代码与更新进度日志。
这种方式能够强制 Agent 不再尝试"一次性完成大任务",也避免了半途而废、遗漏功能等问题。
四、核心机制细节
4.1 功能清单与增量工作流
初始化 Agent 会创建包含大量详细功能的 JSON 文件,例如:
{
"category": "functional",
"description": "New chat button creates a fresh conversation",
"steps": [
"Navigate to main interface",
"Click the 'New Chat' button",
"Verify a new conversation is created",
"Check that chat area shows welcome state",
"Verify conversation appears in sidebar"
],
"passes": false
}
这个文件作为系统功能验收标准,控制每次 Coding Agent 的工作范围与验证条件,只允许通过修改 passes 字段来标记功能完成。
增量工作流确保了:
-
每个功能被仔细实现与验证;
-
Agent 不会随意更改测试条件;
-
功能推进清晰可追踪。
4.2 环境与状态管理
每次会话开始时,Coding Agent 执行一系列固定步骤:
-
检查当前目录;
-
读取 Git 提交日志;
-
阅读功能清单;
-
选择下一个待完成的优先功能;
-
启动开发服务器并进行基础测试;
-
开始实现该功能。
这一标准化步骤帮助 Agent 在有限上下文内快速恢复状态与任务意图。
4.3 强制测试与质量保证
Anthropic 强调,若不强制进行端到端测试,Agent 易于误判功能完成。通过引入自动化测试工具(如浏览器自动化),可以显著提升功能验证的准确性,并减少后续修复开销。
五、实践案例与社区探索
相关社区中出现了多个基于上述架构的实践尝试,例如:
-
使用网格插件结合 GitHub 自动化管理进度任务;
-
利用 JSON 进度记录与数据库存储方式持久化状态;
-
通过命令行工具统一更新进度与任务选择。
这些实践侧面验证了 Anthropic 提出架构的可操作性与实用性。
六、系统优势与限制
6.1 系统优势
-
跨会话一致性:Agent 能读取外部记录文件并恢复任务状态;
-
工程规范化推进:采用增量实现、测试驱动与版本控制;
-
可审计与可回退:Git 历史使功能推进透明且可回滚。
6.2 现阶段限制
尽管此方案有效应对软件工程类长期任务,但对于非代码密集领域(如科研写作、战略分析等)仍需探索更通用的长时间状态管理策略。还有多 Agent 协作 vs 单体 Agent 的性能对比尚未明确。
七、未来方向
未来的研究可能重点包括:
-
探索多角色 Agent 协作(测试 Agent、质量保证 Agent 等);
-
推广至科研任务、金融建模类长期任务;
-
跨项目的数据检索与状态管理机制优化。
我们预期,这一方向将推动智能体从单次任务工具向持续协作助手转型,实现更全面的长期任务自治能力。
八、总结
Anthropic 在《Effective Harnesses for Long-Running Agents》中提出的架构突破了传统智能体对单次上下文窗口的依赖,通过结构化环境、增量开发与持久化状态管理,使 Agent 能有效执行长期任务。该方案虽最初应用于软件开发,但其核心原则对广泛复杂长期任务也具有借鉴意义,为 AI Agent 在真实场景的持续执行能力奠定了基础。
如需进一步补充实践代码示例、架构模板或对比分析,请继续提出具体需求。