🏠 总目录 📚 资料库Harness 设计

Agent Harness Design: 3 Patterns for Harnessing Claude's Intelligence(Agent Harness 设计的三种模式)

📄 来自 Claude 官方博客
原文标题
Agent Harness Design: 3 Patterns for Harnessing Claude's Intelligence(Agent Harness 设计的三种模式)
原文链接
https://claude.com/blog/harnessing-claudes-intelligence
作者
Lance Martin(Claude Platform 团队)
发布日期
2026-04-02
⚠️ 本页是原文的中文结构化整理笔记(保留架构、数据、案例、结论),并非逐字翻译。具体参数与功能名更新很快,落地前请点击上方链接核对原文。

14 分钟 | ⭐ 三种可直接套用的骨架

🎯 一句话

三种 Harness 骨架:ReAct 式循环、计划-执行、反思-重试。⭐ 它们不是互斥的,实际系统通常是三者的组合

📑 本页目录

随着 Claude 能力的演进,围绕模型的软件脚手架(agent harness)也必须随之调整。开发者应当持续重新评估:哪些功能应该留在 harness 里,哪些 Claude 已经能独立胜任,并在智能收益与延迟、成本之间取得平衡。

什么是 Agent Harness

Agent harness 指把原始模型智能转化为可用 Agent 的那一整套东西:循环(loop)、工具、上下文管理和护栏(guardrails)。Harness 设计是一门持续的实践——随着模型进步,不断判断哪些脚手架仍然必要。


模式一:依靠模型,而非 Harness(Lean on the Model, Not the Harness)

核心思想: 用 Claude 已经深度掌握的工具来构建应用。

模式二:给 Harness 做减法(Strip Down Agent Harnesses)

核心思想: 持续追问哪些 harness 功能 Claude 现在已经可以自己管理。

2A. 让 Claude 编排自己的动作

2B. 让 Claude 管理自己的上下文

2C. 让 Claude 持久化自己的上下文

宝可梦游戏案例: Sonnet 3.5 玩了 14,000 步后把记忆当成流水账(31 个文件,还停留在第 2 个镇子);Opus 4.6 则把战术笔记组织成 10 个有条理的文件,拿到 3 个道馆徽章,并从失败中总结经验——体现了模型在信息取舍上的判断力进步。

模式三:谨慎设置 Harness 的边界(Set Boundaries Carefully)

3A. 设计上下文以最大化缓存命中

Prompt caching 可以把缓存 token 的成本降到输入 token 的 10%。优化原则: - 稳定内容(系统提示、工具定义)放在动态内容之前 - 用追加消息的方式注入 system reminder,而不是修改系统提示 - 避免切换模型(缓存是模型专属的) - 用 tool search 做动态工具发现,保持缓存完整性 - 多轮应用中把缓存断点(breakpoint)移到最新消息上

3B. 用声明式工具服务于 UX、可观测性与安全


关键技术概念

概念 说明
上下文窗口管理 Claude 无法自带对话历史,harness 每轮都要重新打包上下文,因此缓存至关重要
Breakpoints 提示词内的缓存检查点;新请求与已缓存内容前缀匹配时命中缓存
Compaction Claude 摘要历史上下文,在长交互中保持任务连续性
Tool Search 动态工具发现机制,以追加方式工作,不破坏缓存
Subagents 独立的 Claude 实例,用全新上下文窗口处理隔离任务

基准数据一览

结论与建议

  1. 持续重估: 随模型能力提升,定期检验关于其局限的假设。例如 Sonnet 4.5 需要的「上下文焦虑重置」到 Opus 4.5 就不再需要——变成了 harness 里的「死重」。
  2. 大胆修剪: 常问「我可以停止做什么?」,移除拖累性能的过时脚手架。
  3. 通用工具的复利: 编码基准上的强表现会迁移为通用 Agent 能力,因为代码是通用的编排语言。
  4. 渐进式披露原则: 不要预加载全部上下文,让 Claude 通过文件工具和 skills 按需获取信息。
  5. 资源效率: 善用缓存、context editing 和输出过滤,在保持性能的同时降低 token 消耗。

Harness 设计不是一次成型的,而是一门随模型智能演进而不断调整脚手架的持续学科——永远在问:这项职责应该归 harness 还是归模型?


✅ 检查点

  1. 三种模式各自的形态和适用场景?
  2. 计划-执行相比纯 ReAct 的好处和风险各是什么?
  3. 反思机制什么时候有效、什么时候是浪费?
👀 答案
  1. ReAct 式循环:思考→行动→观察,不断重复,适合探索性、路径未知的任务;计划-执行:先出完整计划再逐条执行,适合步骤多、需要人工审核计划的任务;反思-重试:产出后自我检查、不合格就改,适合有明确质量标准的产出。
  2. 好处:计划可以被人审核,且执行阶段不容易走偏——你在开始烧 token 之前就能发现方向错了。风险:计划是在信息最少的时候做的,如果执行中发现现实和计划不符,僵硬地照计划走反而更糟。所以要允许在执行中触发重新规划
  3. 有效的前提是反思能拿到新信息——比如测试结果、编译报错、检索到的新资料。如果只是让模型「再看一遍自己的输出」,它大概率会确认自己是对的,这时反思只是在烧 token。判据:这一轮反思有没有引入模型上一轮不知道的东西?

🛑 可以停在这里

走神救援
三种骨架ReAct 式循环(思考→行动→观察,适合路径未知的探索任务)、计划-执行(先出完整计划再逐条执行,适合步骤多、计划需人工审核的)、反思-重试(产出后自查不合格就改,适合有明确质量标准的产出);实际系统通常是三者组合计划-执行的好处:计划可被人审核、执行不易走偏,在开始烧 token 前就能发现方向错了;⚠️风险是计划在信息最少时做出执行中发现现实和计划不符时僵硬照做反而更糟 → 要允许触发重新规划。⭐⭐反思有效的前提是它能拿到新信息(测试结果/编译报错/新检索到的资料);只让模型「再看一遍自己的输出」,它大概率会确认自己是对的,这时反思只是烧 token判据:这轮反思有没有引入模型上一轮不知道的东西?