Harness:模型之外的工程控制层
模型负责理解、判断和模糊决策;能不能交付,取决于模型外面那层工程控制层——六个域分别归谁负责。
模型负责理解、判断和模糊决策;能不能交付,取决于模型外面那层工程控制层。这层东西叫 Harness——它不提升模型智商,它决定模型的判断能不能落到你的系统里、出事时能不能收回。
模型负责什么,Harness 负责什么
模型擅长从含糊输入里推断意图、在不完整信息下做判断、生成需要语义的内容。它不擅长记住你公司的发布流程、在崩溃后恢复状态、或者拒绝一次越权写库。
分工因此是清楚的:语义理解、规划、模糊判断交给模型;确定性流程、校验、数据传递、状态与权限放进 Harness。把「想」和「做」拆到不同平面还有直接收益——有团队把规划(脑)与执行(手)解耦之后,p50 TTFT 降了约 60%,用户等待的第一个字节不再被工具执行的长尾拖住 cursor-agent-harness。
Harness 做的五件事
Harness 常被当成一个整体,其实它做五件事:Context(给什么信息)、Tools(给什么手脚)、Constrain(故障安全默认值——能力一律先关,要用才显式开放)、Verify(自动判断结果对错)、Correct(发现问题就修正或回退)ai-agent-book。前两件决定模型能不能做对,后三件决定它做错时收不收得回来。多数团队的预算集中在前两件,事故全部发生在后三件。
后两件各有一条容易漏的硬规矩。Verify 只认结构化数据:检查工具返回的 JSON 字段、退出码、断言结果,不去读模型自由生成的那段话——后者可能已经被注入操纵。用模型自己的话验收模型,等于让被告出具无罪证明。Correct 在确认救不回来之前不暴露中间态:工具失败先静默重试或接续生成,等判定确实无法恢复,再降级、回退或转人工;把半成品直接摊给用户,是拿用户体验为自己的重试买单。
这五件事和下面的六个域不是两套骨架:约束、验证、纠正三件落到责任表上,就是 Gate 和 Recovery 两域——也恰好是最常没人认领的两域。
至于这层值多少钱,有一个不依赖具体模型代际的参照:LangChain 在 Terminal Bench 2.0 上把成绩从 52.8% 提到 66.5%,排名从 30 名开外进到前 5。模型没换,改的全是 Harness——让 Agent 自己检查执行结果、检测是否陷入重复循环、调整思考策略。重点不是"Harness 值 13 个百分点",而是当模型不再是差异项时,竞争优势整块转移到模型外面。
六个域,各有产物与责任人
| 域 | 职责 | 主要产物 |
|---|---|---|
| Identity | 职责、输入输出、能力、权限、禁止动作 | Agent Contract、Policy、Capability Allowlist |
| Orchestration | 路径、阶段、依赖、并行、人工节点 | Workflow、State Machine、Router |
| Context | 信息选择、隔离、压缩、引用、交接 | Context Policy、Handoff、ArtifactRef |
| Gate | 阶段准入、输出验收、发布门禁 | Validator、Checklist、Grader |
| Recovery | 状态、重试、回退、取消、恢复 | Execution Ledger、Checkpoint、Recovery Policy |
| Evolution | 失败归因、经验、规则与行为资产治理 | Trajectory、Experience、Feedback Patch |
每个 Agent 项目都要明确六域的责任归属,安全、权限、数据完整性和硬门禁必须落到系统里,不能只写在提示词中 openai-harness。最常见的两个漏洞是 Gate 和 Recovery 没人认领:Gate 退化成一句「请仔细检查」,Recovery 被默认成「失败了就重跑一次」。
可替换、可关闭、可消融
每个 Harness 组件都要记录它解决的问题、成本和验证指标,并且能单独替换、单独关闭。理由是模型会移动地基:为上一代模型的某个怪癖打的补丁,在新模型上可能从救命变成纯粹的负担——Anthropic 就遇到过为模型的 context anxiety 加的 reset 逻辑,在下一代模型上变成 dead weight。判据不是它现在有没有用,而是你能不能在五分钟内关掉它并跑一遍 eval 看差别。
对称的纪律是:采用 Harness 不等于自动引入多 Agent、向量库、耐久 Workflow 或治理平台。这些每一项都要单独过一遍复杂度阶梯。
下一代模型发布时,这笔投入是获益还是作废
每项 Harness 投入都用这一个问题检验:下一代 SOTA 模型发布时,它是获益还是作废。
替代或补偿模型推理能力的投入——拆解步骤、提示词编排、流程微调——会被模型下一次升级吸收,半衰期以一个模型版本计。给模型提供它自己造不出的信息的投入——内部系统的真实状态、构建结果、日志、测试反馈——持续增值。这不是说前者一律不做,而是你要清楚自己买的是多长时间。
组织红利是乘积,不是和
组织红利约等于模型能力乘以环境能力。模型是租来的因子,跟着厂商的节奏上涨,你控制不了;环境是自有因子,只能自建,而且只涨不跌。乘积关系意味着环境为零时,模型再强结果也是零。
Cursor 把 agent 搬到云端时踩到的正是这点:本地运行时 agent 默认拥有一整套完整环境——装好的依赖、登录态、缓存、正确的数据;云端是干净的,那些隐形前提全部消失,成为质量的隐形杀手。他们的结论是环境配置不是部署细节,而是质量的前置条件 cursor-cloud-agents。
所以工程投入优先流向环境与验证资产:把内部系统改造成有反馈、可验证的状态,让 agent 能自己拿到 ground truth。不要参与「让 AI 生成得更强」的军备竞赛,那是厂商的赛道,你在里面赢不了。
