Harness自我改进机制全解析(非常详细),斯坦福Meta-Harness从入门到精通,收藏这一篇就够了!

张开发
2026/5/23 13:29:21 15 分钟阅读
Harness自我改进机制全解析(非常详细),斯坦福Meta-Harness从入门到精通,收藏这一篇就够了!
那……既然 Harness 这么重要为什么还得靠人类工程师一轮一轮地手动迭代呢斯坦福的 Yoonho Lee切尔西·芬恩的博士生和 Omar KhattabDSPy 的作者给出了一个回答把 Harness 优化本身也变成一个 Harness。论文叫 Meta-Harness名字起得差点让我以为是 Meta 的新模型……01先说结果在文本分类任务上Meta-Harness 比当前最好的人工设计方案 ACE 高了 7.7 个百分点同时 context 用量只有 ACE 的四分之一。在 IMO 级别的数学推理上一个被自动发现的检索策略在五个从未见过的模型上平均提升了 4.7 个百分点。而在 TerminalBench-2 这个 Agent 编程基准上Meta-Harness 自动发现的 Harness 拿到了 76.4% 的通过率超过了人工精心调教的 Terminus-KIRA74.7%在所有 Opus 4.6 Agent 中排名第二。用 Haiku 4.5 跑的话更是直接排名第一超过所有已公开的 Haiku 方案。Meta-Harness 在文本分类和 TerminalBench-2 上的表现这组数据放在当前 Harness Engineering 那篇文章的语境下看其实在回答一个更根本的问题Harness 设计能不能被自动化答案似乎是可以而且效果还挺好。02怎么做的Meta-Harness 的核心机制其实还挺简洁的。想象一个程序员在调试代码。他不会只看最终报错信息就动手改而是会翻看之前的几次提交记录对比哪些改动引入了 bug哪些改动其实是有效的但被别的变更搞砸了。然后基于这些判断提出下一轮修改。Meta-Harness 做的就是这件事只不过调试的对象从代码变成了 Harness 本身。整个流程分三步循环Meta-Harness 搜索循环翻档案→跑评估→存档第一步翻档案。一个 Coding Agent论文用的是 Claude Code Opus 4.6去读文件系统里存储的所有历史记录包括之前每一版 Harness 的源代码、评估分数、执行 trace。第二步跑评估。把新提出的 Harness 拿去跑实际任务收集成绩和 trace。第三步存档。把这一轮的所有产物代码、分数、推理过程、执行日志全部写回文件系统供下一轮查阅。就这样不断循环。论文里的典型配置是跑 20 轮迭代每轮评估约 60 个候选 Harness。Meta-Harness 搜索循环流程和已有的文本优化方法OPRO、TextGrad、AlphaEvolve、GEPA 等相比Meta-Harness 最关键的设计选择在于给 proposer 完整的文件系统访问权限取代压缩后的摘要。这个选择看起来简单背后的考量却值得展开说说。03完整历史现有的文本优化方法基本都在做某种形式的信息压缩。有的只保留分数有的只看最近一次的结果有的让模型先生成一个摘要再做决策。完整历史 vs 压缩摘要信息完整度决定优化效果这些压缩在小规模任务上问题不大。但 Harness 优化有个特殊之处因果链条特别长。一个 Harness 的某个设计决策比如 prompt 里加了一句清理指令可能在 30 步之后才导致 Agent 陷入死循环。如果你只看最终分数或者只看压缩后的摘要这种长程因果关系就被丢掉了。论文做了一组消融实验结果可以说非常地说明了问题信息访问方式中位数准确率最高准确率只看分数34.641.3分数 摘要34.938.7完整文件系统50.056.7只给分数和摘要中位数准确率 34 左右。给完整的文件系统访问直接跳到 50。甚至摘要版的最高准确率38.7还不如完整版的中位数50.0。换句话说压缩信息不只是损失了一些边角细节而是丢掉了做出正确决策所需的关键线索。作者 Yoonho Lee 在讨论中也提到单次评估就能产生约一千万 token 的原始输出远超任何模型的 context window。所以不能把所有东西塞进一个 prompt必须让 Agent 自己决定去读什么。实际运行中proposer 每轮迭代平均读取 82 个文件范围 69-99其中 41% 是之前的 Harness 源码40% 是执行 trace剩下的是分数和其他文件。它的行为模式并非只看上一轮的结果会跨越多轮历史做对比分析。这也正是「完整历史」这个设计选择的价值所在让 Agent 自己做信息检索和因果推理比人类预设的压缩规则更灵活也更有效。04像人一样调试论文里最精彩的部分是附录 A 中那段 TerminalBench-2 的搜索轨迹分析。Proposer 的调试之旅从失败到转折第 1-2 轮迭代proposer 同时做了两件事修复了一个结构性 bug清理泄漏的标记符号同时改写了 prompt 模板。两个候选都从 64.4% 的基线大幅回退了。第 3 轮proposer 做了一件很像人类工程师会做的事它回去看了两个失败候选的改动记录注意到两者有一个共同点都改了 prompt 模板。于是它显式地推理“ 根本原因prompt 模板的变更cleanup 指令导致 Agent 在任务完成前就删除了必要的状态。结构性 bug 修复和有害的 prompt 变更混在了一起。这是个典型的混杂变量confound识别。它把结构性修复和 prompt 变更拆开单独测试了结构修复验证了回退确实是 prompt 造成的。接下来第 4-6 轮继续在控制流和 prompt 上做修改……继续失败。到了这个阶段proposer 倒是学到了一条经验规律碰 prompt 和完成逻辑的改动风险太高。第 7 轮转折来了。proposer 换了一个完全不同的策略不再修改任何现有逻辑改为纯粹的「加法」操作在第一次 LLM 调用之前加一个环境快照命令把当前系统环境信息追加到初始 prompt 里。不动别的只加信息。这个候选成了整个搜索过程中表现最好的。第 8 轮它把第 7 轮的「环境快照」和之前验证过的「标记符号清理」组合到一起理由是这两个修复针对的是不同的失败模式组合起来不会互相干扰。第 10 轮出现了跨实验迁移proposer 引用了一个来自另一轮搜索的结果注意到「不要清理服务产物」这个策略在之前的实验中值 18 个百分点的提升。整个过程就是一个工程师的调试思路尝试、失败、识别混杂因素、隔离变量、切换策略、组合已验证的修复、甚至跨实验迁移经验。只不过这个「工程师」是一个 Coding Agent。05搜索速度和其他文本优化器相比Meta-Harness 的搜索效率也值得关注。在文本分类任务上OpenEvolve 和 TTT-Discover 需要 40 次完整评估才能达到最终性能。Meta-Harness 在前 4 次评估内就追平了它们的最终成绩然后继续上升最终高出 10 个百分点以上。为什么会快这么多呢论文把这归因于最小化的外部结构。OpenEvolve 和 TTT-Discover 都有预设的搜索框架比如固定的变异算子、树搜索结构。这些结构在小规模问题上是有效的约束但在 Harness 这种搜索空间巨大的问题上反而成了限制。Meta-Harness 的外层循环几乎没有预设结构不指定 parent 选择规则不限制 proposer 的检索范围不约束修改的粒度。所有这些决策都交给 proposer 自己判断。这种「去结构化」的设计在 2026 年初才变得可行因为它依赖 Coding Agent 足够强大能自主完成「读文件→推理→写代码→提交」这整个流程。论文在脚注里也坦率地说了这一点。06Harness 长什么样论文还展示了 Meta-Harness 自动发现的几个 Harness 的具体结构每个都是 100-1000 行的 Python 程序。自动发现的草稿-验证策略流程文本分类任务中它发现了一个「草稿-验证」Draft Verification的两阶段策略。先检索 5 个最相似的样本做初始预测然后基于这个初始预测再检索 5 个「支持者」和 5 个「挑战者」标签不同但很相似的样本让模型决定是否修改判断。这个设计的巧妙之处在于第二轮检索依赖第一轮的预测结果相当于一种 self-challenging 机制。没有人类预先指定这个策略它从搜索过程中自然涌现了出来。数学推理任务中它发现了一个四路由的检索策略把问题分类为组合数学、几何、数论和默认四种类型每种类型用不同的检索和重排序参数。比如组合数学类问题偏好难度重排序来增加多样性而几何类问题则倾向保留原始的结构匹配结果。这些策略放在论文里看起来合理得近乎显而易见。但重点在于它们全都是 Agent 通过反复试错自己「长」出来的没有任何人类预设。07两个天花板当然这篇论文也有它的边界。两层天花板模型上限与 Harness 上限Gregor 问到“ 如果 LLM 本身还推理不了这个问题呢优化 Harness 不就只是在用更快的方式去量一个不会变的天花板吗Yoonho Lee 坦率回应“ Harness 优化确实有一个由模型权重设定的天花板。LLM 系统有两个组件模型和 Harness。这篇论文只自动优化了第二个组件。它不会创造权重中不存在的能力但能把我们之前没用上的能力释放出来。这个回应其实精确地呼应了我在 Harness Engineering 那篇文章里画的那张图Big Model 和 Big Harness两层天花板缺一不可。模型能力决定了理论上限Harness 决定了实际达到的高度。Meta-Harness 做的事情是把 Harness 这一层的天花板尽量往模型天花板靠近。另一个边界是泛化性的问题。有人担心 Meta-Harness 会不会过拟合到搜索集。论文在这一点上做了比较充分的验证在文本分类上测试了 9 个从未见过的数据集平均准确率 73.1%超过所有基线。在数学推理上同一个 Harness 在 5 个没见过的模型上都有效。Yoonho Lee 还提到了一个值得注意的观点在文本空间里过拟合比在权重空间里过拟合要难得多。因为在 prompt 里「记住」特定任务的答案远不如在权重里做这件事高效。而且 Harness 的代码是可读的人类可以直接检查有没有硬编码的投机取巧。这和权重空间的黑箱优化……倒是形成了一个挺鲜明的对比。08第三篇章如果把这篇论文放到整个 Harness Engineering 讨论的时间线上看它打开的其实是一个新的篇章。Harness Engineering 三篇章从人工到全自动第一篇章是「发现问题」。Mitchell Hashimoto 说每次 Agent 犯错就去工程化一个解决方案。OpenAI 的 Codex 团队用 5 个月和 100 万行代码证明了 Harness 比 Agent 本身更难搞。第二篇章是「总结方法论」。Anthropic 的工程博客详细展示了 GAN 式对抗、sprint 合约、Playwright 评估。Stripe 的 Minions 提出了 Blueprint 编排。这些都是人类工程师总结出的 Harness 设计模式。而 Meta-Harness 开启的第三篇章……是「让 AI 自己来」。当然了这并不意味着人类工程师会被替代。论文的 proposer 需要一个人类定义的「搜索技能」作为引导包括初始 Harness 种群、评估指标、文件系统的组织方式。人类仍然在定义问题的边界和目标。但在这个边界之内具体的 Harness 设计决策该用什么样的 prompt 结构、什么样的检索策略、什么样的状态管理逻辑这些可以交给 Agent 去搜索。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多文章