返回博客列表

斯坦福 Meta-Harness:让 AI Agent 自动进化「外挂大脑」

2026-06-08T08:05:00+08:00
Meta-HarnessStanfordLLM AgentHarness EngineeringAutoML

斯坦福 Meta-Harness:让 AI Agent 自动进化「外挂大脑」

先收藏,回头一定用得上。

斯坦福 IRIS Lab 上个月开源了一个叫 Meta-Harness 的项目,上线两个月 GitHub 星标破千。它解决的核心问题很精准:LLM 的能力不只取决于模型权重,还取决于包围模型的那层「harness」——决定存什么、取什么、展示什么给模型的代码。这块一直是手工设计,现在终于可以自动化了。

这个方向被项目作者称为 Harness Engineering,与 Prompt Engineering、Context Engineering 并列,是 LLM 应用优化的第三层范式。

本文提纲

  1. Harness 是什么:LLM 应用的「外挂大脑」
  2. Meta-Harness 怎么工作:外层进化循环
  3. 三个实验结果:全面碾压人工基线
  4. ONBOARDING 流程:拿来即用的适配方法
  5. 对开发者的意义

Harness 是什么:LLM 应用的「外挂大脑」

一个 LLM Agent 的完整架构可以分成两层:

graph TB
    subgraph "Fixed Base Model"
        M[LLM Core Weights]
    end
    subgraph "Harness Layer - Optimizable"
        R[Retrieval Strategy]
        S[Storage Logic]
        P[Presentation Format]
        T[Tool Use Scaffolding]
    end
    R --> M
    S --> R
    P --> M
    T --> M
    style M fill:#FF6B6B,color:#000000
    style R fill:#4ECDC4,color:#000000
    style S fill:#45B7D1,color:#000000
    style P fill:#96CEB4,color:#000000
    style T fill:#FFEAA7,color:#000000

Harness 就是中间那层:在模型权重不动的情况下,管理记忆检索策略、上下文构建方式、工具调用逻辑的代码。它决定了模型「看什么、记什么、怎么组织信息」。

目前的做法——无论是 RAG pipeline、few-shot 样本选择,还是 Agent 的 system prompt——基本都是工程师手动调参、反复试错。Meta-Harness 的想法是:既然 harness 本质上就是代码,为什么不让另一个 AI 来自动搜索和优化这些代码?

Meta-Harness 怎么工作:外层进化循环

Meta-Harness 的核心是一个外层进化循环(Outer Evolution Loop),整体架构如下:

graph LR
    subgraph "Outer Loop - Evolution"
        PR[Proposer Agent
Claude Code] EV[Evaluate] SC[Score & Rank] AR[Archive Traces] end PR -->|Write new harness code| EV EV -->|Run on search set| SC SC -->|Scores + traces| AR AR -->|Prior experience| PR style PR fill:#FF6B6B,color:#000000 style EV fill:#4ECDC4,color:#000000 style SC fill:#45B7D1,color:#000000 style AR fill:#96CEB4,color:#000000

关键设计:

1. 提议者是一个完整的编码 Agent

Meta-Harness 用 Claude Code 作为 Proposer Agent——它不是一个简单的文本生成器,而是能看到源代码、历史评分、执行 trace 的完整编码 agent。它通过文件系统访问所有前代候选的完整经验,而不是像传统文本优化器那样把反馈压缩成一段文字。

2. 验证集严格隔离

进化过程中只用 validation set,test set 绝不暴露。代码里有 FRONTIER_VALPENDING_EVAL 两层日志做追踪。

3. 候选 harness 是真正的 Python 代码

每个候选 harness 是一个继承 MemorySystem 基类的 Python 文件,写进 agents/ 目录。进化循环通过 benchmark.py 调度评估,inner_loop.py 执行单次评估。

最小启动命令只有两行:

cd reference_examples/text_classification
uv sync && uv run python meta_harness.py --iterations 1

三个实验结果:全面碾压人工基线

论文展示了三个不同领域的实验,结果都很硬核:

实验 1:在线文本分类

在文本分类任务上搜索最优记忆系统。Meta-Harness 自动发现的 harness 比当时最强的上下文管理系统高 7.7 个百分点,同时上下文 token 用量减少了 4 倍

注意这个 trade-off:不只是更准,还更省。

实验 2:检索增强数学推理

在 200 道 IMO 级别的数学题上测试。单个自动发现的 harness 在 5 个未见过的模型上平均提升 4.7 个百分点准确率。

这个结果的意义在于泛化性——在一个模型上发现的 harness 策略,迁移到其他模型上依然有效。

实验 3:Agent 编程(Terminal-Bench 2.0)

在 Terminal-Bench 2.0 上搜索最优的 Agent 脚手架(scaffold)。发现的 harness 超越了最强的人工工程基线

Terminal-Bench 是一个模拟真实终端环境的编程基准,考验 Agent 的多步规划、工具使用和代码调试能力。能在这个场景胜出,说明自动发现的 harness 不只是学术玩具。

三个实验的横向对比

实验领域 优化目标 关键结果
文本分类 记忆系统 +7.7 分,token 减 4x
数学推理 检索策略 +4.7 分(跨 5 模型泛化)
Agent 编程 脚手架 超越最强人工基线

ONBOARDING 流程:拿来即用的适配方法

Meta-Harness 不仅仅放出了实验代码,还设计了一套结构化的领域适配流程

项目根目录的 ONBOARDING.md 是一个给编码 assistant 用的引导 prompt。你只需要把自己的编码助手指向这个文件,它就会引导你通过对话逐步产出一份 domain_spec.md,定义好任务、评估方法、harness 接口、基线、预算等。

这个流程会帮你判断 Meta-Harness 是否适合你的场景。适合的条件包括:

  • 任务是长周期、多步骤的(harness 选择很重要)
  • 有重复性任务或 episode,不是一次性定制流程
  • 基础模型固定,主要优化空间在检索、记忆、上下文构建、工具调用
  • 有可量化的评估指标和稳定的评估循环
  • 存在反复出现的错误模式

如果你想用自己的 Proposer Agent(而不是 Claude Code),只需要参考 claude_wrapper.py 写一个适配层。核心要求很简单:一个能干净记录交互日志的 wrapper。

对开发者的意义

Meta-Harness 的价值不在于它发现了某个特定的 harness 策略,而在于它验证了一个假设:harness 代码可以被自动化搜索和优化

目前我们做 RAG、做 Agent、做 memory system,大部分时间在手动调参。Meta-Harness 提供了一条不同的路——定义好评估指标和搜索空间,让 AI 自己去找最优解。

项目使用 MIT 协议开源,Python 编写,依赖只有 uv 和一个 LLM endpoint。如果你在做 LLM 应用并且已经有一个评估 pipeline,值得花一个下午试试用 Meta-Harness 搜索更好的 harness。

论文标题:Meta-Harness: End-to-End Optimization of Model Harnesses,作者 Yoonho Lee, Roshen Nair, Qizheng Zhang, Kangwook Lee, Omar Khattab, Chelsea Finn。

试过了?评论区说说你的体验。还没试?收藏起来周末折腾。


作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

觉得文章不错?分享给更多人!