深度综述:Effective Harnesses for Long-Running Agents

引言

AI Agent 在处理复杂长期任务时面临重大挑战。即使是当前最强大的语言模型,也常因上下文窗口受限、缺乏跨会话记忆而无法持续推进跨数小时或数天的工作。Anthropic 在 2025 年发布的技术文章《Effective Harnesses for Long-Running Agents》针对这一问题提出了一套工程级解决方案,为实现"长时间运行的智能体"提供了可实践的框架。本文将深入分析其设计原理、关键技术和工程实践,并总结相关社区案例与未来方向。

一、长时间运行智能体的核心问题

在多上下文窗口(context windows)工作时,智能体每次新会话都像没有记忆的工程师一样重新开始,这导致:

  • 未完成的功能缺乏历史背景;

  • 下一轮会话无法正确推断项目状态;

  • 重复工作或错误判断任务已完成。

这种"上下文失忆"(context amnesia)是阻碍智能体长期任务执行的根本问题,特别在软件工程项目这样的复杂流程中尤为突出。

二、Anthropic 的框架设计原则

Anthropic 提出的架构旨在让 AI Agent 在离散会话中保持连续性与渐进性,核心思想如下:

  1. 借鉴工程师工作流程

    人类软件工程师常通过版本控制、功能清单与逐步测试推进项目,而不是试图一次完成任务或跳过必要验证。Anthropic 将这一思路迁移到 Agent 设计中。

  2. 将复杂任务分解为可管理单元

    将任务拆分为多个功能,每次会话只专注于实现其中之一,并通过结构化文件记录状态。

三、双 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 执行一系列固定步骤:

  1. 检查当前目录;

  2. 读取 Git 提交日志;

  3. 阅读功能清单;

  4. 选择下一个待完成的优先功能;

  5. 启动开发服务器并进行基础测试;

  6. 开始实现该功能。

这一标准化步骤帮助 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 在真实场景的持续执行能力奠定了基础。

如需进一步补充实践代码示例、架构模板或对比分析,请继续提出具体需求。

相关推荐
袁气满满~_~2 小时前
深度学习笔记四
人工智能·笔记·深度学习
乌萨奇5372 小时前
【2025考研复试】深度学习扩展知识:从ViT到多模态,以及简历项目挖掘策略(第11章复盘)
人工智能·深度学习·考研·计算机视觉·nlp·多模态
nimadan122 小时前
**免费专业的小说创作软件2025推荐,解锁高效写作新体验*
人工智能·python
七夜zippoe2 小时前
PyTorch深度革命:从自动微分到企业级应用
人工智能·pytorch·python
XLYcmy2 小时前
智能体大赛 技术架构 核心驱动层
人工智能·算法·机器学习·llm·prompt·agent·qwen
Lun3866buzha2 小时前
法兰盘表面缺陷识别与分类:基于YOLO13-C3k2-RFAConv的智能检测系统完整实现
人工智能·分类·数据挖掘
阿杰学AI2 小时前
AI核心知识106—大语言模型之 World Model Trainer(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·世界模型·世界模型训练师
这是个栗子2 小时前
AI辅助编程工具(七) - Cursor
人工智能·ai·cursor
Liue612312312 小时前
基于YOLO11-CARAFE的手指区域识别与标注分类方法研究
人工智能·分类·数据挖掘