引言:自演化 harness 的核心矛盾

不更新模型参数、只靠交互经验积累能力,是当前 agent 领域最有工程吸引力的方向之一。无论是以自然语言文档形式存在的 agent skill(技能),还是包裹冻结生成器的 harness(脚手架/工具链),都在做同一件事:把交互中沉淀的程序性知识持久化,让 agent 越用越强。背后的驱动力很现实——前沿模型的每次迭代都要重训权重,而 harness 层的每次进化只需要执行环境的反馈,边际成本低几个数量级。

但这条路线从诞生起就带着一个内生矛盾:演化的收益与演化的成本天然纠缠。具体表现为两个病灶。

病灶一:执行不确定性

技能通常以文本形式存储、靠 LLM 推理执行。即便技能内容完全不变,每次执行仍要重新解释知识、重建中间决策、重新生成动作,同一条技能反复跑可能走出不同推理路径、得到不同结果。技能学得越多,这种概率性执行带来的抖动反而越显眼。在 LiveMath 上,表现最好的文本技能基线 SkillOpt 把准确率做到 64.67% 的同时,三次重复执行中有 32% 的任务出现过结果翻转——学得越好,不稳定带来的信任损耗越大。这对生产环境的 agent 是致命的:用户无法接受同一个请求今天对、明天错;而对数学计算、文档处理这类本该有标准答案的任务,这种抖动更是纯粹的浪费。

病灶二:库污染

自演化系统把经验写回技能库时,如果写入门槛仅是文本层面看起来合理,那么文本上说得通、实际上损害效果的补丁就会被持久化,并在后续任务中被反复检索复用。污染一旦入库,会随使用不断放大,最终整个演化过程从持续进步退化为无治理的试错迭代。图像生成领域尤其严重:视觉反馈天然稀疏(judge 模型往往只给一个对/错),随机采样让单次分数充满噪声,文本合理的重写可能实际损害像素级的属性绑定——VEvo-Harness 的实测显示,完全不加门控时有害补丁的入库率高达 33–40%,足以在几百个任务内抹掉全部演化收益并倒亏约 15%。

两条路线的分野

2026 年 10 月底 arXiv 上的两篇论文,恰好分别针对这两个病灶给出了体系化的回答,而且思路截然不同:

  • 华东师范大学与中国地质大学(北京)的 SkillCompiler(Compile Away Uncertainty: Self-Evolving Agent Skills via Programmatic Compilation)走的是编译消不确定性路线:既然程序执行是确定性的、可独立验证的,那就把技能中良定义(well-specified)的操作选择性地编译成程序,让 LLM 推理只保留给真正需要上下文判断的部分。代表作数据:LiveMath 上结果不稳定率 EIR@3 从 SkillOpt 的 32.00% 压到 11.00%,学习成本较 SkillOpt 降 41.9%。📄 原文链接
  • 阿里巴巴淘天集团与清华大学的 VEvo-Harness(VEvo-Harness: Causally-Guarded Self-Evolving Harness for Agentic Image Generation,ICLR 2027)走的是因果守护防污染路线:既然视觉反馈稀疏、执行随机,那就用反事实双臂重放(counterfactual dual-arm replay)在像素层面测每个候选补丁的因果效用,只有因果上真的有正收益才允许写入技能库。代表作数据:有害入库率从无门控的 33–40% 压到约 2%,GenEval2 从 31.0 拉到 67.8,300 个流式 episode 滚动分 63.2 → 86.5。📄 原文链接

一篇面向通用 LLM agent 的技能演化,一篇面向图像生成的 harness 演化;一个把「能确定的东西」从推理中抽走,一个把「不能确定的更新」拦在门外。放在一起读,能看清自演化系统设计中「确定性 vs 因果守护」这条完整的决策光谱。下文对每篇按统一的框架展开:背景 → 定位 → 问题定义 → 解法 → 实验证据 → 根源解释 → 知识反推 → 通用灵感,最后做双篇对比评。


第一篇:SkillCompiler——把不确定性编译出去

Compile Away Uncertainty: Self-Evolving Agent Skills via Programmatic Compilation Chengyu Yang 等,East China Normal University + China University of Geoscience,arXiv 2610.39508,2026-10-29 📄 原文链接

1.1 背景:技能演化的两条既有路线

自演化技能研究的已有工作大致分两类。

**技能内容演化(skill content evolution)**关注提升技能文本本身的质量与可迁移性:Trace2Skill 从轨迹蒸馏可复用经验,EmbodiSkill 基于执行证据做技能反思修订,SkillOpt 对自然语言技能文档做验证引导的迭代优化,GEPA 用自然语言反思加帕累托候选选择优化提示词。

**技能执行增强(skill execution augmentation)**关注技能如何被执行:Agent Workflow Memory 复用学到的工作流引导后续动作生成,FlowEvo 把验证过的工作流作为可执行技能复用,AutoTools 引入外部工具,NSI、SkillDisCo、Agent Skill Induction 等则从交互经验构造更接近可执行的程序化表示。

但两类方法都没有触碰一个根本问题:只要技能仍由 LLM 推理来执行,已学好的程序也要每次重新解释、重新生成。执行不确定性无法靠把技能文本写得更好来消除;而已有的可执行表示工作又通常是整体构造,缺乏对「哪些操作适合编译、哪些必须留给推理」的细粒度判断。更早的程序化思想——PAL、Program of Thoughts 把计算从推理中解耦,LLM Compiler 做并行函数调用的编译,DSPy 把声明式调用编译成流水线——证明了「LLM 出逻辑、程序管执行」的可行性,但它们面向的是静态构造,没有人把它接进技能的持续演化循环。

1.2 定位:第一个操作级选择性编译框架

SkillCompiler 的自我定位非常明确:据作者所知,这是第一个同时支持操作级选择性编译(operation-level selective compilation)与程序资产持久复用(persistent reuse of program assets)的自演化技能框架。

它与前驱工作的差别在于:不是把工作流、工具或可执行产物简单地挂接到技能执行上,而是在演化的技能内部显式分析每个操作的可执行性(executability),由系统决定哪个操作继续走 LLM 推理、哪个操作被转成经过验证的程序。Voyager、NSI、SkillDisCo 提供了「经验变程序」的原型,SkillCompiler 补上的是「选择哪些变、变完怎么攒起来复用」这层治理。用编译器做类比:前驱工作像是把源码整体翻译成目标码,SkillCompiler 更像一个带过程间分析的选择性 JIT——热点且类型明确的路径编译执行,其余留在解释器里。

1.3 问题定义:两类未解成本

论文把可靠高效的技能复用面临的问题归纳为两点:

  • 执行不确定性:执行演化后的技能仍需 agent 反复解释保留的知识、重建中间决策、经 LLM 推理生成动作。技能不变,重复执行却可能走出不同路径、产生不同结果。
  • 重复能力构建:技能演化中发现的可执行能力往往按单个技能或任务临时构造,没有持久组织供后续复用,导致相似流程在演化中被反复生成、反复验证。

对应的求解目标因此是:在技能持续演化的同时,降低执行不确定性,并让可执行知识跨技能高效积累与复用。这个问题设定里藏着作者的 KEY INSIGHT:LLM 推理天生概率性,同一技能重复执行必然重抽中间决策;而可执行程序显式编码输入、控制流与状态变换,同一条件下走固定流程。当一个操作有显式输入、良定义流程、可检查输出时,它根本不需要每次都由推理重新发明——问题于是从「如何让推理更稳」转化为「哪些操作应该移出推理」。这是整个框架的问题转换支点。

1.4 解法:三阶段流水线与五大组件

框架由五个组件构成:任务分析器(task analyzer)、程序员(programmer)、执行器(executor)、技能优化器(skill optimizer)和程序资产管理器(program asset manager),组织成三个阶段。

阶段一:可执行性感知的技能编译(executability-aware skill compilation)

首先是操作分解。任务分析器把任务与相关技能知识拆成细粒度操作,每个操作用一个六元组**操作契约(operation contract)**表示:

κi = ⟨Ii, Oi, prei, posti, checki, gi⟩

其中 Ii/Oi 是输入与期望输出,prei 是可观测前置条件,posti 是期望局部效果,checki 定义效果如何验证,gi 是可复用的执行指导。任务相关的实体与取值在调用时才实例化,使同一操作可跨任务复用。

然后是操作分析。判定一个操作能否可靠地程序化执行,标准是:输入输出可显式表示、执行流程可清晰规定、前置条件可从当前环境观测、输出或局部效果可独立验证、可用工具接口支持有界实现。满足则选为程序化操作(programmatic operation);涉及未解析输入、上下文相关决策或开放性语义推理的操作保持 agent 引导(agent-guided)。

接着构建混合技能骨架(hybrid skill skeleton):Sx = ⟨Ox, σx, Ex, βx⟩,分别记录任务所需的操作实例、执行顺序、操作间数据与前置关系、以及当前参数绑定。程序化与 agent 引导操作共存于同一骨架,任务特有取值先留空、执行中按实际观测实例化。

最后是编程与验证。程序员先尝试从程序资产库获取既有兼容实现,没有才按操作契约合成新程序。合成程序必须在隔离环境中验证:能否成功执行、输入输出是否符合 Ii 与 Oi、局部效果是否按 checki 满足 posti。验证失败则带着错误信息回炉修复,循环直到获得合格实现或该操作退回 agent 引导。只有验证过的程序才能进入候选技能——LLM 推理只在程序可被独立验证时才被替换。

阶段二:程序资产复用(program asset reuse)

为避免重复合成相似程序,验证过的程序作为资产持久存入程序资产库(Program Asset Bank)。检索分两层:词汇相似度做候选发现(原子技能用 Dice 相似度加历史效用与激活状态排序),再按操作契约判定适用性——一个检索到的程序只有在参数可正确绑定(Bind)、前置条件满足(Pre)、当前环境提供所需接口(Env)、历史验证记录仍适用于当前操作(Cert)四项谓词全部通过时才可复用。多个实现对应同一能力时保留各自的适用条件;自动调用要求存在唯一合格或首选实现,否则选择权交还 agent。值得一提的是附录明确说明没有使用任何基于 embedding 的向量检索——程序实现通过显式的「技能-实现-程序」引用链定位,而非独立地按向量相似度排序,进一步压低了误检风险。

阶段三:技能优化(skill optimization)

候选技能在目标环境中执行并记录轨迹。失败时技能优化器按操作契约逐一定位:某操作产出了期望输出并通过 checki,即便任务整体失败也予以保留;调用条件过宽则更新 prei,操作间传参错误则改参数绑定或依赖,执行指导不完整则更新 gi,程序未产生期望效果则送回修复。修订是操作级的局部修订,而非从失败任务整体重新生成技能。修订后的操作再与技能库中既有操作按「能力语义相同 + 契约字段在参数对齐下兼容」的准则合并,任务特有实体通过参数化抽象掉,从而持续压缩冗余。

一个值得玩味的细节是论文对「证据」的洁癖:附录明确区分任务级结果与操作级结果——任务失败可能包含多个已独立验证成功的操作(它们仍是正证据),任务成功也不能证明每个中间程序都执行正确。只有独立检查通过的保留片段才构成可复用操作的正证据,失败调用与回滚片段只用于诊断。这种「证据分级」的意识在多数同类工作中是缺失的。

1.5 实验证据:五基准、六模型、七基线

核心数字速览(均出自论文正文与附录):

  • 性能:六模型平均分 79.78–84.63 全部第一,领先最强基线 6.02–11.90%;GLM-5.3-Flash LiveMath +32.33%;ALFWorld SR 98.26%
  • 可靠性:LiveMath EIR@3 11.00%(SkillOpt 32.00%);ALFWorld EIR@3 3.0%、APS@3 81.3%、EPR@3 44.8%
  • 成本:LiveMath 学习 2.695M token(较 SkillOpt -41.9%、较 GEPA -52.1%)、0.450 调用/任务;ALFWorld 学习 32.442M、推理 47.015k/任务(较 SkillOpt -7.6%)
  • 程序化规模:PPC 100.00%、CSR 54.85%、PIS 88.84%、PAS 87.06%、CPO ≥48.36%
  • 消融:去 Programmer SR 崩至 53.48%(token 7.36 倍);去骨架/优化各 95.52%(token 2.75/2.48 倍)

实验覆盖 SearchQA、OfficeQA、DocVQA、LiveMath、ALFWorld 五个基准(训练/验证/测试划分如 300/24/1400、120/24/102、180/22/201、60/17/100、120/24/134),MiniMax-M3、Gemini-3.8-Flash、Qwen3.8-Flash、DeepSeek-V4.1-Flash、Kimi-K2.6、GLM-5.3-Flash 六个模型家族,对比 No Skill、Human Skill、Trace2Skill、EvoSkill、EmbodiSkill、GEPA、SkillOpt 七个基线。主结果为三个种子(42/43/44)平均,测试期技能库冻结;稳定性与消融分析用种子 42 的技能库,每任务同条件重复执行三次。

主性能:六个模型上平均分全部第一,领先各模型最强基线 6.02–11.90%,且六模型间平均分波动仅 4.85%(79.78%–84.63%),说明机制跨异构模型家族稳定成立——值得注意的是不同模型上的最强基线并不相同(Gemini 上是 GEPA、Qwen 上是 EvoSkill),而 SkillCompiler 在两种设定下都保持第一。以 Kimi-K2.6 为例,SearchQA/OfficeQA/DocVQA/LiveMath 分别达到 85.50/74.51/96.52/76.00,较各基准最强基线分别提升 1.52/16.99/0.50/22.00。增益最大的是 LiveMath:GLM-5.3-Flash 上提升 32.33%——恰好是操作最良定义、最适合编译的数学推理任务;GLM-5.3-Flash 的四基准平均也借此冲到 82.16(最强基线 GEPA 70.90)。长程交互任务 ALFWorld(DeepSeek-V4.1-Flash)上成功率 98.26%,超最强基线 EmbodiSkill 4.73%、超 SkillOpt 10.20%、超 GEPA 11.44%,较 No Skill 的 79.60% 提升 18.66%。

执行可靠性(每任务在固定技能库下重复执行三次):LiveMath(Gemini-3.8-Flash)上 SkillCompiler EM 78.67% 同时 EIR@3(三次执行中出现成败翻转的任务占比)仅 11.00%,而最强文本基线 SkillOpt 是 EM 64.67%、EIR@3 32.00%——EM 提升 14.00 的同时把结果不稳定率相对压低 65.6%。ALFWorld 上 EIR@3 低至 3.0%(SkillOpt 为 7.5%),平均路径相似度 APS@3 达 81.3%、成功条件路径相似度 82.5%、精确路径重复率 EPR@3 达 44.8%,均为全部方法最高。

成本:LiveMath 上学习成本 2.695M token,较 SkillOpt(4.639M)降 41.9%、较 GEPA(5.631M)降 52.1%;每任务模型调用 0.450 次为全场最低——大量任务被程序完全执行、贡献零模型请求(附录明确:完全由程序完成的执行记零次模型调用)。推理 token 13.984k/任务虽高于 SkillOpt 的 6.672k,但低于 EvoSkill、EmbodiSkill、GEPA。ALFWorld 上推理成本 47.015k token/任务(较 SkillOpt 降 7.6%、较 GEPA 降 32.7%),学习成本 32.442M 同样低于两者(SkillOpt 57.468M、GEPA 52.970M);对比 No Skill 模型调用降 25.7% 且成功率反升 18.66%。程序统计进一步佐证程序化执行的规模:持久程序覆盖率 PPC 100.00%(三个种子均为 134/134,全部测试任务都真正调用过库内程序)、跨技能复用率 CSR 54.85%、程序调用成功率 PIS 88.84%、程序动作占比 PAS 87.06%、程序输出被下游确认消费的比例 CPO 至少 48.36%。

消融(ALFWorld,DeepSeek-V4.1-Flash):去掉技能骨架,SR 降至 95.52%、token 涨到 2.75 倍、EIR 升至 8.21%;去掉技能优化,SR 95.52%、token 2.48 倍、APS 从 81.27 掉到 61.95%;最致命的是去掉程序员——SR 崩至 53.48%、token 涨到 7.36 倍、EIR 达 19.40%。程序化执行是性能与可靠性的第一支柱,显式骨架与持续优化分别负责组织效率与一致性。

1.6 根源解释:为什么选择性编译有效

SkillCompiler 的优势根源可以归结为四点。

第一,确定性的迁移。LLM 推理本质概率性,同一技能重复执行必然重抽中间决策;程序显式编码输入、控制流与状态变换,同一条件下走固定流程。把良定义操作从「每次重新想」变成「直接执行」,等于把该操作上的采样噪声整体归零。EIR 从 32% 到 11%、路径重复率 EPR 高达 44.8%(其余方法最高不过 10% 量级)就是这种「物理降噪」的直接读数。

第二,选择而非全编。全文编译会牺牲上下文相关决策的灵活性,不编译则不确定性依旧。操作级分析让系统只在「输入显式、流程良定义、效果可独立验证」三条件同时满足时才替换推理,收益与灵活性得以同时保住——这也是增益集中在 LiveMath、OfficeQA 而非依赖上下文解释的 SearchQA/DocVQA 的原因。论文的讨论部分明确承认这个边界:上下文依赖的解释类任务可编译空间天然小。

第三,验证前置 + 资产复用。程序必须在隔离环境通过契约验证才能进入技能,把「替换推理」这件事本身也置于证据约束之下;验证过的程序作为资产持久化、按四谓词复用,合成与验证成本被跨技能摊薄(CSR 54.85% 说明近半程序版本被两个以上技能骨架共享)。附录还专门澄清了反作弊细节:程序输出必须在轨迹中被下游操作实际消费才算数(CPO 只记保守下界),隐藏答案字段与任务身份查找表不得作为程序输入——这套「源头接地检查」让程序化执行的统计难以虚报。

第四,失败归因的粒度革命。传统技能演化失败即整体重写,SkillCompiler 按操作契约逐个核对、只修真正违约的部分,已验证正确的操作跨失败保留。这既加速收敛(局部修订远快于整体重学),又保护了已积累的确定性行为不被误伤。

论文也坦承边界:编译只能减少而非消除不确定性,上下文相关决策仍在 LLM 手里;局部验证只覆盖测试过的输入与环境状态,不保证对未见条件泛化;动态真实网页环境的效果待验证。

1.7 知识反推:这篇论文在告诉我们要掌握什么

从 SkillCompiler 反推出的可复用知识:

  • 操作契约六元组(输入/输出/前置/效果/验证/指导)是把模糊技能文本改造成可治理资产的模板——任何想给 agent 技能做「接口化改造」的团队都可以直接套用。
  • 可执行性判定四条件(输入输出可显式表示、流程可规定、前置可观测、效果可独立验证)是一套判断「这件事该不该写成代码」的操作性标准,比「能用程序就用程序」这类直觉强得多。
  • 检索发现与调用资格分离:词汇相似度只负责找候选,真正的复用要看绑定、前置、环境、验证记录四道资格检查。这是所有「资产库」设计都该抄的分层。
  • 失败归因到操作级:任务失败不等于技能作废——按契约逐操作核对,保留已验证正确的部分,只修真正出错的部分。这个理念与软件工程中「最小回滚单元」同构。
  • 不确定性是可度量的产品指标:EIR@3、路径相似度 APS、EPR 这组指标把「执行稳不稳」变成可跟踪数字,值得任何生产环境 agent 团队引入。
  • 验证的诚实性设计:隔离环境验证、恢复快照、程序输出消费链可追溯(CPO 只记保守下界)——论文在附录里花了大量篇幅堵住「程序化执行统计被夸大」的漏洞,这种自我审计的严谨度本身就是一个方法论范本。

1.8 通用灵感:即使不做技能编译也值得带走

  • 贵模型推理的最小化原则:凡是「输入显式、流程确定、输出可查」的环节,从对话式推理降级为确定性执行,既能省钱又能稳定质量——SkillCompiler 的 0.450 次调用/任务证明很多「推理」其实根本不需要推理。
  • 「选择性降级」是比「全量替换」更普适的架构思路:自动挡换手动挡,不是全换,而是按路况换。
  • 经验资产的复用率(CSR)是可以主动设计出来的:参数化抽象 + 契约兼容合并,能让一次合成服务多个场景。
  • 对重复执行的稳定性测量(同样的输入跑三遍看结果翻不翻转)成本极低,却是检验任何 agent 系统工程成熟度的试金石。
  • 消融的启示:三个组件去掉任何一个,性能未必崩(SR 仍 95.52%),但成本全部暴涨 2.5–7.4 倍——可靠性工程的回报往往首先体现在成本曲线而非分数曲线上。

第二篇:VEvo-Harness——把污染拦在因果门外

VEvo-Harness: Causally-Guarded Self-Evolving Harness for Agentic Image Generation Yuan Wang 等,Taobao & Tmall Group of Alibaba + Tsinghua University,ICLR 2027,arXiv 2610.39158 📄 原文链接

2.1 背景:图像生成的瓶颈迁移与 harness 的「只读」困境

视觉生成的中心瓶颈已经从像素级保真度(pixel-level fidelity)迁移到满足稠密耦合约束的用户规格:精确物体计数、属性绑定(attribute binding)、外部知识、多步推理。单次推理撑不住,于是出现两类扩展:提示词稠密化/语义重写,以及围绕生成器的多 agent 系统(规划、检索、技能调用、修复循环)。

但现有系统的 harness 本质上是只读的控制流编排器:GEMS、Gen-Searcher 无状态或静态策展,修复轨迹被丢弃;GenRouter 只演化桶级路由效用,被路由的修复循环与准入标准从不更新。没有任何系统具备一条受治理的写入路径(governed write path),让验证过的经验沉淀为持久能力。更糟的是视觉反馈天然稀疏——judge VLM 只给二元对错——基于朴素相关的经验积累会自欺,诱发 harness 级幻觉(harness hallucination):文本上合理的更新实际损害视觉质量。论文开篇的那句质问点破了整个领域的症结:记忆期与治理期双双缺位的系统,只是一台「无治理的试错迭代器」。

2.2 定位:第一个因果守护的自演化视觉 harness

VEvo-Harness 自我定位:首个面向 agentic 图像生成的因果守护持续自演化 harness 系统(ICLR 2027 已发表)。它把冻结生成器外围的脚手架从「瞬态执行层」改造成「持久、可演化的运行时」,并给写路径加上因果准入门。对象是冻结的生成模型 M(Z-Image-Turbo、Qwen-Image-2512 等),harness 被形式化为 H=(A, M, G, π):执行沙箱 A、治理机制 G、路由策略 π、生命周期状态 M=(E, S)。整个系统随使用形成自演化 agent At=(M, Ht, w),Ht 表示 harness 在第 t 个任务后已被更新——即能力增长完全发生在外围,生成器与推理后端始终冻结,这既是研究设定也是其工程卖点:任何已有生成栈都可以无痛叠加。

2.3 问题定义:无门控写入如何杀死自演化

论文要解的问题链条是:稀疏二元判定无法定位视觉失败根因 → 无法精准干预 → 干预后即便分数涨了也不知道是不是干预的功劳 → 无门控写入让文本合理但视觉有害的补丁入库 → 污染被反复检索放大 → 「自演化」退化为带记忆的随机游走。问题的数学表述落在:如何为每个候选技能补丁 φ 估计其对技能 sk 的因果效用 Δcf,并只放行因果上确证的更新,且全程不改动生成器权重、不需重置、可流式持续进行。

注意这个问题与前一篇的微妙对称:SkillCompiler 面对的不确定性在执行端(同样的知识每次执行结果不同),VEvo-Harness 面对的不确定性在评估端(同样的干预分数不同,因为采样噪声与混杂效应)。评估端噪声比执行端噪声更险恶——它污染的不只是某次结果,而是经验库本身的判断力,错误会随检索复用复利放大。这就是为什么论文反复强调「写入路径(write path)必须有治理」:读路径的优化(更好的检索、更好的路由)在污染库上一文不值。

2.4 解法:四个耦合创新

(一)视觉溯源(Visual Traceback):把二元判定稠密化为根因向量。 judge VLM 对 m 个组合约束 c 给出布尔判定向量 v。对每个失败约束 cj 动态生成至多 4 个正交细粒度子问题(覆盖物体存在、细粒度属性、风格保真等正交诊断维度,语义冗余的子问题动态过滤),构成惰性扩展的两层验证树 Tj(只在该约束失败时展开),子问题并发评测、单轮 VLM 完成。溯源输出为所有假叶子的集合 e = Traceback(v, y, c),即像素对齐的根因向量——失败从「不对」变成「错在属性绑定/物体计数/空间关系/知识缺口/子维度缺失/字符遗漏/布局模糊」。与预定义维度清单的区别在于:失败条件化的自适应分解会按约束的语义性质定制诊断结构(关系型约束展开为空间+存在性检查),而非千篇一律地套模板;判定用的约束按 prompt 缓存,保证下游反事实协议各臂之间的判定标准严格对齐——这个细节常被忽视,却是因果比较有效的前提。

(二)视觉持续治理(Visual Continual Governance):反事实双臂重放准入门。 候选补丁 φ 的因果效用定义为反事实双臂重放:

Δcf(φ | sk, x) = E_z[Rvis(G(x, sk⊕φ; z), Cx) − Rvis(G(x, sk; z), Cx)]

即在固定随机种子集合 z(每臂 K=4 次种子固定重放)与固定技能路由下,比较「打补丁的臂」与「不打补丁的臂」在渲染像素上的视觉契约奖励差。三值准入门:Δcf > ϵ 为 verified(入库)、Δcf < 0 为 detrimental、0 < Δcf < ϵ 为 uncertain(后两者入拒绝变更缓冲 D)。语义等价于已拒绝编辑(J > 0.6)的提案在验证前就被预先抑制,避免重复踩同一坑。入库后持续监控:按 (sk, x) 跟踪通过率漂移,把已正确渲染的指令片段存为受保护规则 ψ+,防止后续失败驱动的更新破坏已验证内容(成功保护);技能合并用 EMA(θsem = 0.6,α = 0.3),容量压力下按置信衰减 + 闲置 + 失败的复合分逐出。这套设计实质上是把「写入、监控、合并、逐出」做成了一个带生命周期的版本管理系统——每个进入 S 的补丁都带着因果出生证明,退出时也带着使用记录。

(三)生命周期管理的 harness 状态(Lifecycle-Managed Harness State):三层蒸馏。 工作记忆 Mwork 缓冲当前任务的提示/验证/根因向量,任务结束即冲刷防泄漏;经验记忆 E 归档通过组合验证的轨迹,每条目 τj 显式锚定到根因向量 ej 而非裸提示-图像对,检索先按根因相似度召回、再按 Δcf 降序重排;模式记忆 P 由归纳算子从 E 蒸馏反复出现的失败模式 ρk=(失败模式 µk, 预防策略 φk, 支持数 σk, 动态置信 κk),置信随使用反馈 ±0.05 调整、按 0.02 衰减、低于 0.15 剪枝。晋升入技能库 S 严格受反事实验证门控。

(四)异构沙箱策略(Heterogeneous Sandbox Policy, HSP):按根因路由干预动作。 动作空间不再是单一的提示重写,而是 A={a_rewrite 重写提示, a_resample 重采样, a_tune 调超参},分别作用于流水线的条件侧、采样侧与渲染侧。路由用风险敏感 softmax:Q̂(a,e) = µ̂(a,e) − λ·σ̂²(a,e),均值与方差按 EMA 从历史 Δcf 滚动更新(τ=1.0, λ=0.5, α=0.3),方差惩罚让系统自动避开高风险动作。

四个模块闭合成 generate–verify–intervene–memorize 循环:溯源给根因,沙箱按根因干预,治理验证干预的因果效用,状态把验证过的知识分层沉淀供下一任务检索。实现层面的关键超参:至多 5 次 harness 迭代;每失败约束展开至多 4 个子问题;Δcf 每臂 K=4 次种子固定重放;拒绝缓冲容 50 条、抑制阈值 J>0.6;编辑预算从 4 余弦衰减到 1;生命周期整合从第 10 个 episode 启动、从最近 30 个 episode 蒸馏至多 5 个模式。

2.5 实验证据:从 31.0 到 86.5 的演化曲线

核心数字速览(均出自论文正文与图表):

  • 生成:Z-Image-Turbo 五基准平均 60.29 → 76.28(GenEval2 31.0 → 67.8);Qwen-Image-2512 平均 77.59(GenEval2 86.1、超 GenRouter 14.5;GenEval 0.90 超商用 Seedream-4 的 0.84)
  • 下游零样本:两后端平均 +17.21% / +11.58%,CREA +13.89/+10.23、ArtiMuse +17.15/+4.81
  • 编辑:RISE Temporal 45.8(超 Know-Thinker 1.1)、KRIS 三项 84.93/84.29/85.29(Conceptual 超 Nano-Banana-Pro)、WiseEdit 80.6、GEdit 8.63
  • 自演化:300 episode GenEval2 滚动分 63.2 → 86.5;去 VCG 中程峰值约 78 后崩至约 71.5(低约 15%)
  • 治理:有害入库率无门控 33–40%、文本门控约 16%、完整 VCG 约 2%;VLM 调用平均降 41.6%(10.82 → 6.32)
  • 因果匹配:匹配动作比错配高至 8.7 倍;跨模型 Kimi-K3 84.0 → 90.1

实验遵循 GEMS 协议,覆盖 GenEval、GenEval2、DPG-Bench、OneIG(中英)、WISE 五个生成基准,LongTextBench、SpatialGenEval、CREA、ArtiMuse 等下游任务,以及 RISE-Bench、KRIS-Bench、WiseEdit、GEdit-Bench 四个编辑基准;核心推理后端 Qwen3.5-27B,至多 5 次 harness 迭代。

主结果:Z-Image-Turbo 后端五基准平均 76.28(原始后端 60.29),其中 GenEval2 从 31.0 提到 67.8(+36.8)、GenEval 0.77 → 0.89、DPG-Bench 85.08 → 86.72、OneIG 0.526 → 0.594 / 0.501 → 0.563、WISE 0.57 → 0.88;Qwen-Image-2512 后端平均 77.59,GenEval2 达 86.1、超 GenRouter 14.5,GenEval 0.90 超商用 Seedream-4(0.84)。对比推理时扩展方法(Rewrite、Promptist、Search、Maestro、CRAFT、GEMS、GenRouter)全面领先;Promptist 这类无引导方法甚至在 DPG-Bench 上倒退 19.39,反衬无治理扩展的代价。

下游零样本迁移:能力增长确实在 harness 层——两个后端平均分别 +17.21% 与 +11.58%,CREA +13.89/+10.23、ArtiMuse +17.15/+4.81,SpatialGenEval +4.1/+3.5,LongText 中英两语也全面领先,全部第一。这组实验的设计意图很清楚:下游任务从未参与演化,如果在它们上涨分,说明学到的失败模式与预防策略是领域无关的通用能力,而非对评测基准的过拟合。

编辑基准:RISE-Bench Temporal 45.8(超 Know-Thinker 1.1)、Logical 20.0(+4.7);KRIS-Bench Factual/Conceptual/Procedural 84.93/84.29/85.26,Conceptual 超 Nano-Banana-Pro;WiseEdit 80.6、GEdit 8.63,全面领先社区模型。

自演化与治理(最关键的证据):300 个流式 episode 上,GenEval2 滚动均分从 63.2 单调爬升至 86.5;去掉视觉持续治理(w/o VCG)后增益在中程峰值约 78 后崩落到约 71.5,最终比完整版低约 15%。Fig. 4(a) 把崩溃归因到准入质量:无门控时有害补丁入库率 33–40%,纯文本门控收敛在约 16%,完整 VCG 到第 100 个 episode 时压到约 2%(去拒绝缓冲升到 10%、去成功保护升到 8%)。无状态(GEMS、无记忆)版本分别收在约 70 与 64.5。

治理效率:拒绝变更缓冲随流推进持续压低验证开销——无缓冲时重复验证已拒方向使 VLM 调用膨胀 71.8%;有缓冲反而下降 25.7%,平均调用降 41.6%(10.82 → 6.32),末段(241–300)降幅达 59.0%。完整系统同时做到最准(84.38%)、最快(38.4s)、最省(6.2 次调用/任务)。

消融与因果匹配:去掉生命周期状态 GenEval2/KRIS 降 6.7/6.2,去掉技能合并降 2.5/3.3;VCG 超无门控 2.9/3.2、超文本门控 2.2/2.7;HSP 超单体重写 4.0(WISE)、超随机路由 2.4(KRIS)。微消融中根因锚定的实例记忆贡献最大(去掉 -3.96%、延迟升至 45.2s),反事实重排 +1.80%,EMA 与方差正则 +2.62%/+1.97%,惰性门控省 47.5% VLM 调用、冗余过滤省 44.9%(11.8 → 6.6 次调用)。Fig. 4(d) 的条件成功率矩阵直接验证了异构路由的必要性:条件侧失败(组合错绑)适合重写(0.66),渲染侧缺陷(布局模糊)适合调参(0.57 vs 重写仅 0.29),子维度缺失类失败无单一主导动作、需要随机化路由;匹配动作比错配动作的因果成功率高至 8.7 倍。跨模型迁移(Qwen3-VL-8B 74.6 → 82.6、Kimi-K3 84.0 → 90.1,KRIS 上 Kimi-K3 87.3 → 89.4)说明收益来自共享的演化运行时而非模型偏置。

渐进装配(最能说明架构逻辑的一组数字):从基础 harness 77.6 出发,依次加上视觉溯源 79.4、异构沙箱 81.2、生命周期状态 83.4、视觉持续治理 86.1——每个模块的边际增益分别为 1.8/1.8/2.2/2.7,治理反而贡献最大,且越往后加边际增益越大(基座越完整,治理过滤的经验越能被放大)。

2.6 根源解释:为什么因果门控是自演化的生死线

VEvo-Harness 的优势根源可归结为四层。

第一,反事实把「相关」升级为「因果」。A/B 两个臂共享同一任务、同一技能路由、同一随机种子集,唯一的差异就是补丁本身——Δcf 因此确实是补丁的边际贡献,而不是提示手感或采样运气的混杂效应。文本层面看似合理的编辑(重写得更华丽)在像素奖励上可能是负贡献,只有重放能拆穿。这一点在「文本门控」消融上被精确量化:只用文本判断准入比完整反事实重放低 2.2–2.7 个点,有害入库率停在 16% 而非 2%。

第二,拒绝记忆切断系统性浪费。没有 denied buffer,agent 会反复提出语义雷同的失败方向、反复为它付重放成本;缓冲把这些方向一次性存档、后续直接抑制,验证开销随时间递减(平均降 41.6%,末段达 59.0%),系统越用越便宜——这与直觉中「治理等于开销」恰好相反。

第三,根因锚定的记忆让经验可定位复用。经验条目锚定结构化根因向量而非原始提示-图像对,检索按「失败模式像不像」而非「表面文本像不像」召回,再按已验证因果增益排序——污染被挡在门外的同时,干净经验的可复用性也被结构化了。微消融里实例记忆贡献最大(-3.96%)、反事实重排 +1.80%,都指向锚定方式本身的价值。

第四,干预与失败类型的因果匹配。异构沙箱消融显示单一重写比完整路由低 4.0(WISE),条件成功率矩阵证明组合错绑适合重写(0.66)而布局模糊适合调参(0.57 vs 0.29)、匹配动作收益差最高 8.7 倍——失败有其因果层位,干预必须对位。论文的渐进装配消融(77.6 → 79.4 → 81.2 → 83.4 → 86.1)显示四个模块贡献叠加、缺一不可。

2.7 知识反推:这篇论文在告诉我们要掌握什么

  • 反事实双臂重放是评估任何「增量更新」的通用模板:同一输入、同一随机性、只 toggle 一个变更,度量奖励差。凡是往系统里写配置/规则/提示词的地方都适用,成本只是多跑一臂。
  • 三值门(verified/detrimental/uncertain)+ 拒绝缓冲比二值门(好/坏)信息量大一档:不确定的东西不被误杀也不被误收,且被拒方向留档防重试。微消融显示二值门会掉 2.48 个点——模糊地带的处置方式不是小事。
  • 把稀疏判定稠密化是诊断类系统的通用手法:二元 pass/fail 没有行动价值,用「失败触发的动态子问题树」展开成根因向量后,干预才能对症。注意是失败条件化的动态分解,不是静态检查清单(消融里固定维度清单各项落后 2.2–2.7)。
  • 经验锚定在结构化原因上而非表面样本上,是记忆系统从「检索相似」走向「检索有用」的关键一步。
  • 异构干预 + 风险敏感路由:失败有不同成因层(条件侧/渲染侧),单一修复工具必然结构性瓶颈;均值减方差加倍的 Q 值是轻量而不失稳健的 bandit 式路由。
  • 预算限界意识:至多 5 次迭代、4 个子问题、每臂 4 次重放、拒绝缓冲 50 条——每个自由度都有显式上界。研究原型与可部署系统的差距,往往就在这些数字有没有被认真设定。

2.8 通用灵感:即使不做图像生成也值得带走

  • 自演化系统的第一性问题不是「学不学」,而是「写入门槛设在哪」:33–40% 的有害入库率可以在 300 个 episode 内把一切增益抹平并倒亏 15%——治理不是演化的对立面,是演化的前提。
  • 无记忆的迭代优化与有治理的持续演化是两个物种:前者每次会话从零开始,后者的单位成本随经验下降(VLM 调用 10.82 → 6.32)。
  • 「冻结核心 + 演化外围」是性价比极高的架构:Qwen-Image 被 harness 抬到超过 Seedream-4,说明竞争前沿正从模型层挪到脚手架层。
  • 成功保护(success preservation)思想广泛适用:修 bug 时先把已验证正确的部分钉住,防止修复动作本身引入回归——视觉编辑如此,代码、配置、提示词工程亦然。
  • 对任何自动改写系统(包括自动调 prompt、自动改规则),先问一句:改动的效果是因果验证过的,还是只是看起来更顺眼?
  • 评估器的预算意识值得学:至多 5 次 harness 迭代、每约束 4 个子问题、每臂 4 次种子固定重放——每个自由度都被显式限界,这是把研究原型推向可部署系统的关键素养。

双篇对比评:确定性 vs 因果守护,何时用哪条

防的是什么

先看一张总览表:

维度SkillCompilerVEvo-Harness
核心敌人执行不确定性(重复执行的抖动)库污染(有害更新入库)
防御时机事前:只编译可独立验证的操作事后:写入前做反事实重放
核心机制操作级选择性编译 + 程序验证因果门控 Δcf + 拒绝缓冲
知识形态混合骨架(程序 + 推理共存)三层记忆 + 因果验证技能库
判断标准契约可满足(输入/前置/效果/验证)像素奖励的因果增量
执行变化良定义环节零 LLM 调用干预动作按根因路由
代表数字EIR@3 32%→11%,调用 0.450/任务有害入库 33-40%→2%,63.2→86.5
领域通用 LLM agent(QA/数学/具身)agentic 图像生成/编辑
发表arXiv 2610.39508(2026-10-29)ICLR 2027(arXiv 2610.39158)

两篇论文看似都在做「让自演化更可靠」,但切入点几乎正交。SkillCompiler 假设知识本身是对的,问题在执行端——文本技能每次重新解释必然抖动,于是把能确定的部分物理上移出概率推理。VEvo-Harness 假设执行端可以接受随机,问题在知识写入端——视觉任务本来就有采样噪声,关键是不让噪声下的假相关冒充经验写进库。

换个角度看,两者针对的不确定性类型也不同:SkillCompiler 处理的是同方差的过程噪声(同一技能每次执行等可能地抖动),VEvo 处理的是系统性污染风险(错误一旦入库便永久驻留并被复用放大)。前者可以用「移出随机源」根治,后者只能靠「写入时过滤」控制——这决定了两条路线在机制上无法互换。

互补而非替代

进一步看,两者其实在演化流水线的不同关口设卡:SkillCompiler 的关口在「操作成为技能的一部分之前」(程序必须通过隔离环境契约验证),VEvo-Harness 的关口在「补丁成为技能的一部分之前」(必须通过双臂重放)。前者验证的是绝对正确性(程序按契约工作吗),后者验证的是相对因果效用(比没有它好多少)。当操作有明确契约时,绝对验证更便宜更硬;当效果只能靠随机渲染的奖励衡量时,因果重放是唯一能剥离噪声的手段。

两者也各自暴露了对方的长处:SkillCompiler 的技能修订仍是基于轨迹分析的自然语言过程,若其技能优化环节引入 VEvo 式因果门控,可进一步防止错误归因的修订入库;VEvo-Harness 的技能是提示与策略层面的,若把其中可程序化的预防动作(如确定性的布局检查)编译成程序,可降低其每任务 6.2 次 VLM 调用的成本。

从时间轴上看两者还有一层互补:SkillCompiler 的验证发生在技能构建时(一次性成本,此后每次执行零成本复用),VEvo-Harness 的重放发生在每次写入时(持续成本,但换来持续的质量保证)。前者像编译器的静态检查,后者像 CI 的回归测试——成熟的软件工程两条都用,自演化系统没有理由例外。

何时用哪条

  • 操作良定义、效果可独立检查(数学计算、文档处理、结构化工具调用、ALFWorld 式具身流程)→ 编译路线。收益直接(EIR 降 65.6%、调用降到底),且程序资产可跨技能摊薄成本。
  • 效果只能统计度量、执行强随机、反馈稀疏(生成式任务、开放性创意、视觉/音频合成)→ 因果守护路线。这里没有可写的契约,只有可比的分布,双臂重放是不二之选。
  • 真实生产系统大概率两条都要:先给可程序化的环节做选择性编译压掉基础抖动,再给剩下的经验写入流加因果门控防污染。「确定性执行」管下限,「因果治理」保上限。

工程落地的现实约束

选路线时还要掂量各自的隐性成本。编译路线的前置投入是契约工程:你得先有能力把业务流程拆成带前置条件与效果验证的操作——对存量系统这不便宜;它的验证依赖隔离环境与可观测效果,纯黑盒 API 的场景下契约的 checki 一栏会很难填。因果守护路线的前置投入是重放成本与评估器质量:每个候选补丁要跑两臂各 K 次生成,评估器本身的偏差会被门控放大成系统性偏差(评估器觉得好的补丁未必真的好);论文用种子固定与约束缓存把噪声压到可控,但换到奖励更模糊的领域(如长文写作)需要重新设计视觉奖励 Rvis 的对应物。两条路线还有一个共同前提常被忽视:任务流要足够长、同类型失败要足够频繁,才能摊薄治理基础设施的成本——一次性任务的系统不值得上任何一条。

一句话总结:SkillCompiler 回答的是「怎么让学到的能力稳定兑现」,VEvo-Harness 回答的是「怎么让学进来的东西值得兑现」。


结语

自演化 agent 研究正在从「能不能积累」转向「积累得可不可靠」。这两篇论文分别站在演化流水线的两端给出了范式样本:一端用程序化编译把概率推理的领地收缩到只剩真正需要判断的部分,一端用反事实门控把经验的写入门槛抬高到因果证据之上。前者让 LiveMath 上的结果翻转率从 32% 落到 11%、六模型平均全面领先;后者让图像生成的有害入库率从 33–40% 压到 2%、300 个 episode 单调爬升 23 分。

值得注意的共性是:两者都没有发明新的学习算法,而是都在做治理设计——契约、验证、门控、缓冲、分层记忆。这提示 2026 年之后自演化系统的竞争焦点:不是谁积累得多,而是谁的写入路径更配得上信任。对工程实践者,SkillCompiler 的操作契约与四谓词复用检查、VEvo 的双臂重放与拒绝缓冲,都是可以本周就搬进自己系统的组件。

对研究者,两条路线的交叉处留有明显空白:因果门控下的选择性编译、程序资产的因果效用重估、以及把这套治理思想推广到多 agent 协作与长期在线部署,都是值得下注的方向。此外两篇论文的评估范式本身也值得效仿——SkillCompiler 用重复执行测稳定性(EIR/APS/EPR),VEvo 用流式 episode 序列测演化健康度(滚动分、有害入库率),这些「过程指标」比单点终分更能暴露自演化系统的真实品质,未来的相关工作大概率会被要求报告同类指标。

最后回到开篇的矛盾:演化收益与演化成本的权衡,本质上是一个信任分配问题——哪些经验值得信任、信任到什么粒度、信任如何度量。SkillCompiler 的答案是「契约可验证的信任到程序级」,VEvo-Harness 的答案是「因果效用为正的信任到补丁级」。两个答案合起来,构成了 2026 年自演化 agent 治理设计的最完整图景。

论文信息

  • SkillCompiler: Compile Away Uncertainty — 📄 原文链接,East China Normal University & China University of Geoscience,2026-10-29
  • VEvo-Harness: Causally-Guarded Self-Evolving Harness — 📄 原文链接,Taobao & Tmall Group of Alibaba & Tsinghua University,ICLR 2027