# Anthropic: Effective Harnesses for Long-Running Agents

> 原文链接：https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
> 作者/来源：Anthropic
> 阅读日期：2026-04-02

## 一句话总结
Anthropic 提出了一种针对长时间运行 agent 的双 agent 架构（Initializer Agent + Coding Agent），通过结构化的进度跟踪、session 启动例程和端到端测试来解决跨 session 的上下文丢失问题。

## 核心论点
长时间运行的 agent 面临一个根本性挑战：**它们必须在离散的 session 中工作，而每个新 session 都缺乏对之前工作的记忆**。文章用"换班工程师"的比喻形象地描述了这一问题——新来的团队成员对之前的进展一无所知。

为解决这一问题，Anthropic 设计了一个双 agent 系统。**Initializer Agent** 负责首次 session 的基础设施搭建，包括创建 `init.sh` 脚本（用于启动开发环境）、`claude-progress.txt` 文件（记录 agent 活动）以及建立 git baseline。**Coding Agent** 则在后续 session 中专注于增量开发，维护系统整洁性并通过结构化更新和 commit 来保持进度。

文章的另一个核心发现是**测试工具的重要性**。团队发现，提供浏览器自动化工具（如 Puppeteer MCP）让 agent 像用户一样验证功能，比单纯依赖 unit test 效果显著更好。这种端到端验证机制大幅减少了 agent "自认为完成但实际未通过"的情况。

## 关键概念
- **Dual-Agent Architecture**：将长时间任务分为初始化阶段和编码阶段，由不同的 agent 角色负责。这种关注点分离确保了基础设施的稳定性和开发的增量性。
- **Feature List（功能清单）**：使用 JSON 格式（而非 Markdown）记录所有需要实现的功能（示例中达200+项），每个功能包含步骤和 `passes` 状态。团队发现 **JSON 格式被模型不当修改的概率远低于 Markdown**。
- **Session Startup Routine（session 启动例程）**：每个新 session 遵循固定流程——验证工作目录、审查 git 日志和进度文档、识别最高优先级的未完成功能、运行基础端到端测试。这防止了 agent 在破损的基础上继续构建。
- **Incremental Progress（增量进度）**：agent 按功能逐一推进，而非试图一次性完成整个项目。描述性 git commit 使得回滚问题代码和恢复到可工作状态成为可能。
- **Progress File（进度文件）**：`claude-progress.txt` 作为跨 session 的"记忆"载体，记录已完成的工作、当前状态和下一步计划。

## 实践建议
1. **使用 JSON 而非 Markdown 来记录结构化状态**：JSON 格式的功能清单更不容易被 agent 意外修改，提供了更可靠的状态跟踪。
2. **为每个 session 设计固定的启动例程**：让 agent 在开始新工作之前先检查当前状态和运行测试，避免在问题代码上继续构建。
3. **提供端到端测试工具（如 Puppeteer MCP）**：不要仅依赖 unit test，让 agent 能像用户一样通过浏览器验证功能。
4. **预先编写 `init.sh` 脚本**：消除 agent 在"如何启动应用"上浪费的时间，将环境配置标准化。
5. **使用 git commit 作为检查点**：频繁的描述性 commit 既是进度记录，也是错误恢复的安全网。

## 独到观点
这篇文章最独特的贡献在于**将跨 session 的上下文持续性问题系统化地解决**。大多数关于 agent 的讨论集中在单次交互的优化上，而 Anthropic 关注的是多 session 场景下的"记忆"和"交接"问题。"换班工程师"的隐喻非常精准——它暗示了 agent 工程需要借鉴人类团队管理的最佳实践（如交接文档、站会更新）。此外，JSON 优于 Markdown 的经验发现也是一个实用且反直觉的洞察。

## 与其他文章的关联
- 与 [Anthropic: Harness Design for Long-Running Apps](03-anthropic-harness-design-long-running.md) 是姊妹篇，本文侧重实践经验，后者更侧重架构设计。
- `claude-progress.txt` 的理念与 [OpenAI: Harness Engineering](01-openai-harness-engineering.md) 中的 `AGENTS.md` 和 repo-native knowledge 策略相呼应。
- 端到端测试的强调与 [HumanLayer: Skill Issue](07-humanlayer-skill-issue.md) 中关于 coding agent 反馈循环的讨论相关。
- Session startup routine 的概念在 [Anthropic: Building Effective Agents](06-anthropic-building-effective-agents.md) 中有更基础的理论支撑。
