PART 5 · Harness 与自我改进

让 Harness 改进自己

如果 LLM 能优化执行 Agent 的代码,它就能访问比手写 Prompt 大得多的设计空间。

STOP: Self-Taught Optimizer
💬 说人话:想象一个会磨刀的工匠。普通做法是用刀切菜(用工具解决问题);STOP 的做法是——先把磨刀的手艺练好,刀自然越来越锋利。更妙的是,"磨刀手艺"本身也可以被磨:用改进的方法来改进"改进方法"本身,一层套一层,越滚越强。
核心思想:不改善解,改善"改善器"
STOP(Zelikman et al. 2023)是递归脚手架改进的早期范例。它不是直接改善一个解 s,而是不断改善产生更好解的"改善器" I 本身。

种子改善器 I₀ 接受三个输入:初始解 s、效用函数 u、黑盒语言模型 M,返回改善后的解 s'。

关键洞察:改善器本身也是文本(一段 prompt 或代码),因此可以把同样的改善逻辑作用在改善器自身上。
// STOP 递归更新公式
I_t = I_{t-1}(û, I_{t-1}; M)

// 其中:
// I_{t-1} — 当前改善器(文本形式的 prompt/代码)
// û — meta-utility:衡量改善器质量的函数
// M — 黑盒语言模型
// 输出 I_t — 更好的改善器
💬 这个公式在说啥:别被符号吓到,它只有一句话——让今天的自己去升级昨天的自己。I 就是那个"升级方法",公式说的是:用旧版升级方法,对着自己操作一遍,产出新版升级方法。就像你用 3.0 版的学习方法总结出 4.0 版的学习方法。
STOP 算法流程
STOP 算法流程:改善器递归地作用于自身,产生越来越好的改善策略。(Zelikman et al. 2023)
STOP 的发现
自动发现的策略

改善后的改善器自动发现了遗传算法、分解改进、多臂 Prompt Bandit、模拟退火、Beam Search 等经典优化策略——无需人类预设。

基座模型门槛

GPT-4 能持续改善,但 GPT-3.5 和 Mixtral 反而退化。递归结构本身不够——基座模型必须足够强才能支撑元级优化。

STOP 发现的优化模式
STOP 在不同模型上的表现:只有足够强的基座模型才能通过递归改善持续进步。(Zelikman et al. 2023)

警示:递归 ≠ 必然改善

递归结构给出了改善的可能性,但不保证收敛。弱模型在元级操作中缺乏足够的"编程直觉",反而会放大噪声——结果是退化而非进步。这提示我们:自我改进系统的安全性必须建立在对基座能力的准确评估之上。

Self-Harness:Agent 改进自己的 Harness
💬 说人话:这就像一个员工自己给自己做绩效复盘:① 翻出所有搞砸的案例,找出反复踩的坑(Weakness Mining 找弱点);② 针对性地改自己的工作手册(Harness Proposal 提修改方案);③ 用新手册试运行一段时间,确认老本事没退步、新毛病没出现,才正式采用(Validation 验证)。整个过程不需要老板插手。
Propose → Evaluate → Accept 循环
Self-Harness(Zhang et al. 2026)让 LLM Agent 通过三阶段循环改进自己的 Harness 配置。不同于 STOP 的纯文本改善器,Self-Harness 直接操作 Agent 的运行时编排系统——包括 system prompt、工具调度策略、验证规则等。
1

Weakness Mining

聚类失败轨迹为 verifier-grounded 失败模式。每条失败记录需包含:终端验证器级原因 + 相关 Agent 行为的因果状态 + 轨迹暴露的抽象 Agent 机制。

2

Harness Proposal

基于挖掘的失败模式提出有界 Harness 编辑。模型获得:可编辑面、失败模式摘要、通过行为记录、已尝试编辑的历史。优先选择可寻址的重复错误模式

3

Proposal Validation

held-inheld-out 数据集验证候选编辑。只接受没有回归的编辑——确保改进不以牺牲已有能力为代价。

Self-Harness 流程图
Self-Harness 的三阶段循环:从失败中学习,提出有界编辑,验证后接受。(Zhang et al. 2026)
实验验证
在 Terminal-Bench-2 上对 MiniMax M2.5Qwen3.5-35B-A3BGLM-5 进行实验。Self-Harness 为每个模型学习到了模型特定的 harness 指令——同一个框架对不同基座产生了不同的优化路径,说明 Harness 改进确实是上下文敏感的。
关键洞察

Harness 设计 = 可执行的搜索空间

一旦 Harness 的设计被形式化为可执行的搜索空间(可编辑的 prompt、策略配置、工具编排代码),强编码 Agent 就能利用人类工程师使用的同一设计空间——不再需要依赖人工逐个调试,而是自动化地搜索、提案、验证。这打开了远比手写 prompt 更大的改进可能性。

安全边界不可或缺

如果程序被允许编辑 OS 系统层面的配置,抽象边界就会被打破。自我改进系统的"可编辑面"需要合理设计:权限控制和安全层必须在改进循环之外,由人类或不可篡改的监管机制保障。没有边界的自我改进是失控的自我改进。