跳转至

第 16 章 工程实践与未来:agent-first 团队、控熵、造你自己的 harness

我们从最内圈的循环,一层层拆到了最外层的运行时。这一章,把所有层装回去——谈三件"全局"的事:一个 agent-first 团队到底怎么运转、怎么对抗代码熵、以及你该怎么造自己的 harness。最后,诚实地聊聊这件事的未来与局限。

一、agent-first 团队:人掌舵,agent 执行

回到第 1 章那句 OpenAI 的话:"Humans steer. Agents execute." 用一个 3–7 人小团队、0 行手写代码、产出百万行的产品,他们的工作方式到底变成了什么样?

变化的核心是:人不再在"写代码"这一层工作,而是上移到了"设计环境、明确意图、验收结果"这一层。 具体说,人干三件事:

  • 定优先级:决定先做什么、什么重要。
  • 翻译意图:把模糊的需求翻成 agent 能执行的、可验收的标准。
  • 验收结果:判断做出来的东西对不对、好不好。

而当 agent 卡住时,他们的反应特别值得学。不是"再试一次""换个 prompt",而是问一句:"缺了什么能力,怎么把它对 agent 变得既可见又可强制?" 然后——让 agent 自己把这个能力补上(写那个缺的工具、那条 lint、那份文档)。

这就是 harness engineering 的日常:把每一次 agent 的失败,当成"环境还缺一块"的信号,去补环境,而不是去骂模型。 第 1 章讲的 Harness Engineer、Agent 全栈、FDE 这些新岗位,干的正是这个——工程师的价值,从"写得快"变成了"把环境设计得让 agent 干得好"。

〔配图 1:人与 agent 的分层〕——上层"人":三个动作图标(定优先级 / 翻译意图 / 验收结果)+ 一句"agent 卡住 = 缺能力的信号 → 补环境"。下层"agent 群":在人设计好的环境里大量执行(写代码/测试/文档)。一条粗线分隔两层,标"人掌舵,agent 执行"。底部:"把失败当成'环境缺一块',让 agent 自己补上。"

二、吞吐量改变工程哲学

当 agent 的产出速度远超人的审查速度,很多天经地义的工程规矩会反过来。OpenAI 的实践里有几条很反直觉:

  • 最小化阻塞式合并门禁:PR 短命、快进快出,不设一堆"必须人工审批才能合"的卡点。
  • flake 用重跑而非长期阻塞:测试偶发失败?多跑一次,而不是停下整条线去查。
  • 因为在高吞吐环境里,纠正是廉价的,等待是昂贵的——错了大不了再让 agent 改一版,但卡住整个流水线去等人,代价高得多。

但作者也诚实地加了一句重要的警告:这套做法在低吞吐环境里是不负责任的。它成立的前提,是 agent 产出快、纠正成本低。你不能不分场景照抄"少设门禁"——先看你的纠正成本是不是真的够低。 这本身又是一次"反教条":好的实践都是有前提的。

三、控熵与垃圾回收:让品味自动复制

全自动也带来一个新麻烦:agent 会复制仓库里已有的模式——包括不好的那些。 久而久之,代码就会"漂移"、长出一堆 AI 味的重复与凑合。OpenAI 一开始靠人工每周五花 20% 时间清"AI slop",结果——不可持续

他们的解法很有启发性,分两步:

  1. 把"品味"编码成机械规则(golden principles):把"该怎么写才算好"写成明确、可机械检查的规则(比如"优先用共享工具包而不是手搓 helper""不靠猜数据形状、在边界处校验")。
  2. 用周期性的后台 agent 做"垃圾回收":定时扫描偏离这些规则的地方,自动开小的重构 PR,大多数一分钟内就能审完自动合。

这背后是一个很美的类比:技术债像高息贷款——持续小额偿还,远比攒着集中爆还划算。 人的品味只被捕捉一次(写成规则),然后被持续地强制在每一行代码上。这正是第 2 章那几十条 deny 级 lint、第 4 章 AGENTS.md 的 doc-gardening agent 在干的事——把"对 agent 可见的才存在"用到极致:连"好品味"都要写下来、机械执行,否则它就会在熵增里被冲散。

〔配图 2:熵 vs 垃圾回收〕——左"放任":一个小雪球(技术债)滚下坡越滚越大,最后变成压垮房子的巨石,标"攒着集中还 = 高息爆雷"。右"持续 GC":一个后台 agent 拿扫帚每天扫一点、开小 PR,雪球始终很小,标"品味写成规则,每日小额偿还"。底部:"人的品味捕捉一次,机器持续强制。" 中文清晰。

四、造你自己的 harness:一份分层检查清单

把全书拆过的层装回去,就是一份"自建 harness"的清单。每一层给"最小可用"和"进阶"两档——你可以照着自查现有 agent 缺哪一层:

最小可用 进阶
循环(3) 调模型→执行工具→回灌的 while 提交/事件解耦、可中断、token 记账
上下文(4) 一段系统提示 + 历史 片段化拼装、AGENTS.md 当目录、按需注入
工具(5–6) 几个手写工具 注册表/路由、好规格、补丁式编辑、code mode
能力(7–8) 内置工具 技能渐进加载、MCP 接外部工具、延迟加载
安全(9) 一个沙箱开关 执行策略 + 三平台沙箱 + 审批分档 + 独立 guardian
长程(10) 不丢历史 压缩/重置、目标、记忆、进度工件交接
多代理(11) 单 agent 按需 spawn、orchestrator、共享状态图
评估(12) 跑测试 独立 evaluator、评审标准成 skill、做判分离
观测(13) 打日志 遥测回喂 agent、可观测栈、用完即焚
运行时(14) 一个 CLI app-server 协议、headless、MCP 服务端

关键不是一次性全做满,而是——回到第 3 章那句 Anthropic 的话——"先找最简单的方案,需要时才加复杂度":你的 agent 现在栽在哪一层的跟头上,就先补那一层。

〔配图 3:自建 harness 装备清单(可打印)〕——把上面这张表画成一张"装备清单/技能树":从内到外十层,每层一个勾选框,旁边标"最小 / 进阶"两档。顶部一行字:"你的 agent 现在栽在哪层,就先补哪层——别一上来全做满。" 适合打印贴墙。中文清晰。

五、反框架:harness 会随模型一起变

最后,必须讲一条贯穿全书的"反教条",否则你会把这本书读成一套要照抄的银弹——那就南辕北辙了。

Anthropic 把它说得最透:harness 里的每一个组件,都编码了一条关于"模型当下做不到什么"的假设。 上下文重置,是因为模型当时有上下文焦虑;evaluator,是因为模型当时不会自查;某个细致的工具说明,是因为模型当时容易用错。模型一变强,这些假设就可能过期。 所以:

  • 新模型来了,先做减法:把不再承重的组件拆掉(Opus 4.6 让 Anthropic 删了上下文重置、让很多 evaluator 变多余)。
  • 但同时,更强的模型也打开了新的可能:能让你去够以前够不着的、更复杂的任务。

于是 Anthropic 那句话成了全书最好的结尾之一:"有趣的组合空间不会随模型变强而缩小,它只是移动。" harness engineering 不会因为模型变强而消失——它只会不断变换战场。OpenAI 也坦承还在学:一个全 agent 生成的系统,架构如何在数年尺度上保持连贯、人的判断在哪里加杠杆最大,都还是开放问题。

〔配图 4:组合空间在移动,不在缩小〕——一条横轴"模型能力",一片"有趣的 harness 组合空间"的云。左(弱模型)云在偏左;右(强模型)云整体右移(不是缩小)——左边一些旧组件(重置/evaluator)淡出,右边一些新组件(更复杂的自治任务)浮现。底部:"模型变强,先做减法;战场只是移动,不会消失。" 中文清晰。

六、回到开篇

绕了十五章,我们回到第 1 章那句话:

模型是商品,harness 是杠杆。

当所有人都能用上同样的模型,真正拉开差距的,是你给模型搭的那套挽具——它能用什么工具、被什么约束、记得住多少、跑飞了怎么纠、跨天怎么接力、做错了谁来判、出了问题你看不看得见、又怎么被调用起来。这十五层,就是那套挽具的全部。

而你刚刚做完的事——逐行读懂一个生产级 harness(Codex)——正是第 1 章那份 DeepSeek JD 写在任职要求里的能力。你不只是读完了一本书,你具备了一项正在被一线团队抢着要的工程能力。

剩下的,是去造你自己的那一套。Humans steer. Now go build your harness.

本章小结

  • agent-first 团队:人上移到"定优先级 / 翻译意图 / 验收结果",把 agent 的失败当成"环境缺一块"的信号去补环境(且让 agent 自己补)。
  • 吞吐量改变哲学:高吞吐下"纠正廉价、等待昂贵",少设阻塞门禁、flake 重跑——但低吞吐环境别照抄,前提是纠正成本足够低。
  • 控熵 = 把品味自动复制:把好品味编码成机械规则 + 后台 agent 周期性"垃圾回收";技术债是高息贷款,持续小额偿还。
  • 自建 harness:按十层清单自查,先补你现在栽跟头的那层;先简单、需要时才加复杂度。
  • 反框架:每个组件都编码了"模型当下的短板",模型变强先做减法;"组合空间只移动、不缩小"——harness engineering 不会消失,只会换战场。
  • 回到开篇:模型是商品、harness 是杠杆;读懂一个真实 harness,就是一线团队抢着要的能力。去造你自己的那套。

——全书完。


参考来源

方法论与外部观点(本章主源)

全书回扣

  • 第 2 章 — deny 级 lint 与架构纪律
  • 第 4 章 — doc-gardening 与"对 agent 可见"
  • 第 10 章 — 纵深防御
  • 第 11 章 — 长程接力
  • 第 13 章 — evaluator 随模型能力进退
  • 第 1 章 — DeepSeek「AI Harness Engineer」JD

注:本章为综述与方法论收束,不依赖单一源码文件;实践建议需按你自己项目的吞吐量、风险与团队规模裁剪。

留言