斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究
7378点击    2026-04-03 09:26

去年讨论Agent落地时,重点往往是Context Engineering。大家都在琢磨怎么放 Few-shot,怎么优化 RAG 检索的文本片段。但随着 Agent 任务复杂度的上升,控制数据流向、工具调度和异常处理的底层脚手架代码,往往比单纯拼接文本对系统性能的影响更大。这促使行业焦点从“塞什么字”向“怎么通过逻辑获取字”转移,即走向了 Harness Engineering,也就是今年的关键词:驾驭工程


今天介绍的这项研究《Meta-Harness: End-to-End Optimization of Model Harnesses》来自Stanford和MIT,Dspy的第一研究者Omar Khattab也参与了该项研究。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


核心工作用一句话总结:他们把Harness自动化了,它不满足于让Agent去优化Prompt或Skills,而是直接通过读取底层文件系统和完整的代码执行轨迹,自己优化重写自己的脚手架代码。并且Agent优化后的自己,性能上比Claude code要强大6倍。


这意味着未来的AI应用开发将逐渐告别人工Harness,Agent框架将从静态工具库走向能根据任务分布自我演化的动态系统。项目地址:https://github.com/stanford-iris-lab/meta-harness-tbench2-artifact


什么是Harness?


在Agent系统中,模型的表现不仅取决于其自身的权重参数,还极大程度上依赖于它的Harness(外围框架代码)。Harness是包裹在固定大语言模型周围的代码,它决定了系统在运行过程中要存储什么信息、何时检索信息以及如何将信息呈现给模型。


比如写一个coding Agent,Harness决定了是应该把整个代码库塞进Prompt中,还是先让模型执行 grep 命令搜索相关文件。改变同一个固定LLM的Harness,甚至能在同一个基准测试上产生高达6倍的性能差距。


现有优化的痛点


尽管Harness如此重要,但目前在工业界和学术界,Harness的设计和优化很大程度上仍然依赖人工(Manual Engineering)。工程师们需要手动检查失败的案例、调整启发式规则,并在少数几个设计方案中反复迭代。


最近虽然涌现了一些“文本优化器”(如OPRO, TextGrad, GEPA等),试图利用LLM来迭代改进Prompt或代码,但它们在Harness优化上面临严重的“水土不服”,主要原因在于反馈信息的过度压缩


  • 无记忆性或极短上下文: 许多现有方法在每次迭代时,仅向优化器提供非常有限的上下文(例如100到30,000个Token),且通常只包含标量分数(Scalar scores)或简短的LLM生成摘要。
  • 丢失因果归因(Causal Attribution)能力: Harness的决策具有长程依赖性(Long-horizon)。比如,第一步决定存储某个变量,可能会导致第十步的推理失败。如果仅仅告诉优化器“任务失败了”或者给一个简短摘要,优化器根本无法追踪到下游失败与早期Harness决策之间的因果关系。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


比较了不同文本优化方法的历史访问方式与每轮上下文规模。Meta-Harness 是唯一保留“完整历史 + 全量日志/分数”的方案。


核心方法:Meta-Harness系统


为了解决上述问题,研究者提出了Meta-Harness。这是一个在代码空间(Code space)中运行的外层循环系统(Outer-loop system),专门用于搜索和优化LLM应用的Harness代码。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


Meta-Harness 的外层搜索循环。提案智能体读取历史候选的代码、分数和执行轨迹,生成新 harness,评测后再把新日志写回文件系统。


系统的数学目标


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


Meta-Harness的三大核心组件


Meta-Harness的设计哲学是:与其硬编码复杂的搜索启发式规则,不如给予一个强大的“提案智能体(Proposer Agent)”充分的历史信息访问权限,让它自己去诊断和提议。


  • 智能体提案者(Agentic Proposer): Meta-Harness使用Anthropic的Claude Code(基于Opus-4.6模型)作为一个具备编程能力的智能体来生成新的Harness。它不仅能生成文本,还能调用开发者工具(如终端命令)直接修改和查阅代码。
  • 完整历史的“文件系统”访问(Filesystem Access): 这是Meta-Harness最具突破性的设计。在每次迭代中,对于每一个被评估过的历史候选Harness,系统都会在文件系统中创建一个目录,里面完整保存了:源代码(Source code)、评估分数(Evaluation scores)以及详细的执行轨迹(Execution traces,包括prompt、工具调用、模型输出等)。 提案者(Proposer)不会把这些海量日志一次性塞进上下文窗口,而是像人类程序员一样,使用标准终端命令(如 grep 和 cat)在文件系统中选择性地检索、阅读和诊断。在最复杂的设定中,单次评估可能产生高达10,000,000个Token的诊断信息,比传统的文本优化器高出几个数量级。
  • 代码空间搜索(Code-space Search): 通过阅读执行轨迹,提案者可以推断出Harness失败的根本原因。然后,它可以在算法结构层面修改Harness(例如改变检索逻辑、重写提示词构建方式或修改状态更新机制),并输出一个完整的Python程序,而不是仅仅填补模板中的空缺。


实验一:在线文本分类


在第一个场景中,LLM需要在不断接收新标签样本的同时,持续更新其记忆,并在保留的测试集上进行分类。基础模型使用的是GPT-OSS-120B。


实验设置与对比基线


研究者在三个高难度的数据集上进行了评估:


预测刑事指控的LawBench、预测疾病的Symptom2Disease (S2D) 以及预测化学反应物前体的USPTO-50k。 


基线方法包括零样本(Zero-shot)、少样本(Few-shot)、以及当前最先进的两个人工设计的Harness:ACE(Agentic Context Engineering)和MCE(Meta Context Engineering)。同时,研究者还将Meta-Harness与现有的文本优化器(OpenEvolve, TTT-Discover, GEPA等)进行了公平的计算量匹配对比。


结果


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


  • 吊打现有文本优化器: Meta-Harness仅用了4次评估,就达到了OpenEvolve和TTT-Discover最终的最佳准确率,并且在最终收敛时,准确率比这些基线高出10个百分点以上。
  • 消融实验证明“轨迹”的价值: 研究者做了一个关键的消融实验。如果只给提案者“分数”,最高准确率只有41.3%;如果给“分数+摘要”,准确率反而下降到38.7%;但给予完整执行轨迹(Traces) 的Meta-Harness(完整版),最高准确率飙升至56.7%。这证明,摘要会丢失诊断错误所必需的细节,完整的执行轨迹是Harness搜索成功的核心。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


在线文本分类中的消融实验。只给分数,或给“分数+摘要”,都明显弱于直接开放原始执行轨迹。


  • 更少上下文,更高准确率: Meta-Harness发现的最佳方案在测试集上达到了48.6% 的准确率,比ACE高出7.7个点,比MCE高出8.6个点。令人惊讶的是,它实现这一成绩仅仅使用了11.4K的上下文Token,而ACE则需要消耗50.8K。


发现的Harness策略大赏


Meta-Harness并非只发现了一种策略,而是探索出了一个精度与上下文成本权衡的帕累托前沿(Pareto Frontier)


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


  • 低成本策略 - Draft Verification(草稿验证策略): 它首先检索5个最相似的历史样本,让模型给出一个“初始草稿标签”。然后,它根据这个草稿标签,专门检索5个支持该标签的例子(Confirmers)和5个反对该标签的例子(Challengers),要求模型重新思考并给出最终答案。这种双重调用策略由于上下文短,非常节省Token。高精度的 Label-Primed Query harness。先显式暴露标签空间,再补充覆盖样本与局部对比样本。
  • 高精度策略 - Label-Primed Query(标签引导检索策略): 它构建了一个非常复杂且庞大的单次Prompt。首先列出所有合法的输出标签(Label primer);然后为每个已知标签提取一个最具代表性的样本以提供全局覆盖(Coverage block);最后,通过TF-IDF相似度,将高度相似但标签不同的样本配对展示,从而在查询点附近建立极其敏锐的局部决策边界(Contrastive pairs)。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


这两种截然不同的复杂算法,完全是由模型自己通过查看失败案例和尝试编写代码自动“进化”出来的。


实验二:检索增强的数学推理


在解决奥林匹克级别的数学题时,如果在提示词中引入相关的历史解题思路,原则上是有帮助的。但以往的研究表明,朴素的密集检索(Dense Retrieval)往往无法在复杂的数学推理中匹配到正确的逻辑结构,反而经常导致性能倒退。


实验设计


研究者构建了一个包含超过50万道数学题(来源于NuminaMath、OpenMathReasoning等,并严格去重和剔除测试集泄露)的大型语料库。他们要求Meta-Harness通过搜索,找到一种能够提升大模型在250道高难度数学题上表现的检索机制(Retrieval Harness)。


自动演化出的路由策略


经过40次迭代,Meta-Harness自动编写出了一个包含四个分支的BM25路由检索系统,其结构极其精巧:


  • Combinatorics(组合数学路由): 取回20个结果,去重到8个,然后根据词汇匹配度和难度进行重新排序(Rerank),保留前3个。这个分支在多样性和匹配难题之间做了权衡。
  • Geometry(几何路由): 检索1个高难度的固定参考题,外加2个原始的BM25近邻。搜索过程发现,在几何题中,保留原始的结构匹配比难度重排更有效。
  • Number Theory(数论路由): 检索12个结果,在重排时,给那些“在开头就显式声明了解题技术”的答案加分,因为数论题非常依赖显式的策略。
  • Default(代数及其他): 获取10个结果,并根据顶部检索分数的集中程度,自适应(Adaptive) 地决定最终展示多少个例子给大模型。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


自动演化出的数学检索 harness。一个词法路由器先判断题型,再调用对应的 BM25 检索与重排策略。


这个代码中使用的所有触发词正则匹配(Regex features)、去重阈值、重排权重,全部是由Meta-Harness外层循环自动调试出来的。


跨模型泛化性能


这套被发现的Harness在200道完全未见过的IMO(国际数学奥林匹克)级别试题上进行了测试。更牛的是,研究者将其应用在了五个它在搜索阶段从未见过的不同模型上(包括GPT-5.4-nano, Gemini-3.1-Flash-Lite等)。 结果显示,这套Harness成功实现了跨模型迁移(Transfer),在这五个保留模型上,平均准确率比不使用检索高出了4.7个百分点,并且彻底避免了传统密集检索带来的性能倒退问题。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


IMO级数学题主结果。该检索 harness 在 5 个搜索阶段未见过的模型上平均带来 4.7 个百分点提升。


实验三:TerminalBench-2上的智能体编程


在TerminalBench-2这种极端困难的Agent评测基准上,LLM需要在命令行界面中通过自主调用工具、执行极长步骤(Long-horizon)的交互来完成任务。


压倒性的成绩


通过初始化两个强基线(Terminus 2和Terminus-KIRA),Meta-Harness展开了代码搜索。最终,它发现的Harness在基于Claude Opus 4.6模型时达到了76.4% 的通过率,超越了人工精心设计的Terminus-KIRA (74.7%),在排行榜上名列第二。而在较弱的Claude Haiku 4.5模型上,改进更为显著:它达到了37.6% 的通过率,将第二名(Goose的35.5%)远远甩在身后,登顶Haiku 4.5榜单第一。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


TerminalBench-2 排行结果。Meta-Harness 在 Opus 4.6 上超过 Terminus-KIRA,在 Haiku 4.5 上排名第一。


定性分析:提案者的“因果推理”过程


论文附录A详细记录了Claude Code(提案者)在寻找最优Harness时的思考轨迹,这段日志完美解释了为什么Meta-Harness能够成功,以及它与简单的“随机变异”有何本质不同。


  • 前几次迭代(混杂变量的陷阱): 提案者最初提出了两个看似合理的系统Bug修复方案(例如剥离终端泄漏的标识符),但同时也顺手修改了Prompt模板中关于清理残留文件的指令。结果两次测试都遭遇了分数暴跌(退化了约6%)。
  • 第三次迭代(找到罪魁祸首): 此时,提案者通过文件系统查阅了执行轨迹,进行了惊人的因果推理(Causal Reasoning)。它在日志中写道:“前两次的失败,根本原因在于Prompt模板中关于‘清理’的指令,导致Agent在任务完成前就把必要的文件给删除了。系统Bug的修复被这种有害的Prompt修改给混淆(Confounded)了。” 于是,它回退了Prompt修改,只保留结构性修复,分数立刻止跌回升。
  • 第七次迭代(顿悟与创新): 在经历了6次针对完成逻辑(Completion flow)的修改失败后,提案者总结出一个规律:修改控制流和Prompt是极高风险的行为。于是它另辟蹊径,提出了一种纯附加式(Purely additive) 的修改——“环境自举(Env Bootstrap)”。 具体做法是:在Agent的主循环开始之前,Harness会预先运行一条长Shell命令,静默收集当前的操作系统版本、安装的语言(Python, Rust, Node等)、包管理器(pip, apt)以及文件目录列表,并将这些信息作为“环境快照”注入给LLM的第一个Prompt。
  • 结果分析: 这个小小的改动消除了大模型在复杂任务初期必须花费2到4步去“盲人摸象”探测环境的时间。在步数受限的困难任务中,节省这几步往往就是成功与失败的分水岭。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


TerminalBench-2 上发现的最终 harness。核心增益来自红色部分的 environment bootstrap,它在主循环开始前注入环境快照。


这段历史证明了,如果不给系统提供包含详细错误过程的执行轨迹,优化器是绝对无法推导出“Prompt中多写了一句清理指令导致文件被删”这种长程因果关系的。


论文的启发


《Meta-Harness》这篇论文证明了一个极具潜力的未来方向:随着编程智能体(Coding Agents)能力的跨越式发展,我们已经可以把原本只能由资深算法工程师手动完成的“框架调优、日志分析、Bug排查、代码重构”流程,端到端地交由系统自动化完成。


它成功的核心有三点:


  1. 文件系统级别的历史查阅: 放弃过度压缩的标量反馈,允许智能体像人类一样去阅读源代码和执行轨迹(中位数为每轮读取82个文件)。
  2. 长程归因能力: 智能体能够从执行日志中抽丝剥茧,发现前期Harness设计缺陷导致的后期灾难性崩溃。
  3. 代码空间表达: 优化结果输出的是真实、可读、包含复杂控制流的Python程序,而不是生硬的模板填词。这些程序甚至表现出了极强的泛化能力(跨数据集、跨模型)和可解释性(人类可以直接看到代码里的 if-else 分支)。


斯坦福MIT联合发布Meta-Harness,Agent端到端自己优化自己,Dspy一作Omar参与研究


提案智能体的文件访问统计。中位数每轮读取 82 个文件,且代码与执行轨迹占比接近 80%,说明它确实在利用完整历史而非只做局部改写。


实践建议


对于想要在自己项目中应用Meta-Harness的开发者,论文也给出了非常宝贵的经验:


  • 编写优秀的Skill: 指导智能体(Proposer)的Prompt应该专注于界定它的权限(能改什么、不能改什么)、格式要求,而不要干涉它的诊断逻辑。放权让智能体自己去决定看什么日志。
  • 从难题入手: 构建包含困难样本的搜索集(Search set),如果初始基线已经表现完美,搜索将毫无意义。
  • 日志的机器可读性: 确保产生的执行轨迹和代码保存为良好的层级结构和格式(如JSON),以便智能体使用简单的 grep 正则表达式进行高效搜索。
  • 前置轻量级验证: 在把新生成的Harness投入昂贵的整体基准测试前,写一个只用几秒钟运行的极小验证脚本,以拦截语法错误,避免浪费计算资源。


总而言之,Meta-Harness向我们展示了如何利用AI来优化AI系统的“外包装”,这种从“权重调整”向“系统外围代码自动演化”的视角转移,对于构建更智能、更健壮的LLM应用具有深远的意义。


结语


Meta-Harness的出现补齐了Agent开发的最后一块拼图。大模型自身的演进靠算力和数据,而模型能力的释放则越来越依赖这层动态的脚手架。当AI开始接管自己的控制流和调度逻辑时,开发者其实可以从枯燥的打补丁、写正则和调优Prompt中解放出来。未来的Agent开发可能会变成一种类似元编程的体验:你只负责定义边界和提供底层的工具接口,剩下的系统外围代码,交给机器自己在试错中编译和演化就足够了。


文章来自于"AI修猫Prompt",作者 "AI修猫Prompt"。

AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI代理

【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。

项目地址:https://github.com/browser-use/browser-use


2
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

3
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

4
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0