一个在 Cursor 和 Grok Bot 上做了最久 Agent 外壳的工程师,被问了一个尖刻的问题:模型越来越强,你这层还留着干什么?他的回答不是辩护,是把这层东西重新拆了一遍。
每过半年,就会有人宣布某个「中间层」要消失了:先是提示词工程,然后是 RAG,再然后是 Agent 框架。这一轮被点名的是 harness——那个包在模型外面、负责让它真的能把事做完的东西。这场演讲的价值在于:讲者既不是唱多的布道者,也不是唱空的旁观者,他是那个亲手删过自己代码的人。
这句话来自 LangChain 的 Vivek Trivedy,是行业里流传最广的一句定义:只要你不是模型本身,你就是 harness。它听上去像废话,但恰好说明了为什么这层东西总被低估——因为它没有固定形状,模型每变强一次,它的边界就往后挪一次。
换个更好懂的比喻:模型是发动机,harness 是底盘、变速箱、方向盘、仪表盘和刹车。同一台发动机装进不同的车,能跑多快、能开多远、会不会翻车,完全不是一回事。而发动机功率翻倍的时候,底盘不是「没用了」,是得重做。
讲者给出的分层和那张封面图一致,可以压缩成两张皮:运行时层管「在哪跑、断了怎么接上」,上下文与编排层管「模型此刻能看到什么、什么时候该换个人来干」。他自己管第二层叫「蛮荒西部」——规则最不清楚、迭代最快、也最吃经验的地方。
值得单独说一句的是 Compaction(压缩)和 Model Routing(模型路由)这两个词。前者决定长对话被怎样折叠成「还记得的部分」,后者决定哪一步该交给便宜模型、哪一步必须用贵的。这两件事模型自己都不做,但它们对最终体验的影响,往往比换模型大。
Jediah Katz 于 2025 年初加入 Cursor,自述是在 agent harness 上工作时间最久的工程师之一。Cursor 被 SpaceX 收购(2026 年 6 月宣布,约 600 亿美元全股票交易)之后,他进入 SpaceXAI,参与 Grok Bot 的 harness 工作。
这个履历有意思的地方在于:他先后待过的两个 harness,一个是把编程任务做到极致的(Cursor),一个是把「替人办事」作为目标的(Grok Bot)。所以他能同时提供两种经验——一种关于「什么正在被模型吃掉」,一种关于「什么反而要加回来」。官方推文把这场演讲概括成一句话:inside Grok Bot, is the agent harness dead?
演讲开头给了一条很干净的线索:同一个岗位在三年里换了三次名字。这条线索本身就是「模型吃掉中间层」的实测记录。
| 时间 | 头衔 | 当时的核心工作 | 后来被谁接手 |
|---|---|---|---|
| 2023 | Prompt Engineer | 把话说明白,让模型输出可用 | 模型理解力提升 + 指令微调 |
| 2025 中 | Context Engineer | 决定模型此刻该看到哪些信息 | 长上下文与检索能力 |
| 2026 | Harness Engineer | 循环、状态、权限、成本、边界 | 正在被追问中 |
头衔不是营销词,是「哪一层还有真问题」的指示器。当某个头衔开始被大量嘲讽,通常意味着那层活已经被模型吸收得差不多了。
这不是修辞,是列了清单的减法。Cursor 删掉的东西包括:
但这里有个容易被跳过的推论:减法成立的前提,是模型自己会了。所以删掉的东西是能力的证据,不是这层东西的死亡证明。一个中间层能持续删自己,恰恰说明它还在做判断——判断哪些活已经不该由人来教了。
演讲专门用一节处理反方观点,而且没有敷衍。两个被引用的说法都来自一线:
这些声音的共同结构是:把「曾经必须写的东西」等同于「harness 本身」。而按第一性原理拆,harness 的定义是「模型之外的全部」,所以它的边界天然会随模型滑动。争论「harness 会不会死」,其实是在争论一个定义,而不是一个事实。
真正值得问的问题因此变了:在模型吃不到的地方,还剩哪些工作?这正是后半场的主题。
演讲里最有说服力的一段不是观点,是数据。两组独立研究指向同一个结论:
| 研究 | 设计 | 结论 |
|---|---|---|
| UC Berkeley 「HarnessTax」 |
7 个前沿模型 × 3 个 harness(Claude Code / Codex CLI / Pi)= 21 种组合,跑 SWE-bench Lite 与 Terminal-Bench 2.0 | harness 对成功率的影响:SWE-bench Lite 上 ≤ ±2 个百分点,Terminal-Bench 2.0 上 约 ±5 个百分点;但单任务成本差异巨大 |
| Apple + EPFL | 专门的 MLE harness 在 MLE-Bench 上评测 | 同样没有带来显著提升 |
这两份数据是「harness 已死」论最硬的弹药,而讲者没有反驳它们——他换了指标。
如果「harness 的价值 = 提升准确率」,那么 ±2 个百分点意味着这层东西确实该退场。但如果把视角换成工程视角,同一份数据说明的是另一件事:「分数」这个维度正在被模型吃掉,而成本、可靠性、可控性这几个维度没有。
这就是为什么他把 efficiency(效率)单独列进「模型吃不掉」的清单。两个系统 eval 分数相近,一个任务烧 2 毛、一个烧 2 块,选哪个不是模型决定的,是 harness 决定的——缓存命中率、token 使用效率、哪一步走便宜模型,全是外壳的选择。
飞轮的逻辑很朴素:用得越多 → 真实任务轨迹越多 → 越清楚模型需要看到什么 → 表现越好 → 用得更多。
但讲者点出了它的另一半:飞轮转得越快,说明模型吸收得越快。你今天写的最聪明的提示词,明年大概率是模型的内置能力。所以 harness 团队的日常不是「积累」,而是持续的自我否定——每半年回头审一遍,哪些东西现在该删了。
为了试长时运行 harness 的上限,Cursor 用一个叫 Grind Swarm 的 harness 从零写出了一个浏览器。这件事的看点不是「AI 能写浏览器」,而是它的代价:成本极高,而且据说把 Cursor 搞宕机过一两次。
这个案例的教训很工程化:长时任务里,harness 的瓶颈不是「够不够聪明」,而是扛不扛得住——状态会不会丢、能不能断点续跑、并发和资源会不会把自己打穿。这类问题不会随着模型变强而消失,反而会因为任务变长而放大。
这是整场演讲最有意思的反转。在 Cursor 里做减法的人,到了 Grok Bot 却在做加法:新的提示词、新的防护措施,一样样加回来。原因是任务类型变了。
为什么这些任务需要把「旧东西」加回来?因为新任务不是靠更强的推理进入的,是靠更大的授权进入的:允许它碰你的账号、你的日程、你的钱,允许它反复来问你。授权一旦扩大,护栏就必须存在——这不是技术退步,是边界扩张的必然成本。
如果整场演讲只能记一页,就是这一页。讲者把「不会被模型吸收的部分」归纳为四类,前三类是官方的章节名,第四类是他反复强调的隐性维度:
模型能让已有任务做得更好,但「哪种任务值得交给 agent」是外部判断:做幻灯片、订行程、管日程、替人汇报。这类扩张靠的是产品判断与授权设计,不是参数。
短任务可以跑在笔记本上,几天的任务不行:要持久化的状态、要断点续跑、要并发、要计费、要可观测。这些是基础设施问题,模型再强也不会替你做。
按 agent 收窄权限、按人收窄权限;防止一个循环把生产库删了;也防止一个循环把 API 账单刷到五位数。信任不是模型能力,是制度设计。
eval 分数接近的系统,单任务成本可能差十倍。缓存命中率、token 效率、模型组合策略——这些优化没有上限,也没有终点。
一句话总结这四件事:模型的进步把「能力」变成了商品,把「边界、基础设施、信任、经济性」留成了工程。而后者恰好都是无法被一次模型发布覆盖的东西。
讲者的预测很直接:六个月内,90% 的 agent 工作会离开笔记本电脑,在云端运行。
这条预测和「harness 不死」其实是同一件事的两面。任务一旦长到以「天」为单位,笔记本就是错误的执行环境:它会休眠、会断网、会被人合上。而把 agent 从本地搬到云上,本身就是一个纯粹的 harness 工程——状态怎么持久化、连接怎么恢复、权限怎么下发、成本怎么计量。
剩下那 10% 也很清楚:人在现场、需要低延迟、或数据不能出门的场景,会继续留在本地。
答案是:「替模型补短板」的那部分 harness 会死,而且死得很快;「替人立规矩、扛责任」的那部分不会。
这场演讲最值得带走的方法并不是某个结论,而是一种审阅习惯:把所有 harness 组件摊开,逐个问一句——这是在补模型不会的东西,还是在定义一件模型不该自己决定的事?前一类每半年清一次,后一类每半年加固一次。