Google关于Harness Engineering的综述pdf2026年AI工程的核心公式:Agent = Model + Harness。
一份汇总了 Google、OpenAI、Anthropic、LangChain 和 Cursor 工程师实践的综合文档揭示了为什么 95% 的企业 AI Agent 不能成功上线——不是模型不够强,而是缺了一个叫「harness engineering」的东西。
1. 从 Prompt 到 Context 再到 Harness,三段式的进化
2023 到 2024 年在优化 prompt:措辞、例子、思维链。2025 年在设计上下文系统:RAG、MCP、记忆、检索。到了 2026 年初,从业者汇聚到了一个更高层级的方法——Harness Engineering。
每个阶段都包含了前一个阶段的要点。一个 harness 包含上下文管道和 prompt,同时还包含验证机制、权限控制、可观测性和状态持久化。Prompt engineering 决定模型说什么,context engineering 决定模型看到什么,而 harness engineering 决定模型能做什么、失败后发生什么、什么叫成功完成。
2.换 harness 比换模型带来的提升更大
1)把 Claude Sonnet 4.5 放到 GAIA 基准上测试,最小 harness 下得分 30.91%,升级生产级 harness 后得分为 74.55%。同样的模型,纯靠换 harness 提升了 43.64 分——比大多数相邻代际的模型升级带来的差距还要大。
2)LangChain 团队把编码 Agent 在 Terminal Bench 上的排名从第 30 位提升到第 5 位,没有更换模型。提升完全来自 harness 优化:更好的 guide 规则、更紧密的传感器循环、改进了错误恢复和工具配置。
3)安全研究员在一个下午改了 16 个不同 LLM 的工具调用格式和编辑方式,几乎所有模型的分数都有改善。没有微调、没有重训、没有替换模型。
保持模型固定,只换 harness——这个变量就能产生堪比模型升级的效果。
3.六层架构:构成完整 harness 的基础设施
一个无人值守运行的 Agent,最少需要六层结构。每一层解决一个特定的问题。
第一层是 Guides(引导),即执行前的前置控制。核心文件是 AGENTS.md、CLAUDE.md、.cursorrules。每一行代表一次过去失败的修复方案。Mitchell Hashimoto 的做法是把 Agent 犯错的每一个 case 逐行写入 guide,每个 entry 对应一个具体的错误。Guide 应该包含可执行的行动和可观察的标准,而不是口号——用 lint 命令和测试命令代替「写好代码」这种空话。
这里有一个关键概念叫棘轮原理:每次出错后,永久改进系统。流程是六个步骤——Agent 犯错、归类失败类型、确定最强修复层级(guide、sensor、tool 或 permission)、编码修复、验证防复发、监控回归。prompt 补丁只能修一次对话,guide 规则可以防止每一次未来的运行。
第二层是 Sensors(传感器),即执行后的反馈控制。传感器的经济账很清楚:计算型传感器(linter、类型检查器、单元测试)每次运行成本几乎为零,返回确定性结果;推理型传感器(LLM as judge)成本高、结果不确定。原则是先用计算型传感器,覆盖不了的再考虑推理型。
最强的 harness 模式是 self-verification:Agent 每次操作后自动跑预定义测试套件,失败了拿错误信息继续修正。这不是模型自我评判质量,而是模型执行外部确定性检查并根据结果行动。
第三层是 Agentic Loop(智能体循环)。这是执行引擎,不是单次模型调用,而是一个有界的循环:计划、执行、用传感器验证、修复失败、推进或升级重试。必须设定预算上限:每步最大重试次数、最大耗时、token 预算、费用上限、工具调用次数。任何预算耗尽时,必须返回当前最好结果加未解决问题加退出原因,绝不能用一个流畅的最终答案掩盖部分失败。
第四层是 Memory and State(记忆与状态)。模型每次调用都是从空白上下文开始的。harness 负责重建相关状态。最简单的持久化记忆就是文件系统——plan.md 文件、decisions.md 日志、progress.json 检查点。对大多数 Agent 工作流来说,这比向量数据库便宜、简单且可靠。当 Agent 连续运行数小时,还需要 server-side compaction 机制来压缩旧上下文。
第五层是 Permissions and Budgets(权限和预算)。模型不能限制自己,它拥有多少权限就会使用所有可用权限。权限不是模型的属性,而是 harness 的属性——它是主要的安全边界。预算有四维:范围(哪些文件、工具、操作可用)、速率(最大写入次数)、可逆性(操作能否回滚)、可见性(谁被通知、保留哪些审计记录)。
第六层是 Observability(可观测性)。没有遥测数据的 Agent 可能看起来运行良好,但实际上静默跳过了重要步骤。必须追踪的内容包括:起止时间戳、工具动作及结果、guide 版本和使用的传感器、尝试次数和成本、产出的 artifact、审批和升级事件。还有一个关键指标:不要数模型调用次数或 token 数量,要数的是无需人工干预就完成的任务数。
4.七天上生产线
文档提供了一个渐进式路径,一天一层:第一天写 guide 文件包含构建测试和 lint 命令;第二天从已知失败中增加三条 guide 规则;第三天加上第一个计算型传感器让 Agent 每次改动后自动跑测试;第四天接入重试预算和升级机制;第五天添加文件级别的检查点保证重启后能恢复;第六天设置权限和费用预算;第七天加上结构化日志和异常告警。
7 天后所有六层达到最低可用级别。之后的扩展遵循棘轮原理:实际运行中每次出错暴露哪一层需要加强,一次只改一层,测量效果,回归测试。
5.五个真实案例证明了这套方法论
1)OpenAI Codex:一名工程师花了五个月,零手动代码构建了一款产品。代码量达一百万行,约一千五百个自动化 pull request。人类不是在写代码,而是在设计让可靠代码生成成为可能的环境。关键是他们的 tagline:人类引导,Agent 构建。他们投入在 harness 上的时间比手动写代码还多。
2)LangChain:Terminal Bench 排名从第 30 到第 5,不换模型。
3)GAIA 基准:同样模型,harness 改进带来 43.64 分的提升。
4)Hashline 实验:一个下午改了 16 个模型的工具格式,全有改善。
5)Ghostty:Mitchell Hashimoto 的 AGENTS.md 累积了一条错误一条规则的修正历史,新 Agent 读取该文件后几秒钟继承了数月的纠正知识。
6.本质上是基础设施思维的转变
Lauren Tan 在 Cursor 的说法总结了一切:prompt 引导行为,环境防止整类错误。
一个完善的 harness 系统设计完成后,应该能让这句话为真:每一个重要的输出都能追溯到塑造它的 guide 规则、验证它的传感器、约束它的预算、保存它的检查点和记录它的日志。当这句话不成立时,增加更多模型调用通常只会让系统变得更黑盒。当它成立时,harness 就变成了一个可组合的工程机制。
pdf: drive.google.com/file/d/1wZeuP0t4WOA2COMxcrU-Uv34IutM13UR/view
how i ai程序员








