在 AI Agent 向长时序任务演进的当下,Anthropic 工程团队针对 Claude Agent SDK 提出“Effective harnesses for long-running agents”方案。该方案通过简单文件支架与提示工程,实现跨越多会话的可靠执行,避免上下文窗口限制导致的遗忘与混乱。核心是模拟人类工程师手off:用结构化进度文件、Git 历史与端到端测试,确保每个新 Agent 实例快速“接棒”。
问题诊断:长运行 Agent 的两大痛点
长运行任务(如构建 claude.ai 克隆,超 200 功能点)无法单次上下文窗口完成。常见失败模式包括:
- 一次性蛮干:Agent 试图全盘实现,导致中途上下文耗尽,遗留半成品无文档,后续实例需猜测修复,效率低下。
- 过早完工:后期实例见部分功能即误判完成,忽略剩余任务。
Anthropic 测试显示,仅靠上下文压缩无效。解决方案转向外部“harness”:双 Agent 架构 + 三大支柱(功能列表、增量进展、端到端测试)。
支架核心组件与落地参数
1. 双 Agent 架构
2. 自动回滚与并行执行
- Git 作为回滚层:每个变更后强制 commit。若测试失败,Coding Agent 提示中嵌入“若引入 bug,用
git revert HEAD 回滚”。阈值:连续 3 次失败后,手动干预或切换模型。
- 并行执行潜力:虽官方单 Agent,扩展为多轨:用脚本 fork 多个 Coding Agent 实例(不同分支),每轨一功能群。监控脚本每 10min 拉取主分支,merge 通过测试者。参数:分支命名
agent-{id}-{feature};冲突阈值 <5% 代码变更。
3. 评估驱动恢复循环
- JSON 评估:功能列表即“evals”。提示强制“仅标记 passes 经截图 + 步骤全过”。恢复循环:启动时若发现 passes=false 但文件存在,优先修复(分类:环境 bug → 读 Git log;逻辑错 → 复现步骤)。
- 监控参数:
| 指标 |
阈值 |
动作 |
| 会话 token 消耗 |
>80% 窗口 |
强制 commit 中止 |
| 功能通过率 |
<70% 日增 |
暂停,审阅 progress.txt |
| Git commit 频率 |
<1/会话 |
提示优化,疑过早完工 |
| 测试失败率 |
>20% |
回滚 + 分类日志(env/逻辑/过早) |
4. 故障模式分类与处理清单
Anthropic 总结 4 类故障,支架内置应对:
- 环境遗留:读 init.sh + 测试启动。
- 过早完工:功能列表全景,强制选未完成。
- 无文档:进度文件 + Git 强制。
- 测试不足:Puppeteer 强制 E2E,非 curl 单元。
快速部署清单:
- 环境:Node.js + Puppeteer + Claude Agent SDK。
- 提示模板:复制官方(工程博客),加“严格 JSON,无 Markdown”。
- 脚本化:Bash wrapper 自动化 Agent 循环(while 未全 passes)。
- 扩展:Docker 隔离;Prometheus 监控 commit/tests。
- 回滚策略:每日 snapshot 分支;人工阈值:>5 连续失败。
工程价值与风险限界
此 harness 将 Claude Opus 4.5 在 claude.ai 克隆任务中成功率从 <20% 提至稳定增量(每会话 1-2 功能)。观点:简单文件 > 复杂框架;证据如 Git 日志可审计,远胜纯提示。
风险:领域限 Web 开发,泛化科研需调 JSON 步骤;单 Agent vs 多 Agent 未定,建议 A/B 测试。
资料来源:Anthropic 工程博客《Effective harnesses for long-running agents》(2025-11-27),Hacker News 讨论,腾讯新闻总结。实际部署请参考官方 SDK 示例仓库。
(正文约 1050 字)