Meta-Harness:LLM Harness 的端到端优化革命

April 17, 2026

Meta-Harness:LLM Harness 的端到端优化革命

Meta-Harness:LLM Harness 的端到端优化革命

作者:Yoonho Lee, Roshen Nair, Qizheng Zhang, Kangwook Lee, Omar Khattab, Chelsea Finn (Stanford IRIS Lab)
论文:arXiv:2603.28052
代码:https://github.com/stanford-iris-lab/meta-harness
发布日期:March 30, 2026

一、核心问题:为什么 Harness 很重要?

LLM 系统的性能不仅取决于模型权重,还取决于Harness——决定存储什么信息、检索什么内容、如何呈现给模型的代码。

然而,Harness 目前主要靠手工设计,现有的文本优化器(如 TextGrad、OPRO、Self-Refine)因为过度压缩反馈,不适合这个场景。

Harness 是什么?

  • 上下文管理:决定哪些信息进入 prompt
  • 检索策略:如何从历史记忆中提取相关信息
  • 输出处理:如何解析和验证模型响应
  • 工具调用:如何协调多工具协作

一个优秀的 Harness 可以让同一个模型表现显著不同——但设计好 Harness 需要大量调试和实验。


二、Meta-Harness 的核心创新

Meta-Harness 是一个外循环优化系统,自动搜索 LLM 应用的最佳 Harness 代码。

关键突破:诊断上下文的规模

核心差异在于优化器能看到多少信息

方法历史记录日志内容Mtok/iter
Self-RefineLastoutput + self-generated critique0.001
OPROWindowpast (solution, score) pairs0.002
TextGradLastLLM textual gradient0.015
MIPROSummarybootstrapped program traces0.003
AlphaEvolveWindowprogram database + eval. scores0.022
GEPASummaryrollout traces (reasoning + tools)0.008
TTT-DiscoverWindowprev. solution fragment0.026
Meta-HarnessFullall logs and scores10.0

Meta-Harness 提供10M tokens/step的诊断上下文,而先前方法最多26K tokens——差距 380倍

为什么这很重要?

Harness 工程产生的失败难以诊断——如果不看原始执行痕迹,你无法知道:

  • 为什么某个检索策略返回了无关信息?
  • 哪个工具调用导致了连锁失败?
  • 模型是如何误解了 prompt 格式?

压缩成分数或摘要后,这些因果关系丢失了。Meta-Harness 让 proposer 能追溯失败到具体的 Harness 决策,而不是从分数猜测。


三、方法架构

搜索循环

Meta-Harness 的核心是一个三步循环

  1. Propose:一个 coding agent(Claude Code)读取包含所有候选 Harness 的文件系统——源代码、执行痕迹、分数——然后提出新的 Harness
  2. Evaluate:在 held-out 任务上评估新 Harness
  3. Store:所有日志存入文件系统,循环重复

为什么用文件系统?

Proposer 是一个coding agent,可以用标准工具(grepcat等)按需读取信息:

  • 选择性读取:不需要一次性加载全部上下文
  • 反事实诊断:可以跨多个候选的执行痕迹对比分析
  • 原始日志访问:能看到完整的不压缩的失败细节

四、实验结果

1. 文本分类(Online Text Classification)

遵循 ACE 的在线文本分类设定:LLM 逐个接收标注样本,更新记忆,在 held-out 测试集评估。

使用三个数据集:

  • LawBench(215 类别)
  • Symptom2Disease(22 类别)
  • USPTO-50k(180 类别)

结果:最佳发现的 Harness(Label-Primed Query):

指标Meta-HarnessACE改进
准确率48.6%40.9%+7.7 points
Context tokens4x 更少baseline效率提升

增益集中在大类别、易混淆标签空间:LawBench +16 points,Symptom2Disease +9 points。

2. 数学推理(Retrieval-Augmented Math Reasoning)

200 个 IMO 级别数学问题上测试。

结果:单个发现的 Harness 在5 个 held-out 模型上平均提升+4.7 points

这证明了泛化能力:在一个模型上发现的 Harness 可以迁移到其他模型。

3. Agentic Coding(TerminalBench-2)

TerminalBench-2 是一个89 个终端任务的基准,测试 AI agent 的编程能力。

结果:发现的 Harness超越最佳手工设计基线

Harness准确率
Meta-Harness (discovered)46.5%
Judy35.8%
Terminus-KIRA28.5%
Claude Code28.0%
Factory Droid27.4%
Goose23.2%

从 Terminus-KIRA(28.5%)经过7 次迭代到达46.5%——纯 Harness 改变带来的提升。


五、发现的 Harness 有什么特点?

文本分类:Label-Primed Query

发现的最佳 Harness 使用标签预置查询策略:

  • 不额外调用 LLM(效率高)
  • 在查询前先枚举可能的标签,引导模型注意力
  • 针对大类别空间特别有效

Agentic Coding 的迭代诊断

Meta-Harness 的 proposer 能跨候选对比诊断

  • 读取多个候选的执行痕迹
  • 识别失败模式(如工具调用超时、格式误解)
  • 提出针对性修复(如添加 timeout 处理、改进输出解析)

六、关键启示

  1. 上下文规模是关键:380 倍的诊断上下文差异,让 proposer 能做真正的因果分析,而不是从分数猜测
  2. 文件系统访问模式:让 coding agent 按需读取,避免一次性加载全部上下文的开销
  3. Harness 可泛化:在一个模型上发现的 Harness 可以迁移到其他模型
  4. 超越手工设计:在 TerminalBench-2 上,自动发现的 Harness 超过最佳手工设计基线 18 points

七、实践意义

Meta-Harness 证明了自动化 Harness 工程是可行的

  • 减少人工调试:不再需要手工迭代 prompt 设计
  • 发现新颖策略:自动发现人类可能忽略的有效策略
  • 跨模型迁移:一次优化,多模型受益
  • 数据驱动改进:每个改进都基于具体失败证据,而非直觉

八、开源资源

  • 论文:https://arxiv.org/abs/2603.28052
  • 代码:https://github.com/stanford-iris-lab/meta-harness
  • TerminalBench-2 Artifact:https://github.com/stanford-iris-lab/meta-harness-tbench2-artifact
  • 交互式 Demo:https://yoonholee.com/meta-harness/

图片来源:本文图片和表格信息来自论文项目页面 yoonholee.com/meta-harness