AI 自我改进新路径: 翁荔详解 Harness Engineering
原创 翁荔 2026-07-09 10:48 江苏

Harness Engineering for Self-Improvement
翁荔前几天在其博客发布了一篇文章:Harness Engineering for Self-Improvement,它可以和最近几篇 Agent Harness、Loop Engineering、Coding Agent 等文章放在一起看。前几篇更多讨论“模型外面那层系统怎么让 agent 真正工作起来”,这篇把问题继续往上推了一层:如果 AI 要参与改进 AI,真正被优化的对象不只可能是模型权重,也包括训练管线、部署系统、上下文管理、工具循环、评估器和可执行的 harness。
这里的 harness,可以理解为模型外面的运行支架:它决定模型如何规划、调用工具、管理上下文、保存产物、检查结果,并在失败后继续迭代。翁荔这篇长文的价值,在于把自我改进、自动科研、workflow search、context engineering、Meta-Harness、Self-Harness、AlphaEvolve、DGM 等工作放进同一个框架里看。以下是全文翻译。

递归自我改进(recursive self-improvement,RSI)这个概念可以追溯到 I. J. Good(1965)。Good 当时把“超智能机器”定义为一种能够在所有智力活动中超越人类,并且能够设计出更好机器来改进自身的系统。Yudkowsky(2008) 则用“递归自我改进”来描述一种具体的反馈循环:AI 使用自己当前的智能,去改进产生这种智能的认知机制。
在现代 AI 中,这个反馈循环可能指模型直接重写自己的权重;也可以更宽泛地指模型改进训练管线和部署系统,从而产生一个在具有经济价值的任务上表现更好的后继模型。前沿实验室里的 AI 研发速度已经明显加快,这一点可以从 Anthropic 和 OpenAI 的相关讨论中看到。
我特意提到“部署系统”,是因为原始模型和真实世界上下文之间的那一层,看起来和模型本身的原始智能同样重要,也就是预训练结束后直接评测出来的能力。Claude Code、Codex 这类成功的 coding agent 产品说明,harness 是 AI 部署里的重要组成部分。运行支架(harness)是围绕基础模型的一整套系统,它编排执行过程,并决定模型如何思考和规划、如何调用工具和采取行动、如何感知并管理上下文、如何存储产物,以及如何评估结果。
这篇文章会聚焦 harness engineering 相关研究,以及它如何参与 RSI。最近很多关于自动研究、自我改进 agent 和演化式程序搜索的工作,都可以围绕这个问题重新组织起来。模型 self-play、合成数据、测试时训练,以及更广义的持续学习,也符合 RSI 这条愿景,例如 Yuan et al. 2024、Chen et al. 2024、Zhao et al. 2025、Choi et al. 2026,但它们不是本文的重点。
Harness 设计模式
早期 agent 框架通常可以概括为“agent = LLM + memory + tools + planning + action”。相比之下,harness engineering 还额外包含 workflow design,例如 loop engineering、评估、权限控制和持久状态管理。它不再只是 prompt template,更接近运行时和软件系统设计:模型如何观察、行动、记忆、自我检查和改进。
为了具备泛化能力,这类设计应该有意识地保持简单和通用,并尽量参考既有软件工程实践,从预训练知识中受益。操作系统和 harness 之间也有很强的类比关系。类似 OS,harness 应该封装复杂逻辑,同时保持接口简单。与此同时,配置、工具接口和其他协议也可能在行业内逐渐标准化。
模式 1:工作流自动化
定义一个让模型能够操作、测试和迭代的 workflow,是实现自动化的关键设计。Karpathy 的 autoresearch 仓库(https://github.com/karpathy/autoresearch)就是一个干净的例子,展示了这类 workflow 可以怎样构建。常见 workflow 会沿着目标导向的循环前进:计划、执行、观察/测试、改进,再次执行,直到目标达成。这个过程还可能主动向用户请求澄清任务描述或执行偏好。

workflow graph 也强调,模型会分析自己的轨迹和失败案例,然后通过“agent runtime”而不是静态 prompt template,对当前进展进行迭代。
模式 2:把文件系统作为持久记忆
在长周期 agent 系统中,一个反复出现的模式是:用简单控制来管理丰富的状态和产物。harness 不应该把整个 workflow 和所有日志都塞进上下文;相反,它应该把持久状态放在文件里。在长周期 agent rollout 中,实验日志、代码 diff、论文摘要、错误 trace 和过去的 rollout 轨迹,经常远远超过模型训练时所适配的上下文窗口长度。
学会读取、写入和编辑文件系统,通常通过bash命令完成,是 LLM 的基础能力之一。因此,用文件这种简单形式管理持久记忆,自然会受益于核心模型能力的提升。
模式 3:子智能体和后台任务
harness 可以生成多个 subagent 并行执行,也可以监控后台任务。当主 agent 需要搜索多个假设、并发运行实验,或者把隔离子任务委派出去,同时又不污染主上下文时,这一点很有用。父 agent 随后需要一个小型进程管理器:启动任务、检查日志、取消失败运行,并把结果合并回主 agent 线程。
这里的关键设计选择,是让并行性显式且可检查。如果 subagent 输出只存在于临时聊天上下文中,它们很快就会过期并被隐藏起来。如果它们被保存为文件、日志和状态记录,模型就可以在中断后恢复,并基于自己的执行历史进行推理。
案例研究:Coding Agent Harness
主流 coding agent 的核心接口已经在 Claude Code、Codex、OpenCode 和 Cursor 风格的 agent 中逐渐稳定下来。它们通常使用类似下面这样的循环:

在一组工具的帮助下,coding agent 可以在给定代码仓库里开发和调试问题,类似人类开发者配备 IDE 后的工作方式。
下面不是一份完整清单,只是为了演示。如果感兴趣,可以阅读这个仓库:https://github.com/yasasbanukaofficial/claude-code。
| 类别 | 工具定义 |
|---|---|
| 文件系统 | 文件发现: |
| Shell 执行 | 运行命令: |
| IO | lsp ,以及 |
| 外部上下文 | MCP tools、Skills |
| Web search | web_search 、 |
| 产物 | 读取文档、图片;生成 HTML、图片 |
| 后台进程 | 例如 |
| Agent 委派 | 例如 |
Harness 层还是核心智能?
很难预测 RSI 的未来会在多大程度上依赖 harness engineering,但短期内,RSI 不太可能从模型直接重写自身权重开始。我对近期实际路径的判断是:
-
harness engineering 会朝着元方法论的方向演进,也就是改进“获得更好答案的机制”,而不只是改进答案本身。harness 系统自身会变成优化目标,其中启发式规则会减少,更通用的机制会增加。
-
成熟的 harness 反过来会支持用于模型自我改进循环的自动研究;更聪明的模型也会防止 harness 过度工程化,让系统更可持续。
最终,很多 harness 改进都有可能被内化为核心模型行为,但模型与外部上下文和工具之间的接口仍然会存在。我们已经在 prompt engineering 上看到过一个更温和的版本:随着 instruction tuning 和模型推理能力变强,手工 prompt 技巧不再那么核心;但指定目标、约束、上下文和评估的需求并没有消失。
Harness 优化
harness 系统中被优化对象的演进,大致可以这样看:instruction prompts → structured context → workflow → harness code → optimizer code。随着模型变得更智能、更强大,我们会走向更复杂的优化目标和更通用的方法。
Context Engineering
随着 agentic job 的时间跨度显著增加,如果只是把所有工具响应和模型生成都追加进上下文,上下文很快会失控。上下文管理是一层用来为 LLM 构造更结构化、更简洁上下文,并管理持久状态的机制。毫无疑问,长上下文研究还会继续进步,但目前长上下文智能和 context engineering 有时是交织在一起的。
Agentic Context Engineering(ACE;Zhang et al. 2025)把上下文视为一份不断演化的 playbook,而不是越来越长的 prompt。它包含三个组件,用来维护一个由 bullet points 组成的 context playbook,每个条目都有标识符和描述。
-
Generator:生成任务轨迹,并引用 bullet points。
-
Reflector:从成功和失败轨迹中提炼洞察。
-
Curator:用增量、条目化的方式更新结构化上下文。

为了避免迭代重写过程中的 context collapse 和 brevity bias,ACE 的一个关键设计选择是:curator 不会重写一个完整 prompt blob。它输出的是一组结构化、条目化的 bullet,形式为(identifier, description),这些 bullet 会通过确定性逻辑合并进结构化 context logbook。context items 会定期被精炼和去重。
ACE 会从 rollouts 中学习洞察,这帮助我们走向自我管理的记忆。但它的更新规则和整体 workflow 仍然是手工设计的。为了进一步靠近自我改进循环,Meta Context Engineering(MCE;Ye et al. 2026)把机制和内容分开:机制指如何管理上下文,内容指上下文里有什么。MCE 在元优化层运行 skill evolution,在基础层运行 context optimization。
一个 MCE skills∈S定义一个 context functionc_s=(ρ_s,F_s),并把输入x映射到上下文c=F_s(x;ρ_s),其中:
-
ρ_s={ρ_1,...,ρ_m}是静态组件,例如 prompts、knowledge bases、code libraries。 -
F_s={F_1,...,F_k}是动态算子,例如 search、selection、filtering、formatting。
这个双层优化的目标是:在训练数据上,给定 skills找到最好的 contextc_s*;同时外层循环寻找在验证集上表现最好的最优 skill:
Inner: c_s* = arg max_{c_s} J_train(c_s; s)
Outer: s* = arg max_{s∈S} J_val(c_s*)
skill database 会跟踪此前 skill、context function 和 eval metrics 的历史:
H_{k-1} = {(s_i, c_i, J_i^train, J_i^val)}_{i=1}^{k-1}
元层 agent 会基于此前 skill 做 agentic crossover,从而为任务τ创建新 skill:
s_k = crossover(τ, H_{k-1})
然后基础层 context engineer 执行 skills_k,并在当前 skill 指导下,从 rollout feedbackR_k中学习 context function:
c_k = engineer(τ, s_k; c_{k-1}*, R_k)

MCE 不像 ACE 那样强制规定上下文应该如何结构化。它使用自由形式 skills 来保存任务中最重要的知识,并让 skill 与受 skill 条件约束的上下文一起迭代演化。从实现看,一个 context functionc被实例化为专用目录中的一组文件,包括静态组件(skill.md)和动态组件(context 和 data rollouts)。元层和基础层优化都运行在 agentic coding env 中,使用一套标准工具:
T = {Read, Write, Edit, Bash, Glob, Grep, TodoWrite}
Meta-Harness(Lee et al. 2026)又往更深处走了一层:被优化的对象是决定并优化“哪些信息应该被存储、检索和呈现给模型”的代码。它名字里的 “Meta” 表示:这是一个用来优化 harness 的 harness。

用于创建新 harness 的 proposer 本身就是一个 coding agent,最终输出是一组位于 Pareto frontier 上的 harness candidates。
-
整个执行历史都可以通过文件系统访问,因此 coding agent 会用
grep或cat这样的命令读取历史,而不是把所有东西都塞进单个 prompt context。 -
被提出的 harness 是文件系统中的一个 dictionary,里面包含自己的源代码、分数、rollout trajectories 和状态更新。
-
meta-harness loop 会迭代创建新的 harness,并且只保留合格的 harness。

不过,真正重要的经验已经很清楚:一旦 harness design 变成可执行的搜索空间,强 coding agent 就能利用人类工程师也在使用的同一个设计空间。
Workflow Design
harness engineering 中的 workflow design 可以由领域专家手工设计。以自动研究为例,已经有多种框架被提出并测试。AI Scientist系统(Lu et al. 2026)构建了一条 pipeline:提出研究想法、写代码、运行实验、分析结果、撰写论文,并执行同行评审。Meng et al.(2026) 在ScientistOne中把可验证性作为核心设计约束:每个 claim,包括引用、数值、方法和结论,都必须能追溯到证据来源,并通过 Chain-of-Evidence 检查进行审计。

Autodataagent(Kulikov et al. 2026)被设计成一个用于生成训练和评估数据的数据科学家。主 agent 管理一个 challenger、一个 weak solver、一个 strong solver,以及一个 verifier/judge,目标是合成难度“刚刚好”的数据,也就是 strong solver 能成功而 weak solver 会失败。
在 Autodata 中,challenger prompt 会根据 solvers 和 verifier 的反馈迭代更新。这里的限制在于,合成任务被用于 fine-tune weak solvers,而不是 strong solvers;如果这个循环不能迭代改进 strong model,它就更像是在生成的 prompt distribution 上做间接蒸馏,RSI 味道会弱一些。

workflow 的设计空间非常大,我们自然可以把 workflow design 看成一个搜索问题,因此也应该能够通过算法找到好的解,而不只是手工设计。沿着这个方向,Automated Design of Agentic Systems(ADAS;Hu et al. 2025)把 agent design 本身表述为一个优化问题,也就是“meta-agent search”:由一个 meta-agent 提出新的 agentic workflow 设计。
-
用 CoT 和 self-refine 这类简单 agent 初始化一个 agentic workflows archive。
-
要求 meta-agent 受 archive 中现有方案启发,用代码编写新的 agents。
meta-agent 先生成新 workflow 的高层描述,然后用代码实现。
草稿程序随后经过两轮 self-refine,也就是让模型给出反馈,再让同一个模型基于反馈改进之前的输出;参见 Madaan et al. 2023。meta-agent 会用这个过程检查新颖性。
-
评估每个新 candidate,并把成功方案加回 archive。
-
重复第 2 到第 3 步,直到达到最大迭代次数。

AFlow(Zhang et al. 2025)把 agentic workflow 表示为一张图,其中节点代表调用 LLM 的动作,边则用代码实现逻辑操作。workflow 优化依赖 MCTS,也就是 Monte Carlo Tree Search:
-
用 template 在树中初始化起始 workflow
W_0。 -
使用分数和均匀探索的软混合方式选择一个 workflow node。
-
要求 LLM 根据该 workflow 的评估表现,生成一个修改后的 workflow,对该节点进行扩展。
-
执行并评估新的 workflow。
-
如果新 workflow 在
N轮预算内表现出改进,就把它加回树中。 -
重复第 2 到第 5 步,当 top-k 平均分不再提升或预算耗尽时停止。

AFlow 在 QA、代码和数学任务上的实验显示,相比人工设计 workflow 和 ADAS,AFlow 带来了不错的提升。

Self-Improving Harness
context engineering 或 workflow design 都只是 harness 的一部分。我们需要搜索整个设计空间,并把 context-management logic、workflow、permissions 和许多其他 harness 组件一起优化。就像 Meta-Harness、ADAS 和 AFlow 这些工作已经展示的那样,代码是一种定义程序和系统的通用语言。简单来说,harness 是一段代码,它编程化地规定 prompts、tool calls、subagents、control flow、memory 和 workflow logic 如何协同工作。如果 LLM 能够优化执行 agents 的代码,它就能进入一个远比手写 prompts 更大的设计空间。
Self-Taught Optimizer(STOP;Zelikman et al. 2023)是递归 scaffolding improvement 的早期例子之一。一个 seed improverI_0在t=0时接收一个初始解s、一个 utility functionu和一个黑盒语言模型M,并返回一个改进后的解s',也就是s'=I(u,s;M)。STOP 的目标不是直接改进s,而是改进 improverI本身。
首先,把 meta-utility 定义为给定 improver functionI在一组下游任务D上的平均 utility:
u^(I) := 1/|D| E_{(u,s)~D} [u(I(u,s;M))]
因为改进 improver function 本身也是一个优化问题,我们可以根据I_{t-1}的 meta-utility 表现,通过自我改进更新,递归得到新版I_t:
I_t = I_{t-1}(hat{u}, I_{t-1}; M)

在 Zelikman et al.(2023)的实验中,改进后的 improver 发现了多种策略,例如遗传算法、分解并改进局部、多臂 prompt bandits、模拟退火、变化 temperature,以及 beam/tree search。这类似于把 harness workflow 表示成一个可以被优化的对象。

他们的发现中有一个需要谨慎看待的结果:STOP 在使用 GPT-4 时,会随着迭代提高下游平均表现;但在 GPT-3.5 和 Mixtral 这类较弱模型上,表现反而下降。递归结构本身并不够,基础模型必须足够有能力去改进机制。这说明 harness improvement 可以帮助模型更好地部署,但智能本身仍然是核心。
更新近的工作Self-Harness(Zhang et al. 2026)依赖 LLM agents,通过 propose-evaluate-accept loop 改进自己的 harness。

Self-Harness 中的循环分为三个阶段:
-
Weakness mining:把失败聚类为由 verifier 支撑的 failure patterns。
当前 harness
h_t被用于在任务上评估,并收集执行 traces 用于分析。需要注意的是,在 error logs 表面上,两次运行可能共享相同的 verifier outcome,例如 timeout 或 missing artifact,但它们背后的因果机制可能不同。因此,我们需要包含丰富信息的 failure record:终端 verifier 级别原因、相关 agent 行为的因果状态,以及 trace 暴露出的抽象 agent 机制,用来发现根因。
-
Harness proposal:基于挖掘出的 failure patterns,提出有边界的 harness edits。
同一个模型会在
h_t下作为 proposer 被调用。模型拿到的是一个有边界的 proposal context,包括:(1)当前 harness 的可编辑表面;(2)来自评估系统、由 verifier 支撑的 failure patterns;(3)应该保留的 passing behaviors 记录;(4)此前尝试过的 edits 摘要。
harness edits 应该优先处理反复出现、可处理的错误模式,例如不是任务特定难度导致的问题,并且可以通过窄范围修改解决。
harness edit candidates 应该彼此不同并保持多样性。
-
Proposal validation:验证并合并合格 edits,创建新的 harness
h_{t+1}。 candidate edits 会在 held-in
D_in和 held-outD_out切分上通过 regression tests 评估。前者用于测试 weakness 是否被解决,后者用于检查是否引入了其他未知问题。只有在 held-in 和 held-out 数据上都没有 regression 的 candidates 才会被接受。
被接受的 candidates 会被合并,用来把 harness 更新为
h_{t+1};被拒绝的 candidates 会被记录,但不会改变 active harness。
当MiniMax M2.5、Qwen3.5-35B-A3B和GLM-5在 Terminal-Bench-2 上运行时,Self-Harness 被证明可以学习针对不同基础模型弱点的模型特定 harness instructions,并提高 held-out pass rates。
Self-Harness 这类工作确实会引发我的担忧:如果一个程序被允许编辑 OS 系统,那么抽象边界就被打破了。可编辑表面需要被妥善设计,权限控制和安全层也需要位于这个循环之外。围绕 reward hacking 的所有挑战仍然存在。
演化搜索
演化搜索是一种受自然选择启发的优化方法,可以参考我以前关于 evolutionary algorithm 的文章。它通过 mutation 演化一组 solutions,并只保留群体中“fitness”高的部分。当(1)搜索空间巨大或形状很奇怪;(2)很难用梯度直接优化,但很容易评估 solutions 时,演化搜索就很有用。harness search 看起来正适合这种场景。
过去的研究已经把演化搜索用于 prompt engineering。Promptbreeder(Fernando et al. 2023)通过一组丰富的 mutation operations 优化 task-specific prompts。有趣的是,mutation prompts,也就是给 LLM 的、用于修改 task prompt 的指令,本身也会通过演化得到改进。GEPA(Agrawal et al. 2025)把基于 reflection 的 prompting 和演化搜索结合起来,并使用对试错轨迹的自然语言反思来提出 prompt updates。
Novikov et al.(2025) 提出了AlphaEvolve,它是一个 coding-agent evolutionary search system,会保存一个候选程序池,并提示冻结的 LLM 生成 diff 来进行改进。随着系统反复评估 child programs 并保留成功程序,它会逐渐发现更好的解。

AlphaEvolve 的设计中有几个细节很重要:
-
prompt 包含 parent programs、results、instructions,有时还包含 meta information。
-
coding agent 可以访问完整 repo,但用于改进的代码区域会用
# EVOLVE-BLOCK-START和# EVOLVE-BLOCK-END明确标出。 -
meta-prompt 会按照 LLM 建议,和 instructions、context 一起共同演化,方式类似 solution programs 的演化。
消融实验显示了 evolution procedure、prompts 中的 context、meta-prompts、full-file evolution,以及使用更强 LLM 的价值。

近期变体例如ThetaEvolve(Wang et al. 2025)把演化搜索与 RL 和 in-context learning 结合起来。另一边,ShinkaEvolve(Lange et al. 2025)引入了三个新组件来提高 LLM 采样效率:
-
通过设计 parent sampling,在 performance rank 和 offspring count 之间取得平衡,从而实现更高 sample-efficiency 的探索。
-
通过 code-novelty rejection sampling 丢弃与现有人群过于相似的 candidates,相似度基于 embedding-based cosine similarity。
-
在 meta-scratchpad 中识别成功 solutions 里的好模式,用来指导未来 mutation。
和上面这些专注 solution improvement 的方法不同,Darwin Gödel Machine(DGM;Zhang et al. 2025)明确把一个可编辑 harness-code repository 的演化作为目标,并使用基于 LLM 的 coding agent。准确地说,这个 agent 被允许修改自己的 harness。后续关于 Hyperagents 的工作(Zhang et al. 2026)引入了一个 meta-agent,用来控制如何修改已有 task agents,从而创建新 agents。
-
从池中的一个 coding agent 开始。
-
在每次迭代中,以与性能成正比、与其 children 数量成反比的概率,选择一个 parent,对它进行修改并分支生成新 agents。
-
被选中的 parent agent 检查自己的 benchmark evaluation log,然后提出对自身 harness codebase 的改进,生成新版 coding agent。代码编辑通过两个基础工具实现:(1)bash,参数为
<bash_command>;(2)editor,参数为view/create/edit <file_path>。 -
新 coding agents 被评估,只有表现足够高的 agents 才会被加回池中。
-
重复第 2 到第 4 步,直到触发某个停止条件。
DGM 是在固定模型下进行 harness evolution。在以Claude 3.5 Sonnet作为基础 LLM、初始 harness configs 较简单的实验中,DGM 发现的 agents 在 SWE-bench Verified 上从 20% 提升到 50%,在 Polyglot 上从 14.2% 提升到 30.7%,达到或超过了手工设计 agents。
当 candidate solutions 可以自动评估、candidate fitness 也容易量化时,这一类方法表现很好,例如矩阵乘法、GPU kernel optimization、算法竞赛和数据中心调度。它在评估缓慢、含糊或主要依赖启发式判断的领域会更吃力。演化的计算效率和有效性也是需要关注的问题。
与模型权重联合优化
harness evolution 改变的是模型周围的非参数系统。为了实现完整的自我改进,模型完全可以同时被允许更新自己的权重。权重更新可以通过改进模型训练管线实现,也可以通过测试时持续学习实现。持续学习这个主题本身值得以后单独写一篇文章。
SIA(Hebbar et al. 2026)是把 harness improvement 和 model-parameter updates 放在同一个优化循环里的早期尝试。它的设计包含三个组件:
-
Meta-Agent:提出初始 harness。
-
Task-Specific Agent:执行任务。
-
Feedback-Agent:基于最近 trajectories,选择下一步是更新 harness 还是更新模型权重。

SIA 的实验里有一些混杂选择,使结果不容易解释。比如,task-specific agent 远弱于 Meta-Agent 和 Feedback-Agent 所使用的模型(gpt-oss-120b对比Claude Sonnet 4.6),baseline 也太弱,无法与相关方法做干净的交叉参照。我认为这个方向很有意思,但证据仍是初步的。训练稳定性、Goodhart effect 等许多挑战仍然没有解决。
未来挑战
AI Scientist 这条线的工作很好地展示了:一个由专家设计的 harness,可以协调自动研究循环中的很大一部分,并以写研究论文的形式进行实验。但生产论文并不等同于科学发现。一个系统可以写出看似合理的 manuscript,同时仍然存在虚构引用、实现漂移或实验结果薄弱的问题。
Trehan & Chopra(2026) 测试了 LLM 能否在最小 scaffolding 和基础工具下,从一个研究想法走到一篇论文。这些基础工具包括read_file、write_file、llm_search、list_files。每个想法都有专属 workspace,agents 可以在其中生成和读取文档作为上下文。他们在三个领域做实验:world models、multi-agent RL、AI safety & alignment。每个领域包含 45 到 50 篇高质量 seed documents,用来启发新想法。最终只有四个想法被人类专家选中进入完整 pipeline,只有一个被完整执行成论文。他们在实验中观察到六类反复出现的失败模式:
-
偏向训练数据默认项:使用旧库、过时命令、标准格式,或使用没有基于实际 repo / dataset 的假设。
-
执行压力下的实现漂移:当实现变得技术上复杂时,模型可能会走向更常见、更简单的方案,而不是原本提出的方法。
-
记忆和上下文退化:长周期项目会丢失关键细节,除非日志被写成持久产物。
-
过度乐观:模型会在实验嘈杂或失败时仍然宣布成功。这和 Bubeck et al.(2025) 观察到的 “p-hacking and eureka-ing” 模式类似:模型可能引入“数值胶带”,在信号仍然只是噪声时就宣布胜利。
-
领域智能不足:模型缺乏隐性的手艺知识,例如预测实现复杂度、判断某个实验结果是否可信,或者知道哪些 baseline 重要。
-
科学品味较弱:实验可能能运行,却没有回答正确的问题。
要走向完整 RSI,研究者已经取得了真实进展,但仍有几个瓶颈存在。
1. 弱而模糊的评估器。很多研究 claims 没有快速且精确的 verifier,很多真实世界任务也是如此。当前自我改进循环最适合那些评估指标可测且客观的任务,这和 RL 的工作方式 类似。
研究品味、新颖性和长期科学价值要难测得多。例如,研究品味经常混合了问题框定、实验设计,以及对哪些惊讶结果值得追、哪些失败案例值得重试的判断。
2. 上下文和记忆生命周期。随着 AI agents 变得更自主、更独立,记忆也会增长。一个有用的 harness 需要管理上下文和记忆,以补足现有长上下文生成的限制,同时尽可能提高长周期任务的成功率。人类能够在一生中维持记忆;从这个类比看,context engineering 将会、也应该成为智能的核心部分,而不是停留在软件系统层。
3. 负结果。研究者有动力发表成功结果,因此文献会偏向成功案例。LLM 在大量数据上训练,目前大多仍是人类创造的数据,这里有点好笑;由于数据里的成功案例与失败案例不平衡,LLM 可能不擅长判断何时应该放弃一个假设、报告一个负结果,甚至承认失败。一个 research harness 应该让失败尝试很容易被保留下来,因为从失败中学习,是缩小任务搜索空间的最好方式。
4. 多样性坍缩。演化和 RL 循环倾向于利用已知的高奖励模式。我们需要一些机制来防止群体坍缩成同一种方案的变体。对于开放式研究来说,这一点尤其关键,因为最好的路径在当前 evaluator 下,一开始可能看起来更差。
5. Reward hacking。自我改进循环会优化它被给予的信号。如果奖励来自单元测试,agent 可能会过拟合测试;如果奖励来自 judge model,它可能会学到专门针对这个 judge 的 reward hacking 技巧;如果奖励来自 benchmark 分数,它可能会利用 benchmark artifacts。
evaluator 和权限控制大概率应该位于演化 harness 的循环之外,并在关键决策点配合 held-out tests、trace audits 和人工 review。至于这种监督可以扩展和自动化到什么程度,仍然是一个开放研究问题。
6. 长期成功。外部优化循环作用于 individual rollouts 之外的 rewards,而这些 rollouts 是我们可以在训练 sandbox 中模拟的。
以 coding agent 为例。coding agents 已经提高了软件工程中的日常生产力,但许多优化目标仍然过于短期。它经常能完成手头任务,但不太清楚它应该如何保护一个由数百或数千名工程师共同维护的 repo 的长期健康。标准的 sandbox-based RLVR 风格训练,很少能捕捉可维护性、所有权边界、迁移成本、向后兼容或未来调试负担。
7. 人类的角色。人类应该上移到更高层,而不是从循环中被移除。也就是说,人类应该在正确的时间、以正确的抽象层级提供监督;我们的系统设计也应该考虑何时、如何设置这些接触点。
上面列出的许多挑战都需要人类反馈和 steering。毕竟,我们是在为人类更好的未来构建技术,而不是反过来。
Citation
引用本文时,请使用:
Weng, Lilian. “Harness Engineering for Self-Improvement”. Lil'Log (Jul 2026). https://lilianweng.github.io/posts/2026-07-04-harness/
也可以使用 BibTeX:
@article{weng2026harness,
title = {Harness Engineering for Self-Improvement},
author = {Weng, Lilian},
journal = {lilianweng.github.io},
year = {2026},
month = {July},
url = "https://lilianweng.github.io/posts/2026-07-04-harness/"
}
附录:一些有用的 benchmark
-
**PaperBench**:从零开始复现 20 篇 ICML 2024 Spotlight 和 Oral 论文,包括理解论文贡献、开发代码库并成功执行实验。
每个复现任务被拆成更小、可以单独评分的任务。
总共 8,316 条 rubrics,由论文作者共同参与制定。
当时最好的模型(
Claude 3.5 Sonnet,约 21%)没有超过 ML PhDs。包括 PaperBench、PaperBench Code-Dev 这个更轻量版本,以及 JudgeEval。
-
**CORE-Bench**:评估已发表研究的计算可复现性。
基于计算机科学、社会科学和医学三个领域 90 篇科学论文,构造 270 个任务。
任务涉及用给定代码和数据复现结果。
包含多个难度级别,以及 language-only 和 vision-language 任务。
当时报告的最佳 agent(
GPT-4o和GPT-4o-mini)在最难任务上只有 21% 准确率。-
**ScienceAgentBench**:评估用于数据驱动科学发现的 LLM agents。
从数学、化学、生物和地理四个学科的 44 篇同行评议论文中抽取 102 个任务。
覆盖这些领域中的基础数据科学任务:数据处理、模型开发、数据分析和信息可视化。
-
**RE-Bench**:在真实 ML research-engineering 环境中,把前沿 AI agents 与人类专家进行比较。
7 个有挑战、开放式的 ML research-engineering environments。
每个 environment 包含 scoring function、starting solution 和 reference solution,并且都可以用 8 块或更少 H100 GPU 运行。
示例包括优化 kernel、运行 scaling-law 实验、修复 embedding、为 QA fine-tune GPT-2 等。
包含来自 61 名不同人类专家的 71 次八小时尝试数据。
人类专家在 82% 的八小时尝试中取得非零分;24% 达到或超过 strong reference solutions。
在 2 小时预算下,最佳 AI agents 得分比人类高 4 倍;但人类在更长预算下收益更好,并在 8 小时和 32 小时设置中超过 agents。
-
**MLE-bench**:在离线 Kaggle competitions 上评估 ML engineering agents。
包含从 Kaggle 精选出的 75 个 ML-engineering competitions。
测试训练模型、准备数据集、运行实验,以及向评分脚本提交预测。
使用 Kaggle public leaderboards 作为人类基线。
论文中最佳设置为
o1-preview加 AIDE scaffolding,在 16.9% 的比赛中至少达到 Kaggle bronze-medal 水平。包含资源扩展和污染分析。
-
**KernelBench**:评估生成 GPU kernels 的正确性和速度。
250 个 PyTorch 任务,用来评估 LLM 能否写出快速且正确的 kernels。
评估指标
fast_p表示生成 kernels 中既正确又快于 baseline 的比例。
参考文献
[1] Good, I. J. “Speculations Concerning the First Ultraintelligent Machine.”Advances in Computers, 6:31-88, 1965.
[2] Yudkowsky, Eliezer. “Recursive Self-Improvement.” LessWrong, 2008.
[3] Choi, et al. “Anchored Self-Play for Code Repair.” ICML 2026.
[4] Zhao, et al. “Absolute Zero: Reinforced Self-play Reasoning with Zero Data.” arXiv preprint arXiv:2505.03335, 2025.
[5] Yuan, et al. “Self-Rewarding Language Models.” arXiv preprint arXiv:2401.10020, 2024.
[6] Chen, et al. “Self-Play Fine-Tuning Converts Weak Language Models to Strong Language Models.” ICML 2024.
[7] Zhang, et al. “Agentic Context Engineering: Evolving Contexts for Self-Improving Language Models.” ICLR 2026.
[8] Ye, et al. “Meta Context Engineering via Agentic Skill Evolution.” arXiv preprint arXiv:2601.21557, 2026.
[9] Lee, et al. “Meta-Harness: End-to-End Optimization of Model Harnesses.” arXiv preprint arXiv:2603.28052, 2026.
[10] Lu, et al. “Towards end-to-end automation of AI research.”Nature, 651:914-919, 2026.
[11] Meng, et al. “ScientistOne: Towards Human-Level Autonomous Research via Chain-of-Evidence.” arXiv preprint arXiv:2605.26340, 2026.
[12] Kulikov, et al. “Autodata: An agentic data scientist to create high quality synthetic data.” arXiv preprint arXiv:2606.25996, 2026.
[13] Hu, Lu, and Clune. “Automated Design of Agentic Systems.” ICLR 2025.
[14] Madaan, et al. “Self-Refine: Iterative Refinement with Self-Feedback.” NeurIPS 2023.
[15] Zhang, et al. “AFlow: Automating Agentic Workflow Generation.” ICLR 2025.
[16] Zelikman, et al. “Self-Taught Optimizer (STOP): Recursively Self-Improving Code Generation.” COLM 2024.
[17] Zhang, et al. “Self-Harness: Harnesses That Improve Themselves.” arXiv preprint arXiv:2606.09498, 2026.
[18] Fernando, et al. “Promptbreeder: Self-Referential Self-Improvement Via Prompt Evolution.” arXiv preprint arXiv:2309.16797, 2023.
[19] Agrawal, A. et al. “GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning.” arXiv preprint arXiv:2507.19457, 2025.
[20] Novikov, et al. “AlphaEvolve: A coding agent for scientific and algorithmic discovery.” arXiv preprint arXiv:2506.13131, 2025.
[21] Lange, Imajuku, and Cetin. “ShinkaEvolve: Towards Open-Ended And Sample-Efficient Program Evolution.” arXiv preprint arXiv:2509.19349, 2025.
[22] Wang, et al. “ThetaEvolve: Test-time Learning on Open Problems.” arXiv preprint arXiv:2511.23473, 2025.
[23] Zhang, et al. “Darwin Gödel Machine: Open-Ended Evolution of Self-Improving Agents.” arXiv preprint arXiv:2505.22954, 2025.
[24] Zhang, et al. “Hyperagents.” arXiv preprint arXiv:2603.19461, 2026.
[25] Yuksekgonul, et al. “Learning to Discover at Test Time.” arXiv preprint arXiv:2601.16175, 2026.
[26] Riaz, et al. “Epistemic Uncertainty for Test-Time Discovery.” arXiv preprint arXiv:2605.11328, 2026.
[27] Hebbar, et al. “SIA: Self Improving AI with Harness & Weight Updates.” arXiv preprint arXiv:2605.27276, 2026.
[28] Trehan and Chopra. “Why LLMs Aren't Scientists Yet: Lessons from Four Autonomous Research Attempts.” arXiv preprint arXiv:2601.03315, 2026.
[29] Bubeck, et al. “Early science acceleration experiments with GPT-5.” arXiv preprint arXiv:2511.16072, 2025.
[30] Starace, et al. “PaperBench: Evaluating AI's Ability to Replicate AI Research.” ICML 2025.
[31] Wijk, et al. “RE-Bench: Evaluating frontier AI R&D capabilities of language model agents against human experts.” ICML 2025.
[32] Chan, et al. “MLE-bench: Evaluating Machine Learning Agents on Machine Learning Engineering.” arXiv preprint arXiv:2410.07095, 2024.
[33] Chen, et al. “ScienceAgentBench: Toward Rigorous Assessment of Language Agents for Data-Driven Scientific Discovery.” ICLR 2025.
[34] Siegel, et al. “CORE-Bench: Fostering the Credibility of Published Research Through a Computational Reproducibility Agent Benchmark.” TMLR 2024.
[35] Ouyang, et al. “KernelBench: Can LLMs Write Efficient GPU Kernels?” arXiv preprint arXiv:2502.10517, 2025.
原文链接: Harness Engineering for Self-Improvement:https://lilianweng.github.io/posts/2026-07-04-harness/
进技术交流群请添加AINLP小助手微信(id: ainlp2)
请备注具体方向+所用到的相关技术点

关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。

-
07.10
自然纪录片电影级视频素材集
-
07.10
足球场上欣喜若狂的女性肖像:抓拍
-
07.10
电影感晨间生活日常
-
07.10
韩系时尚 GRWM Vlog
-
07.10
场景无缝切换运动广告
-
07.10
华贵音频产品广告
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏