当前位置: 首页 > news >正文

Meta-Harness: End-to-End Optimization of Model Harnesses 论文笔记

背景

作为模型外面的那层运行框架,Harness 的优化至关重要,但与现有各种文本优化的方法不同,Harness 是一个复杂的带状态的外层程序

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

  • 无记忆性或极短上下文: 许多现有方法在每次迭代时,仅向优化器提供非常有限的上下文(例如 100 到 30,000 个 Token),且通常只包含标量分数或简短的 LLM 生成摘要

  • 丢失因果归因(Causal Attribution)能力: Harness 的决策具有长程依赖性。比如,第一步决定存储某个变量,可能会导致第十步的推理失败。如果仅仅告诉优化器 "任务失败了" 或者给一个简短摘要,优化器根本无法追踪到下游失败与早期 Harness 决策之间的因果关系。

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

方法

image-20260406162845312

该框架的思路如下:先提出一个新的 harness → 跑评测 → 把这次的代码、分数、执行轨迹全部存下来 → 下一轮继续看这些历史,再提出一个新的候选

Meta-Harness 允许通过文件系统访问有选择的检查之前的代码和执行轨迹,而不是从有损摘要和额外手工设计的搜索结构中进行优化(每一轮优化不是只看 summary,而是可以去翻全部历史)

Meta-Harness 的三大核心组件:

  • 智能体提案者(Proposer):Meta-Harness 使用 Claude Code(基于Opus-4.6模型)作为一个具备编程能力的智能体来生成新的Harness。它不仅能生成文本,还能调用开发者工具(如终端命令)直接修改和查阅代码

  • 完整的文件系统访问:在每次迭代中,对于每一个被评估过的历史候选Harness,系统都会在文件系统中创建一个目录,里面完整保存了:源代码(Source code)、评估分数(Evaluation scores)以及详细的执行轨迹(Execution traces,包括 prompt、工具调用、模型输出等)。 Proposer 不会把这些海量日志一次性塞进上下文窗口,而是像人类程序员一样,使用标准终端命令(如 grep 和 cat)在文件系统中选择性地检索、阅读和诊断。在最复杂的设定中,单次评估可能产生高达 10,000,000 个 Token 的诊断信息,比传统的文本优化器高出几个数量级

  • 代码空间搜索:通过阅读执行轨迹,Proposer 可以推断出 Harness失败的根本原因。然后,它可以在代码的算法结构层面修改 Harness(例如改变检索逻辑、重写提示词构建方式或修改状态更新机制),并输出一个完整的Python程序,而不是仅仅填补模板中的空缺

作者统计过,在最复杂的设置里,proposer 每轮中位数会读 82 个文件,而且会参考 20 多个 过去候选

实验

研究者在三个高难度的数据集上进行了评估:预测刑事指控的LawBench、预测疾病的 Symptom2Disease (S2D) 以及预测化学反应物前体的 USPTO-50k

image-20260406164356617

image-20260406164544368

发现

Meta-Harness 并非只发现了一种策略,而是探索出了一个精度与上下文成本权衡的帕累托前沿。这里选择了两个代表性端点:Draft Verification(最低上下文边界点)和 Label-Primed Query(最高准确度边界点)

帕累托前沿是一种解决多目标优化问题的方法,在多目标优化中找到平衡的方案,这个方案无法被改进(找到在一个目标上的改进并且其它目标不劣于其他解的解)

3c3e050e-6aa8-43f3-9318-312e2b5fff8c

abe2b638-bbb3-4477-9a1c-c07b95b6465b

  • Draft Verification(草稿验证策略): 它首先检索5个最相似的历史样本,让模型给出一个初始草稿标签。然后,它根据这个草稿标签,专门检索 5 个支持该标签的例子和 5 个反对该标签的例子,要求模型重新思考并给出最终答案

  • Label-Primed Query(标签引导检索策略): 它构建了一个非常复杂且庞大的单次 Prompt。首先列出所有合法的输出标签;然后为每个已知标签提取一个最具代表性的样本以提供全局覆盖;最后,通过 TF-IDF 相似度,将高度相似但标签不同的样本配对展示,从而在查询点附近建立极其敏锐的局部决策边界

研究者还构建了一个包含超过 50 万道数学题的大型语料库,并进行了实验;此外还在 TerminalBench-2 上分别对 Claude-Opus-4.6 和 Claude-Haiku-4.5 进行了实验,分别取得了榜单上的模型第一

总结

Meta-Harness 本质上就是将原本只能由资深算法工程师手动完成的 "框架调优、日志分析、Bug 排查、代码重构" 流程,端到端地交由系统自动化完成。其成功的核心在于:文件系统级别的历史查阅、长程归因能力、代码空间上的检索优化而不是文档

http://www.jsqmd.com/news/597937/

相关文章:

  • node2vec入门指南:10分钟学会网络节点嵌入技术
  • GNSS定位精度从米级到厘米级:除了多路径,你还需要关注这4个‘隐形杀手’
  • 碳酸钙岩石的COMSOL酸蚀酸溶特性及非均质地层酸溶模型
  • 让AI像专家一样“理解”你——从“关键词堆砌”到“知识网络构建”
  • 基于信息流的移动智能终端隐私保护关键技术研究(中期检查报告)
  • GEO报价打破行业底线:南方策宠业GEO服务“以价换量”,抢占3126亿宠物市场AI入口 - 速递信息
  • 避坑指南:解决‘Logical volume contains a filesystem in use’错误,顺利完成LVM根目录扩容
  • 5分钟掌握Britecharts环形图:数据可视化的完美甜甜圈组件
  • 如何高效管理Natron项目:XML文件编辑与版本控制完整指南
  • 如何让Gumbo-parser重获新生:从停维护项目到社区复兴的完整指南
  • OpenClaw语音交互方案:Qwen3.5-9B对接Whisper实现语音控制
  • 科研党福音:OpenClaw+Qwen2.5-VL-7B自动解析论文图表
  • 你的QQ空间记忆正在消失吗?这个开源工具能帮你永久保存青春足迹
  • 终极指南:如何用react-fns轻松掌握React浏览器API开发
  • 如何用开源鼠标指针打造专属桌面?轻量化方案全解析
  • Pixel Couplet Gen实操手册:Prometheus+Grafana监控春联生成QPS与延迟
  • 安装即实战:基于快马生成openclaw网络信息分析项目脚手架
  • 重新认识一下AE86
  • BepuPhysics2仿真稳定性深度剖析:时间步进、子步进与约束求解的平衡艺术
  • AI赋能低代码开发:JeecgBoot如何用人工智能重塑企业级应用开发
  • 跨平台插件安装解决方案:如何通过ZXPInstaller解决Adobe扩展管理难题
  • 终极指南:如何用colors.js打造专业级的命令行应用界面
  • BoatAttack云层渲染技术:基于Gerstner波浪系统的实时云层模拟
  • DINOv2建筑设计:终极视觉特征提取与建筑图像分析指南
  • SEO_2024年最有效的SEO策略与方法
  • 7天重构虚拟主播:如何用开源代码在消费级硬件上搭建智能交互系统
  • Vue3+ElementPlus侧边栏图标混搭实战:如何同时使用官方图标和自定义SVG
  • 颈肩酸痛别只硬扛!颈椎病不是累出来的小病,拖延不治的危害远超想象
  • Yesod静态资源管理:高效处理CSS、JavaScript和图片文件的终极指南
  • 终极指南:Kaniko容器镜像仓库的语义化版本标签策略