当前位置: 首页 > news >正文

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

长时间运行的 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 框架设计,就是把最好的人类工程实践编码化。


本文是 Anthropic AI Agent 系列 第 9 篇,共 15 篇。下一篇:多 Agent 协作系统:Anthropic 的实战经验

关注公众号 coft 获取系列更新。

http://www.jsqmd.com/news/395951/

相关文章:

  • 综述不会写?千笔·专业学术智能体,继续教育写作标杆
  • 英文论文也能降AI率?海外留学生AIGC检测应对方案
  • AI开发-python-milvus向量数据库(2-8 -milvus-数据插入collection)
  • 盒马鲜生礼品卡可以回收吗?详细流程与重要注意事项 - 团团收购物卡回收
  • 2026年比较好的隔音泡棉/导电泡棉生产商推荐怎么选(可靠) - 品牌宣传支持者
  • 多 Agent 协作系统:Anthropic 的实战经验
  • SenseVoice Small部署教程:NVIDIA Container Toolkit集成配置指南
  • 2026年知名的职业生涯规划评估系统/职业生涯规划设备热门推荐 - 品牌宣传支持者
  • MCP 代码执行:构建更高效的 Agent
  • OFA图像语义蕴含模型部署教程:GPU利用率监控与batch size调优指南
  • ERNIE-4.5-0.3B-PT部署避坑:解决‘model not found’、‘out of memory’高频问题
  • 如何设计一个支持地理空间查询(Geo-spatial Query)的数据库索引?
  • 小白必看:Pi0机器人控制中心快速部署指南
  • 阿里开源图片旋转判断:快速解决图片角度问题
  • 2026年知名的柜内香氛五金/家用香氛五金工厂采购指南如何选(实用) - 品牌宣传支持者
  • Python 配置管理的哲学、范式与现代实践:超越 config.ini
  • 深度学习项目训练环境:一键安装与模型训练指南
  • MySQL性能优化:慢查询分析与SQL调优实战
  • 阿里小云KWS模型的多唤醒词识别技术实践
  • 文墨共鸣惊艳效果:朱砂印从‘云泥之别’到‘异曲同工’的渐变视觉动效
  • HY-Motion 1.0动作数据增强算法解析
  • JVM内存模型:深入理解堆内存与元空间
  • 分布式系统CAP理论与BASE理论详解
  • 2026年口碑好的高速贴标机/在线打印贴标机供应商采购指南选哪家 - 品牌宣传支持者
  • 夜红外图像无人机检测数据集VOC+YOLO格式1963张1类别
  • 2026年热门的彩印包装展示箱/彩印包装礼品箱哪家质量好厂家实力参考 - 品牌宣传支持者
  • 2026年质量好的医用护理床/家庭护理床品牌厂家推荐哪家强 - 品牌宣传支持者
  • 快速体验:Qwen3-ASR-0.6B语音识别效果展示
  • Banana Vision Studio快速体验:无需专业技能的设计工具
  • 5分钟搭建LLM API管理平台:支持ChatGLM/文心一言等主流模型