过去一年,AI Agent 成了最拥挤的赛道。接模型、挂工具、堆工作流——仿佛只要多套几层能力,一个真正能自主干活的 Agent 就会自然冒出来。
但现实是,多数 Agent 像个智商高但手脚不听使唤的天才——脑子转得飞快,拿筷子总掉地上。
于是业界陷入了一个集体焦虑:"模型还不够聪明。等下一版。"
这个判断,很可能从头就是错的。
最近 Hugging Face 做了一组实验,结果足以让整个行业停下来重新想一遍:他们完全冻结了一个开源模型的权重——不微调、不继续训练、不碰任何参数——唯一改变的,是包裹在模型外面的执行代码。结果呢?同一个模型,同一批任务,综合得分从 3.5% 跳到了 80.1%。
差距 76 个百分点,跟模型本身一分钱关系都没有。
一、一个被大多数人忽略的变量:Harness
Hugging Face 的机器学习工程师 Joel Niklaus 做了一个叫"Don't Train the Model, Evolve the Harness"的实验。核心操作极其克制:拿开源模型 DeepSeek-V4-Pro,在特定法律 Agent 基准上做测试,唯一的变量是包裹在模型外层的执行逻辑——也就是所谓的 Agent Harness。
最初的测试里,某些 Harness 下的得分竟然是 0%。不是模型不会做,是模型把结果存错了文件名,测试程序根本读不到。
0 分不是在测模型的智力,是在测 Harness 有没有把文件存对地方。
换到不同 Harness,效果差异触目惊心:从 mini-swe-agent 的 3.5%、Goose 的 23.2%、Pi 的 45.4%,一路拉到原始 LAB harness 的 63.4%。经过约 22 轮代码自动迭代优化后,最终 pooled score 提升到了 80.1%,all-pass rate 从 0% 提升到 5.0%。
这个完全没动过权重的开源模型,仅靠优化 Harness,表现就追平了业界顶级闭源模型 Claude Sonnet 4.6,运行成本仅为原来的 1/7。更关键的是,优化好的 Harness 迁移到同族小模型 DeepSeek-V4-Flash 上,仍然带来了 14.4 分的提升。
这说明什么?代码层面的执行机制,远比 prompt 调优更容易沉淀和跨模型迁移。
前 Lightning AI 工程师 Akshay 有一个精妙的类比:一个原始的 LLM 只是一个没有内存或硬盘的 CPU;Harness 才是管理内存、I/O 和驱动程序的操作系统。没有操作系统,CPU 再强也跑不了任何应用程序。
但大部分团队现在的做法是:给 CPU 装了一个极其简陋的 BIOS,然后抱怨 CPU 不够快。
二、Harness 三层法则
复盘 Joel Niklaus 的实验和 Karpathy 的方法论,可以将 Agent Harness 拆解为三个层次。这三层构成了一个判断框架——你可以用它来诊断自己的 Agent 系统卡在哪一层:
第一层:I/O 层——文件存对了吗?
听起来荒谬,但这是多数 Agent 失败的第一原因。模型把答案算对了,但写到了错误的位置、用了错误的格式、没通过校验。
实验中的 0% 得分、3.5% 得分,全部卡在这一层。这意味着,你花了几千万训出来的模型,它的 Agent 表现可能被一个文件路径的 bug 直接归零。
这一层的黄金法则是:确保 Agent 的输出管道有严格的格式校验、错误重试和日志记录。不是聪明的问题,是工程的笨功夫。
第二层:编排层——上下文有没有"腐烂"?
Agent 任务越复杂、交互轮次越多,上下文管理就越容易出问题。模型将关键信息置于上下文窗口中间时,性能会直接下降 30% 以上。成熟的 Harness 会压缩历史记录、屏蔽旧输出、动态摘要——核心是用最少的高信息密度 Token 获得最佳结果。
这一层的判断标准很简单:当你把 Agent 的对话历史打印出来,有没有 60% 以上是模型自己的中间输出?如果有,你的上下文正在拖累模型。
第三层:循环层——Agent 能否持续进化?
这是 Karpathy 的 AutoResearch 项目(9 万 Star)真正贡献的方法论。以 Karpathy 20 年的模型经验,他手调出来的模型跑了两天,Agent 自动运行了 700 次实验,找出了 20 项连他自己都忽略的代码改进——包括注意力机制中一个遗漏的标量乘数。
这种需要海量耐心的精细优化,人类在十几轮后就会筋疲力尽,但 Agent 不会。
要使这个循环有效运作,三个要素缺一不可:
- 验证器——判断结果好坏的自动化机制。没有它,Agent 就是在给自己批作业。
- 状态文件——记录每次尝试的结果,避免进程重启后从头再来。
- 停止条件——达到目标或撞到最大轮次必须停止,否则能烧光你的 Token 预算。
三、Loop 的双刃:当试错成本趋近于零
研究人员在 Karpathy 的基础上,进一步提出了"双层自动研究"(Bilevel Autoresearch)。他们在原有循环外再套了一层循环:内层负责优化模型,外层负责优化内层的搜索逻辑。结果是——性能比 Karpathy 基准提升了 5 倍,所有提升均来自架构改进。
外层循环的关键作用在于打破了 LLM 的"思维定势":内层循环极易陷入模型先验认知的搜索模式,即使策略失效也会反复尝试;而外层循环强制模型去探索它本能回避的方向,从而榨取出超越模型自身认知的潜力。
Shopify CEO Tobi Lutke 连夜用内部模型测试,醒来发现质量提升了 19%,模型大小减少了一半。
但 Loop 自转也有两个隐性代价:
理解债。循环生成的代码并非人工编写,仓库代码与开发者真正理解的代码差距越来越大。一旦系统崩溃,Debug 成本极高。
认知让渡。循环一旦跑通,人极易停止思考。同样的工具,有人用来加速已理解的工作,有人却用来逃避理解工作。当外层机制开始自转,人最容易犯的错误不是技术性失误,而是用工具来替代了判断。
Karpathy 花 20 年积累的经验,在 700 次自动实验中被挑战和超越——这既是效率的胜利,也是一个信号:当机器的自我优化速度超过人类的认知跟进速度,决策者需要保持对底层逻辑的清醒掌控。
四、落到行动:三类人的三件事
这篇文章没有告诉我们"不用训模型了",而是告诉我们"你离 Harness 的及格线还差得远"。
如果你在 build Agent 系统,对照 Harness 三层法则检查你的代码:文件路径和格式校验做对了吗?上下文管理的 Token 效率达标了吗?有没有设置验证器和停止条件?大多数团队连第一层的及格线都没过。
如果你是模型使用者,别再抱怨模型不够聪明。先问自己的 Agent 系统——你把模型的能力真正释放出来了吗?还是你的 Harness 正在把 80 分的模型封印在 3 分的水平?
如果你是决策者,停止追问"哪个模型最好",开始追问"我们的 Agent 系统哪一层最弱"。模型是 commodity,Harness 才是差异化竞争点。你的竞品不会因为换了更强的模型就超过你——但如果他们的 Harness 比你完善一层,你的模型再强也追不上。
参考来源:
- Don't Train the Model, Evolve the Harness by Joel Niklaus (Hugging Face)
- Loop Engineering: The Karpathy Method by Codila
- 36氪:76%的性能提升与模型无关?Karpathy 700次 Loop 实验揭开Agent最大误区
