深度综述: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 在真实场景的持续执行能力奠定了基础。

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

相关推荐
nancy_princess17 小时前
clip实验
人工智能·深度学习
飞哥数智坊17 小时前
TRAE Friends@济南第4次活动:100+极客集结,2小时极限编程燃爆全场!
人工智能
AI自动化工坊17 小时前
ProofShot实战:给AI编码助手添加可视化验证,提升前端开发效率3倍
人工智能·ai·开源·github
飞哥数智坊17 小时前
一场直播涨粉 2 万的背后!OpenClaw + 飞书,正在重塑软件交付的方式
人工智能
飞哥数智坊17 小时前
养虾记第3期:安装、调教、落地,这场沙龙我们全聊了
人工智能
再不会python就不礼貌了17 小时前
从工具到个人助理——AI Agent的原理、演进与安全风险
人工智能·安全·ai·大模型·transformer·ai编程
AI医影跨模态组学17 小时前
Radiother Oncol 空军军医大学西京医院等团队:基于纵向CT的亚区域放射组学列线图预测食管鳞状细胞癌根治性放化疗后局部无复发生存期
人工智能·深度学习·医学影像·影像组学
A尘埃18 小时前
神经网络的激活函数+损失函数
人工智能·深度学习·神经网络·激活函数
没有不重的名么18 小时前
Pytorch深度学习快速入门教程
人工智能·pytorch·深度学习
有为少年18 小时前
告别“唯语料论”:用合成抽象数据为大模型开智
人工智能·深度学习·神经网络·算法·机器学习·大模型·预训练