做产品 PMaker 首页
搜索
跟随系统
颜色主题
空格的键盘
六域决定模型能不能交付Harness模型与业务环境之间的控制层Identity职责、权限与禁止动作Orchestration路径、依赖与人工节点Gate阶段准入与输出验收Recovery状态、重试与回退组件要可替换、可关闭、可消融

模型给出判断,Harness 决定这个判断能不能变成交付。

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 生成得更强」的军备竞赛,那是厂商的赛道,你在里面赢不了。

参考资料

  1. Harness engineering: leveraging Codex in an agent-first world
  2. 云端 Agent 的经验教训
  3. 持续改进我们的智能体框架
  4. 《AI Agents in Depth》第一章 AI Agent 入门