Harness 是什么
Agent = Model + Harness。Harness 不是框架,是让模型能力变得有用的操作系统。 下一步 → 02-核心架构
🧠 我的心智模型
Harness 的比喻:
(用你自己的话,描述 Harness 是什么) ✍️ 你的理解:
[来源:OpenAI] OpenAI 的定义更直白:人类掌舵,智能体执行。在这个范式下,工程师的角色发生了根本转变——从写代码变为三件事:设计环境(让 Agent 知道在什么上下文里工作)、明确意图(把模糊需求转化为可执行规格)、构建反馈回路(让 Agent 能自我验证和纠错)。Harness 就是这三件事的工程化产物。
[来源:LangChain/Vivek Trivedy] Vivek Trivedy 的核心公式简洁有力:Agent = Model + Harness。如果你不是模型,你就是 harness。这意味着我们作为工程师的全部工作,都是在 harness 层面——优化模型周边的一切,让模型的能力真正有用。
三次范式跃迁:
(Prompt Engineering → Context Engineering → Harness Engineering,每次跃迁解决了什么问题?) ✍️ 你的理解:
[来源:Externalization 论文] Externalization 论文提供了一个更深层的历史演进框架:Weights → Context → Harness。早期 AI 能力锁定在模型权重里(Weights 阶段),后来发现通过精心构造上下文能大幅提升表现(Context 阶段),再后来发现需要系统性的工程化设施来持续、可靠地管理这些上下文(Harness 阶段)。每次跃迁不是否定前一个,而是在其基础上叠加——Harness 包含 Context Engineering,Context Engineering 包含 Prompt Engineering。
Agent = Model + Harness:
(如果你不是模型,你就是 Harness 的一部分。—— Vivek Trivedy) ✍️ 你的理解:
[来源:O'Reilly/Addy Osmani] Addy Osmani 提出了"棘轮原则"(Ratchet Principle):每个错误变成规则。当你发现 Agent 犯了一个错,你不应该手动修一次就完了,而是把它工程化成一条规则,让 Agent 永远不再犯同样的错。这意味着 Harness 是你的失败历史塑造的——它凝结了你踩过的所有坑。这也是为什么 Harness "下载不来":别人的失败历史和你不一样,通用的 Harness 只能覆盖通用问题。
🎯 核心问题
- Harness 和传统框架(LangChain/CrewAI)有什么本质区别?为什么要独立研究它?
- "模型几乎无关紧要,Harness 就是一切"这个说法对吗?极端了还是真有道理?
- Stripe 400+ 工具的 Minions 和 OpenAI 百万行零人工实验,共同的设计哲学是什么?
- Claude Code 源码泄露的 12 种 Harness 设计模式,哪些你已经在用?
📝 我的理解
Harness 的定义
✍️
[来源:Terminal Bench 2.0] Terminal Bench 2.0 的数据提供了最直观的证据:同一模型(Opus 4.6),仅换 harness,排名从 Top 30 飙升到 Top 5。这个实验完美回答了"模型重要还是 harness 重要"的问题——模型决定了天花板在哪,但 harness 决定了你能离天花板多近。同一个模型,在不同 harness 的加持下,表现可以差出一个数量级。
从 Prompt 到 Context 到 Harness
✍️
三次跃迁的核心驱动力:Prompt Engineering 解决了"怎么说模型才听懂"的问题,但单轮优化无法应对复杂任务。Context Engineering 把视野扩大到整个上下文窗口的管理,但仍然缺乏系统性的工程方法。Harness Engineering 最终把所有这些——提示词、工具、编排、记忆、反馈——统一成一个可工程化、可迭代、可积累的系统。
核心案例对比
✍️
⚡ 我的实战
✍️ 我自己做过什么、踩过什么坑。
🔒 关书自测
- Agent = Model + Harness,请分别解释每一层的职责。如果去掉 Harness 层会怎样?
- Harness 的四大杠杆分别是什么?各举一个使用场景。
- Stripe Minions 的"反馈左移"策略核心思想是什么?为什么最多两轮 CI?
- OpenAI 的"架构即护栏"和"工具即反馈",在你的项目中能怎么落地?
🎤 费曼输出
1 句话版本:✍️ 3 分钟版本:✍️ 信心:_/10 最可能翻车的地方:✍️
参考资料
核心定义
Agent = Model + Harness — Vivek Trivedy (2025) 首创 Harness Engineering 术语。Mitchell Hashimoto(Terraform/Ghostty 创建者)2026年2月正式命名:
"每当你发现 Agent 犯了一个错误,你就花时间工程化一个解决方案,使 Agent 永远不再犯同样的错误。"
核心问题:不是"如何让模型更聪明",而是"如何从今天的模型中获得最大收益"。
Harness 的本质
词源与比喻:"Harness"原意是马具——缰绳、鞍具、嚼子——用来驾驭一匹强大但不可预测的动物。
- 马 = AI 模型:强大、快速,但自己不知道该往哪里走
- 马具 = Harness:引导、约束、使力量变得可控且有方向
技术定义:Harness 是除模型本身以外的所有代码、配置和执行逻辑。包括:
- 系统提示(System Prompt / AGENTS.md)
- 工具、Skills、MCP 及其描述
- 捆绑基础设施(文件系统、沙箱、浏览器)
- 编排逻辑(Sub-agent 生成、任务交接、模型路由)
- Hooks / 中间件(上下文压缩、续行、lint 检查等确定性执行逻辑)
类比理解:Harness 就像操作系统。模型(大体上)接受文本输入并输出文本,仅此而已。开箱即用,它们无法做到:跨交互维护持久状态、执行代码、访问实时知识、搭建环境。这些都是 Harness 层面的特性。
三次范式跃迁
- Prompt Engineering(2023)→ 如何写好提示词
- Context Engineering(2024, Dex @ 12-factor agents)→ 系统性提升 AI agent 可靠性的技术超集
- Harness Engineering(2025-2026, Vivek Trivedy)→ Context Engineering 的子集,专注于利用 Harness 配置点来管理编程 Agent 的上下文窗口
范式转移的底层趋势:
- 模型商品化:Claude/GPT/Gemini 基准测试表现接近,竞争优势不再是模型本身
- Agent 从 Demo 走向生产:可靠性标准从"令人印象深刻的 Demo"变成"不能宕机"
- 基准测试不再衡量真正重要的东西:标准基准衡量单轮任务完成率,但生产 Agent 运行数小时甚至数天
四大杠杆 + 两个补充
来源:Vivek Trivedy 四大核心杠杆,HumanLayer 团队补充两个。
| 杠杆 | 核心作用 | 关键洞见 | |------|---------|---------| | 系统提示 | 最直接的配置点 | AGENTS.md 当目录不当百科全书,上下文是稀缺资源 | | 工具/MCP | Agent 与外部世界交互 | 工具不仅扩展能力,更是反馈机制——自定义 linter 错误消息同时充当修复指令 | | 上下文 | 给 Agent 足够好的输入 | 把关键上下文放系统提示,其他放 Markdown 文件按需加载 | | Sub-agents | 最被低估的杠杆 | 上下文防火墙——离散任务在隔离的上下文窗口中运行 | | Hooks(补充) | 确定性控制流 | 成功时静默(零上下文开销),失败时只暴露错误信息 | | Skills(补充) | 渐进式知识披露 | 不在启动时加载所有指令,按需加载相关知识模块 |
Stripe Minions:400+ 工具的无人值守 Agent
背景:数亿行 Ruby 代码库,每年处理超 1 万亿美元支付。每周 1,300+ PR 合并。
五层核心架构:
| 层次 | 组件 | 核心技术 | |------|------|---------| | 第一层 | 触发 | Slack、CLI、Web UI、工单系统 | | 第二层 | 执行沙箱(Devboxes) | AWS EC2 预热池,10 秒启动,QA 隔离 | | 第三层 | Agent 核心 | Block 开源 Goose 的深度定制 fork | | 第四层 | 蓝图编排 | 确定性节点 + Agent 循环节点的混合工作流 | | 第五层 | Toolshed(~500 MCP 工具) | 集中式 MCP 服务器,目录范围规则文件 |
核心设计哲学:
- 反馈左移:Pre-push hooks(<1秒)→ 本地 Linting(<5秒)→ CI 选择性测试 → 最多两轮 CI
- 蓝图(Blueprints):确定性代码节点与自由流动的 Agent 子任务的混合编排——linter 总是要运行的,分支总是要按特定方式推送的
- Agent 需要与人类工程师相同的上下文和工具:Toolshed ~500 工具,人类和 Agent 共用同一套。规则文件跨 Cursor/Claude Code/Minions 三系统同步
- "把 LLM 放入有围墙的盒子里,积累起来就产生了系统级的可靠性收益。模型不运行系统,系统运行模型。"
OpenAI:百万行代码零人工实验
背景:3-7 人团队,5 个月,~100 万行代码,1500+ PR,零行人工编写代码。
六大核心经验:
- AGENTS.md 是目录,不是百科全书 — 短小入口(~100行),知识库放结构化 docs/ 目录
- 一切为 agent 可读性优化 — Agent 运行时看不到的东西 = 不存在
- 刚性架构约束是前提 — 每个业务域固定分层,依赖方向严格校验,自定义 linter 机械强制
- 让 agent 能自己验证自己 — 浏览器自动化 + 可观测性 stack + 录视频验证
- 端到端自主驱动 — 一个 prompt 完整执行:验证→复现→修复→验证→开PR→响应review
- "AI Slop" 垃圾回收 — Golden Principles 一次编码,持续在每行代码上强制执行
架构即护栏的深层洞见:
- 人类开发者对过于严格的架构约束感到不适,但 Agent 没有"审美偏好"
- 严格的架构规则在 Agent 手中变成巨大的优势——不会偷懒绕过规则
- 反直觉:提高 AI 代码信任和可靠性,需要缩小解决方案空间而非扩大它
工具即反馈的精妙设计:
- 传统 linter 错误消息面向人类(需要经验推断修复方式)
- Agent 优化的 linter 错误消息包含:VIOLATION 说明 + FIX 步骤 + EXAMPLE 示例 + REFERENCE 文档链接
- 创造零人工干预的紧密反馈回路:Agent 写代码 → Linter 发现违规 → 错误消息=修复指令 → Agent 按指令修复 → 通过
Claude Code 源码的 12 种 Harness 设计模式
来源:Claude Code 泄露源码解读,分为四类:
Memory & Context(5 种):
- 持久化指令文件模式 — AGENTS.md/CLAUDE.md 跟着仓库走
- 作用域上下文组装模式 — 从组织级到子目录,动态加载
- 分层记忆模式 — 紧凑索引 + 主题文件 + 完整记录
- 梦境整合模式 — 空闲时间垃圾回收,去重修剪
- 渐进式上下文压缩 — HISTORY_SNIP → Microcompact → CONTEXT_COLLAPSE → Autocompact
Workflow & Orchestration(3 种): 6. 探索-计划-执行循环 — 读权限 → 讨论方案 → 完整工具权限 7. 上下文隔离子 Agent — 研究/计划/编辑各自独立上下文 8. Fork-Join 并行 — Git worktree 隔离,合并结果
Tools & Permissions(3 种): 9. 渐进式工具扩展 — 默认 <20 个工具,按需激活 10. 命令风险分类 — 确定性预解析 + 按工具权限门控 11. 单用途工具设计 — FileReadTool/FileEditTool/GrepTool 替代通用 shell
Automation(1 种): 12. 确定性生命周期钩子 — 25+ 个钩子点(PreToolUse/PostToolUse/SessionStart/CwdChanged)
Anthropic Harness 实践三篇
1. Effective harnesses for long-running agents(2025.11)
- 两阶段架构:Initializer Agent(设置环境 + 展开需求为 feature list)→ Coding Agent(增量执行 + 干净交接)
- 四大失败模式:过早宣布完成、环境留 bug、提前标记完成、不会启动 app
- 关键洞察:Feature list 是核心,浏览器自动化测试是必须的
2. Harness design for long-running application development(2026.03)
- 灵感来自 GAN — Generator 和 Evaluator 分离
- 三 Agent 架构:Planner → Generator → Evaluator(Playwright MCP 像用户一样点页面)
- Sprint Contract 机制:spec 高层,contract 填补到可测试粒度
- 发现:Claude 默认是个差 QA,Evaluator 不是必需品(当任务在模型能力边界内时)
3. Building a C compiler with parallel Claudes(2026.02)
- 16 个 Claude 并行写 10 万行 Rust C 编译器
- Ralph Wiggum Loop:
while true; do claude ... done - 关键经验:测试质量决定一切、为 Claude 设计(不打印大量输出)、Agent 角色专精
控制论框架(Birgitta Böckeler / Martin Fowler)
三层同心圆:
- 最内层:模型——被套上 Harness 的对象
- 中间层:构建者 Harness——Agent 产品内置的系统提示、编排、检索
- 最外层:用户 Harness——我们针对自身用例构建的外部 Harness
前馈 vs 反馈:
- 前馈(指引):预测 Agent 行为,力求在行动前引导——提高首次成功率
- 反馈(传感器):行动后观察,帮助自我纠正——当传感器产生针对 LLM 消费优化的信号时尤其强大
三种监管类别:
- 可维护性 Harness — 内部代码质量(最容易实现)
- 架构适应性 Harness — 应用架构特性(Fitness Functions)
- 行为 Harness — 应用按需运作(最具挑战性)
实践的 Do's 和 Don'ts
有效的做法:
- 偏向交付,只在 Agent 实际失败时才添加配置
- 设计、测试、迭代——并丢弃无用的东西
- 优化迭代速度,而非"第一次尝试就一击即中的概率"
- 给 Agent 一套能力后仔细削减暴露给模型的内容
无效的做法:
- 在还没遇到真实失败之前就试图设计理想的 Harness 配置
- 以"以防万一"的心态安装几十个 Skills 和 MCP Servers
- 在每个 Agent 会话结束时运行完整的测试套件(超过 5 分钟)
- 试图微观优化哪些 Sub-agents 可以访问哪些工具
关键文献时间线
| # | 时间 | 作者/来源 | 标题 | 定位 | |---|------|---------|------|------| | 1 | 2025.09 | Viv | Claude Code SDK 与 HaaS 的诞生 | 定义起点·4 杠杆 | | 2 | 2026.02 | Mitchell Hashimoto | 我的 AI 采纳之旅 | 术语命名·个人路径 | | 3 | 2026.02 | Stripe | Minions Part 1 & 2 | 企业实战·架构设计 | | 4 | 2026.02 | OpenAI | Harness Engineering | 百万行零人工实验 | | 5 | 2026.02 | Charlie Guo | Harness Engineering 实践手册 | 跨组织规律综合 | | 6 | 2026.03 | Viv · LangChain | Agent Harness 的解剖 | 理论推导·从缺陷反推 | | 7 | 2026.03 | HumanLayer | 技能问题 | 战术工具箱 | | 8 | 2026.04 | Martin Fowler / Birgitta | 面向编程 Agent 用户的 HE | 控制论框架升华 |
本文综合自 Vivek Trivedy、Mitchell Hashimoto、Stripe、OpenAI、Charlie Guo、HumanLayer、Birgitta Böckeler 等多方来源。
英文原始资料
Anthropic 官方 Engineering Blog
- Effective context engineering for AI agents ⭐⭐⭐ — Context Engineering 定义性文章。Prompt Engineering → Context Engineering 的范式跃迁,compaction、tool result clearing、file-based memory 等核心技术
- Effective harnesses for long-running agents ⭐⭐⭐ — 两阶段架构(Initializer → Coding Agent),Feature List 核心设计,四大失败模式
- Harness design for long-running application development ⭐⭐⭐ — GAN 启发的三 Agent 架构(Planner → Generator → Evaluator),Sprint Contract 机制
- Building a C compiler with parallel Claudes — 16 个 Claude 并行写 10 万行 Rust C 编译器,Ralph Wiggum Loop
- Claude Code: Best practices for agentic coding ⭐⭐⭐ — 官方最佳实践
- Building effective agents — Agent 设计模式
- Writing effective tools for agents — with agents — 工具设计方法论
- Equipping agents for the real world with Agent Skills — Skills 机制详解
OpenAI 官方
- Harness engineering: leveraging Codex in an agent-first world ⭐⭐⭐ — 百万行代码零人工实验,AGENTS.md、architectural guardrails、observability-driven iteration、"humans steer, agents execute"
Google 官方
- Five Best Practices for Using AI Coding Assistants — Google Cloud 团队基于 Gemini CLI/Jules 实战总结的 5 条最佳实践
- Meet Jules' sharpest critic and most valuable ally — Google Jules 的 "critic-augmented generation":模型评估自己的输出,flag → improve 循环
权威第三方
- Components of a Coding Agent — Sebastian Raschka ⭐⭐⭐ — 系统性拆解 Coding Agent 组件:repo context、tool design、prompt-cache stability、memory、long-session continuity、context compaction。含纯 Python Mini Coding Agent
- Agentic Engineering — Addy Osmani ⭐⭐⭐ — Vibe Coding vs Agentic Engineering 区分,"vibe coding means going with the vibes and not reviewing the code"
- My LLM coding workflow going into 2026 — Addy Osmani — Google 工程师的 AI 编程工作流,spec.md 先行、code review 重要性、"LLMs reward existing best practices"
- How to write a good spec for AI agents — Addy Osmani — Spec 写作指南,"kick off with a concise high-level spec, then have the AI expand it into a detailed plan"
- How to Harness Coding Agents with the Right Infrastructure — Alex Lavaee ⭐⭐⭐ — 明确定义 "Four Pillars":Context Architecture / Agent Specialization / Persistent Memory / Structured Execution
- Skill Issue: Harness Engineering for Coding Agents — HumanLayer ⭐⭐⭐ — "it's not a model problem",harness = agent's runtime/peripherals
- From Vibe Coding to Agentic Engineering — Karpathy @ Sequoia Ascent 2026 ⭐⭐⭐ — Karpathy 主题演讲,Vibe Coding 提升下限,Agentic Engineering 探索上限
行业综合分析
- From Prompts to Harnesses — Four Years of AI Agentic Patterns — Prompt Engineering → Context Engineering → Harness Engineering 三次范式跃迁的时间线梳理
- Anthropic 2026 Agentic Coding Trends Report (PDF) ⭐⭐⭐ — 官方趋势报告,8 大趋势
- Everything I Learned About Harness Engineering and AI Factories in San Francisco — Escape.tech — SF 一周调研报告,YC DevTool Day + All Things Dev 实地见闻
- Top 2% Agentic Engineering Roadmap for 2026 — 10 大预测:Anthropic dominance、tool calling opportunity、multi-agent orchestration frontier
- Harness Engineering: What Every AI Engineer Needs to Know in 2026 — Yanli Liu — 三大阵营对比
- State of AI Coding: Context, Trust, and Subagents — Turing Post — AI Engineer Summit 总结,"if you believe a bigger model will save you, you are thinking about this moment the wrong way"
- Anthropic's Harness Engineering: Two Agents, One Feature List — Richard Hightower — Anthropic Harness 文章解读
- How to Build Future-Proof AI Coding Agents — GrowwStacks — 3 层架构:UI → Model → Harness
- Vibe Coding vs Agentic Engineering in 2026 — Beam AI — 生产环境对比
学术
- Building Effective AI Coding Agents for the Terminal ⭐⭐⭐ — 学术界首次形式化 Harness