长时间运行的 Agent:如何设计可靠的执行框架

原文:Effective harnesses for long-running agents | Anthropic Engineering Blog | 2025.11.26

导语

Agent 能力越来越强,开发者开始让它们承担需要持续数小时甚至数天的复杂任务。但一个核心问题摆在面前:

Agent 必须在离散的会话中工作,而每个新会话开始时,对之前发生的事情一无所知。

想象一个软件项目的工程师轮班工作,每个新工程师对上一班次发生的事情一无所知。这就是长时间运行 Agent 面临的困境。


一、两种典型的失败模式

失败模式 1:一次做太多

Agent 试图一次性完成整个应用程序,用完上下文窗口后,留给下一个会话一个功能实现了一半且没有文档的烂摊子

失败模式 2:过早宣布胜利

在已经构建了一些功能之后,后续的 Agent 实例四处查看,看到已有进展,就宣布工作完成了。


二、双 Agent 解决方案

初始化 Agent

第一个会话使用专门的提示,要求模型设置初始环境:

  • init.sh 脚本:可以运行开发服务器
  • claude-progress.txt:记录 Agent 所做的工作
  • feature_list.json:全面的功能需求文件
  • 初始 git 提交

编码 Agent

每个后续会话要求模型取得增量进展:

  1. 运行 pwd 确认工作目录
  2. 阅读 git 日志和进度文件
  3. 阅读功能列表,选择最高优先级的未完成功能
  4. 实现功能并测试
  5. 提交 git 并更新进度文件

三、关键设计要素

功能列表(Feature List)

初始化 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"
    ],
    "passes": false
}

使用 JSON 而非 Markdown,因为模型不太可能不当更改 JSON 文件。

增量进展

  • 一次只处理一个功能
  • 通过 git 提交记录进度
  • 在进度文件中写入摘要
  • 使用 git 恢复错误的代码更改

端到端测试

明确要求 Agent 像人类用户那样使用浏览器自动化工具进行测试。在构建 Web 应用时,使用 Puppeteer MCP 服务器进行端到端验证。


四、失败模式与解决方案对照表

问题 初始化 Agent 行为 编码 Agent 行为
过早宣布完成 设置功能列表 JSON 阅读功能列表,选择单个功能
环境有错误或缺文档 写 git 仓库和进度笔记 开始前阅读进度文件和 git 日志
过早标记功能完成 设置功能列表 仔细测试后才标记"通过"
花时间弄清如何运行 编写 init.sh 阅读 init.sh 后启动

五、核心洞察

关键见解是找到一种方法,让 Agent 在从新的上下文窗口开始时能够快速理解工作状态。

这通过 claude-progress.txt 文件和 git 历史记录来实现。这些做法的灵感来自于了解有效软件工程师每天所做的工作


六、未来方向

  • 单个通用编码 Agent vs 专门的多 Agent 架构(测试 Agent、QA Agent、代码清理 Agent)
  • 从 Web 应用开发推广到科学研究、金融建模等领域

读后感

这篇文章最有价值的洞察是:像管理一个工程师团队一样管理 Agent

功能列表、进度文件、git 提交------这些不是什么新发明,而是软件工程师每天都在用的工作方法。最好的 Agent 框架设计,就是把最好的人类工程实践编码化。

相关推荐
Zane199410 小时前
map 比推导式快"是真的吗?一文讲透 map、filter、reduce 与 lambda 的真实性能与设计取舍
后端·python
爱吃的小肥羊10 小时前
用时1.5天,Claude突破了黎曼猜想的新纪录
aigc·openai·ai编程
月弦笙音10 小时前
为什么程序员大多都拥抱 AI,而音乐人却抗拒并隔离 AI 音乐池?
ai编程
hust_wangyajun10 小时前
我用 Agent Reach 生成了 Claude Code 年度生态报告:一篇实战演练
ai·agent·claude code
过期的秋刀鱼!10 小时前
带替换的采样
人工智能·python·算法·决策树·机器学习
Python私教10 小时前
AI Agent 可观测性不只是日志:一套可回放的多步执行链
人工智能·后端·python
朦胧之10 小时前
AI 开发
ai编程
Python私教10 小时前
模型越强越不需要 Skills?我把 AI 编程能力拆成 4 层
人工智能·后端·python
倾听醉梦语10 小时前
React/Vite/Next.js 前端开发工具 SpotPatch:点击页面元素精准定位 JSX/TSX 源码
javascript·react·ai编程·vite·next.js·前端开发工具
databook10 小时前
如何快速构建一个数据科学应用?从零到上线
python·机器学习·scikit-learn