Anthropic 长任务应用开发架构设计解读

Anthropic 长任务应用开发架构设计解读

原文:Harness design for long-running application development
作者:Prithvi Rajasekaran (Anthropic Labs)
发布时间:2026年3月24日


核心主题

Anthropic 这篇文章介绍了如何通过**架构设计(Harness Design)**来推动 Claude 在前端设计和长时自主软件开发领域的表现。核心思路是借鉴 GAN(生成对抗网络)的多智能体结构,解决长任务执行中的两个关键问题:上下文窗口限制和自我评估偏差。


为什么简单的实现会失败

问题1:上下文窗口限制

长任务执行中,模型面临两个挑战:

  • 上下文丢失:随着上下文窗口填满,模型在长任务上失去连贯性
  • 上下文焦虑:某些模型会在接近上下文限制时提前结束工作

解决方案:上下文重置(Context Reset)

  • 清空上下文窗口,启动全新的 Agent
  • 通过结构化的交接工件(handoff artifact)传递状态
  • 不同于压缩(compaction),重置提供干净的 slate

问题2:自我评估偏差

模型评估自己的工作时会过于宽容,即使质量一般也会自信地给出好评。这在主观任务(如设计)中尤其明显。

解决方案:生成器-评估器分离

  • 将执行工作的 Agent 和评估工作的 Agent 分开
  • 评估器专门调优为持怀疑态度
  • 生成器根据外部反馈迭代,而非自我批评

前端设计实验

四个评分标准

标准 说明
设计质量 设计是否感觉是一个连贯的整体,而非零件的堆砌
原创性 是否有定制的决策,还是模板化、默认化的
工艺 技术执行:排版层次、间距一致性、色彩和谐
功能性 可用性,用户能否理解界面功能

权重策略:更看重设计质量和原创性,工艺和功能性模型本身做得不错。

迭代过程

  • 生成器创建 HTML/CSS/JS 前端
  • 评估器使用 Playwright MCP 与页面交互、截图、评分
  • 反馈回流到生成器进行下一轮迭代
  • 运行 5-15 轮迭代,每轮通常向更独特的方向推进

关键发现

  • 评分标准中的措辞直接影响生成器的行为(如”博物馆级别”推动特定视觉风格)
  • 分数总体提升,但并非总是线性
  • 实现复杂度随轮次增加
  • 某轮可能出现创意飞跃(如从常规页面跳转为 3D 空间体验)

扩展到全栈开发

三智能体架构

角色 职责
规划器(Planner) 将简单提示扩展为完整产品规格, ambitious about scope,关注产品上下文而非技术细节
生成器(Generator) 按 sprint 工作,一次实现一个功能,使用 React + Vite + FastAPI + SQLite/PostgreSQL 栈
评估器(Evaluator) 使用 Playwright MCP 测试应用,按标准评分,发现 bug 并提供反馈

Sprint 合同机制

在每个 sprint 开始前:

  1. 生成器提议要构建的内容和验收标准
  2. 评估器审查提案,确保构建正确的东西
  3. 双方迭代直到达成一致

沟通方式:通过文件(一个 Agent 写文件,另一个读取并响应)

对比实验

任务:创建 2D 复古游戏制作器

方案 时长 成本 结果
单 Agent 20分钟 $9 核心功能损坏,实体不响应输入
完整架构 6小时 $200 功能完整,包含 AI 辅助精灵生成、关卡设计、可分享链接等 16 个功能

架构迭代与简化

移除 Sprint 结构

使用 Claude Opus 4.6 后:

  • 模型原生处理能力增强,不再需要显式分解
  • 生成器可连续运行 2 小时以上而无需 sprint 分解
  • 评估器改为最终单次评估,而非每 sprint 评估

评估器的价值边界

评估器并非总是必要:

  • 当任务在生成器可靠能力范围内时,评估器是多余开销
  • 当任务超出生成器能力边界时,评估器提供真实价值
  • 原则:评估器值得投入成本,当任务位于当前模型可靠能力之外

DAW(数字音频工作站)案例

任务:使用 Web Audio API 构建浏览器端的完整音乐制作程序

执行统计

阶段 时长 成本
规划器 4.7分钟 $0.46
构建(第1轮) 2小时7分钟 $71.08
QA(第1轮) 8.8分钟 $3.24
构建(第2轮) 1小时2分钟 $36.89
QA(第2轮) 6.8分钟 $3.09
构建(第3轮) 10.9分钟 $5.88
QA(第3轮) 9.6分钟 $4.06
总计 3小时50分钟 $124.70

QA 发现的典型问题

  • “ clips 无法在时间轴上拖动/移动”
  • “音频录制仍是 stub-only(按钮可切换但无麦克风捕获)”
  • “效果可视化是数字滑块,而非图形化(无 EQ 曲线)”

最终成果:具备编曲视图、混音器、播放控制的完整音乐制作程序,可通过自然语言交互让 Agent 自主创作简单作品。


核心原则与启示

1. 持续实验模型

“实验你正在构建的模型,阅读它在真实问题上的 traces,并调优性能以达到期望结果。”

2. 任务分解的价值

复杂任务中,分解任务并为问题的每个方面应用专门 Agent 有时能释放潜力。

3. 新模型发布后的重新评估

“当新模型落地时,重新检查架构,剥离不再支撑性能的部分,添加新的部分以实现之前不可能的功能。”

4. 架构空间的演进

“有趣的架构组合空间不会随着模型改进而缩小,而是会移动。AI 工程师的有趣工作是持续找到下一个新颖的组合。”

5. 组件负载测试

每个架构组件都编码了关于”模型自身不能做什么”的假设,这些假设值得压力测试,因为它们可能不正确,也可能随着模型改进而过时。

6. 评估器调优的经验

  • Claude 作为 QA Agent 开箱即用表现不佳
  • 早期:发现问题后自我说服”不是什么大问题”而通过
  • 或测试流于表面,不探查边界情况
  • 解决方案:阅读评估器日志,找到判断分歧的例子,更新 prompt

与 OpenClaw 长任务方案的对比

维度 Anthropic 方案 OpenClaw 方案
核心机制 多智能体协作(规划器-生成器-评估器) 主 Agent 判断 + 子 Agent 执行
上下文管理 上下文重置 + 结构化交接 子 Agent 隔离,天然独立会话
进度同步 文件通信(sprint 合同、进度日志) 任务文件(memory/tasks/*.md)
自我评估 独立评估器 Agent 主 Agent 监督 + 用户查询
超时处理 架构内嵌评估循环 主 Agent 定期检查并清理
成本权衡 显式评估器,按需启用 简单任务直接回复,复杂任务派生

关键借鉴点

  1. 评估分离:OpenClaw 可考虑在子 Agent 中嵌入自检机制
  2. 结构化交接:任务文件格式可参考 sprint 合同设计
  3. 任务分解:超长任务可考虑拆分为多个子任务串行执行

总结

Anthropic 这篇文章的核心洞见是:**架构设计(Harness Design)**是提升长任务 Agent 性能的关键杠杆。通过:

  1. 多智能体分工(生成器 vs 评估器)解决自我评估偏差
  2. 上下文重置解决长任务中的上下文限制
  3. 结构化交接确保会话间的状态传递
  4. 持续迭代剥离过时组件,添加新能力

随着模型能力提升,架构不会变得不必要,而是演进——找到新的组合方式来释放更大的潜力。


原文链接:https://www.anthropic.com/engineering/harness-design-long-running-apps