Переглянути джерело

doc: Anthropic:长期运行 Agent 应用的 Harness 设计

gamehu 3 місяців тому
батько
коміт
0c1ffd2be3

+ 132 - 0
source/_posts/Anthropic:长期运行-Agent-应用的-Harness-设计.md

@@ -0,0 +1,132 @@
+---
+title: Anthropic:长期运行 Agent 应用的 Harness 设计
+author: Gamehu
+date: 2026-03-25 16:10:43
+categories:
+  - AI
+tags:
+  - Anthropic
+  - Agent
+  - Harness
+  - AI工程
+---
+
+Anthropic 最新发布了一篇关于**长期运行 Agent 应用 Harness 设计**的深度技术文章,作者是 Prithvi Rajasekaran。文章分享了如何通过多 Agent 架构(生成器+评估器)来突破传统单 Agent 的能力天花板,实现复杂应用的自主构建。
+
+## 核心问题:为什么简单实现不够?
+
+传统的单 Agent 实现会遇到两个关键问题:
+
+### 1. 上下文焦虑(Context Anxiety)
+
+随着任务时间增长,模型会出现"上下文焦虑"——在接近上下文限制时提前结束工作。虽然上下文压缩(compaction)可以延长会话,但无法给 Agent 一个干净的 slate。解决方案是**上下文重置(Context Reset)**:完全清空上下文窗口,通过结构化交接(handoff)让新 Agent 接手。
+
+### 2. 自我评估偏差
+
+当要求 Agent 评估自己的工作质量时,它们往往过于乐观——即使质量明显 mediocre,也会自信地给予好评。这在主观任务(如设计)中尤为明显。
+
+**解决方案:分离生成与评估**
+
+借鉴 GAN(生成对抗网络)的思想,将生成器(generator)和评估器(evaluator)分离。虽然评估器也是 LLM,但调校一个独立的 skeptical evaluator 比让生成器自我批评要容易得多。
+
+---
+
+## 前端设计实验
+
+作者首先在前端设计领域验证这个思路。Claude 默认倾向于安全、可预测的布局,技术可用但视觉平庸。
+
+### 四项评分标准
+
+为了让主观质量可量化,作者制定了四项评分标准:
+
+| 标准 | 含义 |
+|------|------|
+| **Design Quality** | 设计是否像一个统一的整体,而非零件拼凑?色彩、排版、布局是否创造独特氛围? |
+| **Originality** | 是否有定制决策?还是模板布局、库默认值、AI 生成模式? |
+| **Craft** | 技术执行:排版层级、间距一致性、色彩和谐、对比度 |
+| **Functionality** | 可用性:用户能否理解界面功能、找到主要操作、完成任务? |
+
+**重点**:Design Quality 和 Originality 权重更高,明确惩罚"AI slop"(紫色渐变+白卡片的典型 AI 生成模式)。
+
+### 迭代循环
+
+- 生成器创建 HTML/CSS/JS 前端
+- 评估器通过 Playwright MCP 与页面交互、截图、评分
+- 反馈回流给生成器进行下一轮迭代
+- 运行 5-15 轮迭代,每轮 4 小时
+
+**惊人发现**:在为一个荷兰艺术博物馆设计网站的第 10 轮迭代中,生成器完全推翻了之前的设计,重新想象为一个 3D 空间体验——CSS 透视渲染的方格地板、自由位置悬挂的艺术品、门洞导航而非滚动点击。这是单次生成从未见过的创意飞跃。
+
+---
+
+## 扩展到全栈开发
+
+基于前端实验的经验,作者将其应用到全栈开发,构建了一个三 Agent 架构:
+
+### 架构设计
+
+| Agent | 角色 | 职责 |
+|-------|------|------|
+| **Planner** | 规划器 | 将 1-4 句简单 prompt 扩展为完整产品 spec, ambitious 但避免过早指定技术细节 |
+| **Generator** | 生成器 | 按 sprint 逐个实现功能,使用 React + Vite + FastAPI + SQLite/PostgreSQL 技术栈 |
+| **Evaluator** | 评估器 | 通过 Playwright MCP 测试运行中的应用,评分并反馈 bug |
+
+### Sprint 契约
+
+在每次 sprint 前,生成器和评估器协商"sprint 契约":明确定义"完成"的标准和可测试的行为。这弥补了用户故事与可测试实现之间的鸿沟。
+
+### 对比实验
+
+**Prompt**:创建一个 2D 复古游戏制作器,包含关卡编辑器、精灵编辑器、实体行为和可玩测试模式。
+
+| 方案 | 时长 | 成本 | 结果 |
+|------|------|------|------|
+| 单 Agent | 20 分钟 | $9 | 核心功能损坏,实体无法响应输入 |
+| 完整 Harness | 6 小时 | $200 | 功能完整,包含 AI 辅助精灵生成、关卡设计、游戏导出 |
+
+**关键差异**:
+- 单 Agent 版本:布局浪费空间、工作流程僵化、核心游戏功能损坏
+- Harness 版本:完整 viewport 利用、一致的视觉识别、AI 集成加速工作流、实际可玩的游戏
+
+---
+
+## 持续优化
+
+### 移除 Sprint 结构
+
+随着 Opus 4.6 发布(规划更仔细、更长任务保持、更好的代码审查和调试能力),作者尝试简化 harness:
+
+- 移除 sprint 结构,让生成器连续运行 2 小时以上
+- 评估器改为单次最终评估而非每 sprint 评估
+- 保留 planner(防止生成器 under-scope)和 evaluator(捕获边缘 bug)
+
+**新实验**:浏览器端 DAW(数字音频工作站)
+
+- 运行 4 小时,$124
+- 生成器连续运行 2 小时无需分解
+- 评估器仍捕获关键缺陷:剪辑无法拖动、音频录制仅 stub、效果可视化不足
+
+**结论**:评估器不是固定的是/否决策,而是取决于任务是否超出生成器独立可靠完成的边界。
+
+---
+
+## 核心启示
+
+1. **模型能力边界决定 harness 复杂度**:随着模型改进,某些假设可能过时,值得定期 stress test
+2. **分解任务 + 专业化 Agent**:复杂任务中,分解并应用专业化 Agent 能带来提升
+3. **新模型发布时重新评估 harness**:剥离不再关键的组件,添加新组件实现更大能力
+4. **有趣 harness 组合的空间不会缩小**:随着模型改进,空间会移动,AI 工程师的工作是不断找到下一个新颖组合
+
+---
+
+## 关键引用
+
+> "The space of interesting harness combinations doesn't shrink as models improve. Instead, it moves, and the interesting work for AI engineers is to keep finding the next novel combination."
+
+> "It is always good practice to experiment with the model you're building against, read its traces on realistic problems, and tune its performance to achieve your desired outcomes."
+
+---
+
+**原文链接**:https://www.anthropic.com/engineering/harness-design-long-running-apps
+
+**作者**:Prithvi Rajasekaran (Anthropic Labs)