论文标题:FlowEvo: Self-Evolving Agents through the Co-Evolution of Workflows and Executable Skills
论文链接:https://arxiv.org/abs/2607.21596
代码仓库:https://github.com/DEFENSE-SEU/FlowEvo
发表时间:2026 年 8 月(arXiv 2607.21596v2,2026-08-20 更新)
机构:东南大学 + 伦斯勒理工学院(RPI)+ 香港科技大学,纯高校合作
一句话概括:把 agent 辛苦摸索出来的成功工作流,当场"编译"成可执行、可测试、可治理的技能,存进一个越用越强的技能银行——模型权重一参数不动,能力却在推理期持续进化。
一、研究背景:聪明一次,忘掉一次
现在的 LLM Agent 越来越擅长在推理期临场搭建工作流来解题:把任务拆解、调用工具、写代码、中途检查、失败修复,一套动作行云流水。但论文开篇就点破了一个尴尬的现状:这些辛苦发现的有效流程,用完一次就扔了。
打个比方:一位实习生第一天摸索出了报销流程,第二天又从头问一遍;一个月做了三十次报销,还是每次都像第一次。不是他不聪明,而是他没有把经验沉淀成可复用的资产——每次执行完,轨迹(trajectory)就被丢弃,下一个相似任务来了,agent 只能重新推导、重新探索、重新踩坑。这带来的代价很直接:
- token 成本高:相似流程反复推导,推理开销线性累积;
- 表现不稳定:同一个任务这次成功下次失败,方差大;
- 经验无法积累:agent 永远停留在"第一次做"的状态。
已有工作从两个方向补救,但都各有缺口。第一条路是文本记忆:把过往的计划、轨迹、工作流存成文字,后续任务检索出来当参考(代表如 Agent Workflow Memory、ExpeL)。问题是文字"能看不能跑"——它描述了"上次这么做成功了",却不能被调用、不能被验证,复用时模型仍要自己把文字重新翻译成动作,相当于看了别人的游记还是要自己摸路。第二条路是可执行技能/工具库:把过程做成可调用的对象(如 Voyager 的技能库、LATM 的工具制造)。这些技能可调用、可检查,但通常是离线预先构建的,与 agent 自己解题的过程脱节,也不会随 agent 的实战经验生长。
于是论文提出了一个很本质的问题:当 agent 通过工作流解题时,成功的工作流应该如何变成可复用的技能,并反过来影响后续工作流的构建——且全程不改模型参数? 这就是 FlowEvo 要回答的问题。
二、核心思想:把"日记"编译成"函数"
FlowEvo 的答案可以用一个类比讲清楚:文本记忆像是把经验写成日记,可执行技能则是把经验写成带单元测试的函数。日记读完还得自己照着做,函数直接调用就行,而且随时可以跑测试验证它还灵不灵。
具体来说,FlowEvo 构建了一个工作流→技能→工作流的闭环:
- agent 解题产生执行轨迹;
- 成功的轨迹(且通过了验证)被在线编译成技能记录,存入持久技能库;
- 后续任务从库里检索技能,以两种方式反哺:直接执行(当成可调用子程序跑)或技能条件化生成(作为结构化上下文,引导新工作流的规划)。
注意这里的关键设计:技能库不是提示词文本,而是推理期的持久能力层。模型权重(如 GPT-4o-mini)从头到尾冻结,所有"进化"都发生在这个外挂的技能库上——这就是标题里 training-free 与 Self-Evolving 的含义。
一条技能记录 $s = (f, \sigma, T, m, \ell)$ 包含五个部分,完全是软件工程的思路:
| 组件 | 含义 | 类比 |
|---|---|---|
| $f$ 可执行体 | 带明确入口点的可调用代码/动作模板 | 函数体 |
| $\sigma$ 调用接口 | 显式签名、前置条件 | 函数签名 |
| $T$ 回放测试 | 重放或验证测试集 | 单元测试 |
| $m$ 元数据 | 来源、任务模式标签、路由统计、负面证据 | 文档 + 使用日志 |
| $\ell$ 生命周期状态 | active / suppressed 等 | 版本与灰度状态 |
论文的三大贡献正对应这个闭环的三个环节:workflow-to-skill 编译(把成功工作流变成技能记录)、分层技能复用路由(决定直接执行、条件化生成还是动态生成)、对比效用生命周期治理(自动抑制造成负迁移的技能)。下面逐一拆解。
三、方法拆解:三机制闭环
3.1 机制一:workflow-to-skill 编译——只收"验证过"的成功
编译器只处理验证器通过的成功轨迹,这一步像质检关卡:任务失败免谈,成功才进入提炼流程。编译器从轨迹中识别入口点、推断可调用签名、尽可能抽取回放测试,并记录任务模式标签与路由元数据。
以论文附录给出的真实技能为例(ALFWorld 的"加热后放置"任务),编译出的模板是一段参数化动作序列:
go to {object_location}
take {object} from {object_location}
go to {heating_station}
heat {object} with {heating_station}
go to {target_location}
move {object} to {target_location}
参数(物体、加热站、目标位置)在运行时从任务目标中解析绑定。可以看到,这不是一段自然语言心得(“应该先拿东西再加热”),而是一个填空就能跑的程序。
候选技能还要通过准入三关:接口合规(能否按声明的签名和前置条件被调用)、功能正确(回放测试与留出检查是否支持其声称的行为)、安全合规(是否遵守部署约束,如禁用 os、subprocess、eval 等危险调用)。过不了关的不许直接执行;边缘案例可能只保留"作为上下文参考"的资格,或进入影子状态供诊断。
3.2 机制二:分层路由——三条路,能省则省
对每个新任务,检索器综合词面重合、任务模式兼容性、接口兼容性和历史效用信号打分,并感知负面证据(坑过人的技能会被降权)。然后路由器在三条路里选:
| 路由 | 检索到的技能怎么用 | 执行代码? | 间接影响? |
|---|---|---|---|
| 直接执行 | 作为可执行子程序调用 | 是 | 否 |
| 技能条件化生成 | 仅作为结构化上下文注入规划 | 否 | 是 |
| 动态生成 | 不用任何技能,从零生成 | 否 | 否 |
这像医院的分诊台:确诊的常见病直接走标准化处置(直接执行,最省);症状相似的疑难症参考既往病例调整方案(条件化生成);全新病症只能现场会诊(动态生成)。直接执行若不满足前置条件或验证失败,会自动降级到技能条件化生成——技能库里没有"硬套失败就完蛋"的尴尬。
这个区分在方法论上很重要:技能库的增益不能全部归因于"背过原题重放答案",条件化生成贡献的是结构先验而非答案本身,这正是代码、数学这类任务还能受益的原因。
3.3 机制三:对比效用生命周期——技能也要"试用期"
技能入库不是终点。有的技能看似有用,实际会把后续任务带沟里(负迁移)。FlowEvo 的治理机制非常像一个带对照组的临床试验:对每个在用技能,周期性地比较"用了它的任务成功率"(guided)与"没用它的匹配任务成功率"(unguided),当这个对比差值持续为负(论文阈值 Δ < −0.1,且至少积累 5 次引导、3 次未引导样本)时,触发抑制。
论文给了一个真实案例:ALFWorld 中的 pick_two_obj_and_place(找两个物体并放置)技能,引导下成功率仅 2/14(14%),不引导反而 1/3(33%),Δ = −0.19,低于 −0.1 阈值,于是在 14 次引导 episode 内被抑制。抑制后该类任务回退到动态生成,避免了坏技能持续伤害后续任务。被抑制的模板保留为影子条目供诊断,不进活跃检索。
配合去重与抑制,技能库在 ALFWorld 全程 134 个任务后仅饱和在 7 个工作流模板(六类任务各一个 + 一个蓝图)和 18 个范例,检索开销有界。整个流程(论文 Algorithm 1)每个 episode 走一遍:检索→路由→执行验证→(成功则)编译准入→更新统计→治理。
四、实验与主结果:八基线全胜,成本还更低
实验设置很有诚意:五个基准全量标准 split——交互环境 ALFWorld(134 个评测任务、六类任务、只有二值终端成功信号、无任何隐藏测试或过程标注),加上海量代码与数学基准 HumanEval(164 题)、MBPP(500 题)、GSM8K(1,319 题)、MATH-500(500 题)。骨干统一为 GPT-4o-mini(便宜、常用,也是 AFlow 自己的执行模型之一,赢了不可能是"靠大模型开挂"),八个基线(ExpeL、Self-Gen ICE、ADAS、AFlow、MermaidFlow、EvoAgentX、DyFlow、ORCH)全部用官方代码默认配置、同等优化预算复现。
主结果(准确率 / 每任务平均 token):
| 方法 | ALFWorld | HumanEval | MBPP | GSM8K | MATH-500 |
|---|---|---|---|---|---|
| ExpeL | 46.3 | 89.0 | 73.8 | 92.1 | 67.5 |
| ADAS | 53.0 | 86.2 | 68.5 | 90.7 | 58.2 |
| AFlow | 59.2 | 87.2 | 65.5 | 91.4 | 63.5 |
| FlowEvo | 85.6(±3.8) | 95.1 | 79.6 | 97.1 | 75.9 |
| FlowEvo tokens | 9,329 | 880 | 2,230 | 541 | 1,532 |
几个关键读数:
- 五个基准全部第一。ALFWorld 上 85.6%,超最强基线 AFlow(59.2)26.4 个百分点——这是全部 split 中差距最大的一项,而且 ALFWorld 没有外部验证器可依赖,最能体现可执行编译的价值;
- ALFWorld 每任务 9,329 tokens,约为基线(29,671–32,958)的三分之一:直接复用跳过了逐步探索,又准又省;
- HumanEval 95.1%,超最强基线 7.3 点,成本不足 AFlow 的五分之一;MBPP 超 ExpeL 5.8 点;MATH-500 超 EvoAgentX 2.3 点、超 ExpeL 8.4 点,且在全部七个子学科领先;
- 论文很坦诚地指出:MBPP 和 MATH-500 上 FlowEvo 的 token 比 ExpeL 更贵——用合理加价换显著加准,准确率-成本 frontier 仍是占优的。
跨模型稳健性同样扎实:把骨干换成 10 个模型(GPT-4.1 系列 nano/mini/标准、Qwen2.5-7B、Qwen3-8B、Llama-4-Scout、Gemini-2.5-Flash-Lite、GPT-5.4-nano、DeepSeek-V3.1、GPT-4o-mini,覆盖 7B–671B、稠密到 MoE),50 个"模型×数据集"单元里 FlowEvo 49 个胜过 ExpeL,平均 +11.0、中位数 +7.0 点。唯一落败的是 Qwen3-8B 在 MATH-500(−10.0):小模型产出的技能体频繁违反接口约定被准入拒绝,技能库太稀疏撑不起检索——这标出了方法的能力下限。更有意思的是 GPT-4.1 规模阶梯揭示的规律:模型越小,增益越大(ALFWorld 上最小的 nano 模型获益 +53.2 点),说明技能库补的正是弱骨干缺的结构。
五、消融与机制分析:增益到底从哪来
论文在 ALFWorld 上做了逐步开闸的受控消融(从 ReAct 基线出发,每次只加一个机制):
| 阶段 | 启用机制 | 成功率 | 增量 |
|---|---|---|---|
| 1 | ReAct(无技能库) | 33.6% | — |
| 2 | +workflow-to-skill 编译(只存不用) | 38.8% | +5.2 |
| 3 | +技能反馈(直接执行 + 条件化生成) | 80.6% | +41.8 |
| 4 | +技能治理(生命周期管理) | 85.6% | +5.0 |
结论清晰:技能反馈(复用)是绝对主力,占 41.8 点;编译本身(即使不回用)也有 5.2 点——从成功轨迹中提取可复用结构本身对行为有正则化作用;治理再贡献 5.0 点,并 qualitative 地挡住了负迁移。
积累动态的观察同样精彩:约第 10 个 episode 出现第一次技能复用后,每任务 token 断崖式下降并持续保持低位;134 个任务中 101 个走了直接复用,命中后成功率 98%(99/101)。分任务类型看,增益与"直接命中率"近似单调相关:pick_heat 类直接命中率 83%,增益高达 +78 点;而 look_at_obj_in_light(开灯看物体)直接命中率为 0——技能在 15/18 个任务中被检索匹配,却没有一次直接执行完成——即便如此仍拿到 +28 点增益。这个任务类型恰好孤立地证明了第二种复用模式:技能作为结构化上下文注入,即使不能重放,也能把规划引向正确方向。
此外还有两组值得一提的稳健性实验:
- 弱监督容忍度:去掉"轨迹必须成功"的编译门槛只掉 1.5 点,翻转 20% 的成败标签只掉 1.7 点,McNemar 检验均不显著——两段式设计(编译时验证 + 使用时对比检查)能吸收上游标签噪声;
- MBPP 冻结库机制分析:在精确迁移切片上,可执行复用 85.9% @204 tokens,优于动态生成 81.7% @224;文本工作流记忆略高(87.3%)但要多花 85% 的 token。论文对此的表述很克制:两种记忆形式处于同一准确率-效率前沿上,可执行技能在相近准确率下给出更强前沿,还附带文本永远给不了的可验证性、可调用性、可审计性。
六、为什么有效:可执行表示 vs 文本记忆,表示差异是根源
把所有证据拼起来,这篇文章真正的洞见浮出水面:技能的"表示形式"决定了它的复用上限。文本记忆和可执行技能的差异,不是"存的东西不一样",而是根本不同的能力资产类别:
| 维度 | 文本记忆(日记/心得) | 可执行技能(函数+测试) |
|---|---|---|
| 复用方式 | 模型读后重新推导 | 填参数直接调用 |
| 可验证 | 否,只有描述 | 有回放测试,随时体检 |
| 可调用 | 否 | 有显式接口 |
| 成本 | 长文本占上下文,仍要付推导费 | 跳过推导,token 断崖下降 |
| 可治理 | 难以归因伤害 | 对比效用可测量、可抑制 |
| 出错时 | 无从发现 | 验证失败自动降级 |
为什么 ALFWorld 是最大赢家?因为它的六类任务带参数变化地反复出现:热土豆要放抽屉、热杯子要放咖啡机——结构相同、参数不同。参数化模板恰好匹配这种分布,101/134 直接复用、98% 成功,既省 token 又省探索。而代码/数学题每题几乎唯一,没有"重放价值",此时增益换轨不消失:靠技能条件化生成注入解题主干结构(类似"见过类似题型"的套路感),HumanEval、GSM8K、MATH-500 的领先全部由此而来。再加一层对比治理兜底负迁移,三种机制合起来覆盖了从"可重放"到"只可参考"再到"有害要压制"的全谱系——这就是它在五类基准上都能赢的根本原因,也是各基线"各赢一段、出圈即垮"(ExpeL 代码数学尚可、ALFWorld 仅 46.3;AFlow HumanEval 87.2、ALFWorld 59.2)的镜像解释。
七、相关工作定位:四条线的交汇点
论文的相关工作梳理可以把 FlowEvo 放进一张地图:
| 研究线 | 代表工作 | 缺口 | FlowEvo 的差异 |
|---|---|---|---|
| 工作流生成与优化 | ADAS、AFlow、GPTSwarm、MermaidFlow | 只优化当前任务/基准,不保留学习成果 | 成功工作流沉淀为可执行资产 |
| 工作流 agent 的记忆 | AWM、ExpeL、Self-Gen ICE | 文本可读不可跑,复用仍需重推导 | 记忆升级为可调用、可验证的技能 |
| 技能/工具的执行化复用 | Voyager、LATM、CREATOR、TROVE | 离线构建或与自身解题轨迹脱节 | 技能从自己的验证通过轨迹在线编译 |
| 免训练自进化 | Promptbreeder、STOP、CLIN、Evoflux | 缺少具体的能力积累机制 | 显式准入与治理策略管理的技能银行 |
最接近的两个对手:Agent Workflow Memory(精神上最像,但存的是文本工作流记忆);Evoflux(设定最像,同为推理期进化可执行工具流,但 FlowEvo 的进化对象更操作化——从自身验证轨迹蒸馏、且有显式准入治理)。一句话定位:FlowEvo 补上了"基于工作流的 agent 如何以可执行形式持久积累自身能力"这块拼图。
八、局限、批判与启发
局限(论文自己承认得比较诚实):
- 依赖可验证信号:编译门槛设在"验证通过"上,实验覆盖的是环境反馈或隐藏测试可判定对错的领域;完全无信号的开放对话、长文写作不在射程内,延迟、部分、对抗性反馈仍是挑战;
- 有启动门槛:Qwen3-8B 在 MATH-500 的失败说明,骨干太弱时产不出合规技能,闭环转不起来——自进化不是无本之木;
- 治理策略偏保守:抑制阈值、最小样本数等 177 个常量(论文披露核心若干)虽声称无逐基准调参,但这类超参的敏感性只有部分披露;
- 技能库长期运维:论文自己也指出,长期运行下的修订、合并、退役与检索干扰是独立未解问题。
我的批判性补充:10 基线对比中 DyFlow、ORCH 等近期系统分数偏低,论文解释为"默认配置+朴素骨干下的默认行为",虽有保真度核对(ADAS 复现 90.7 vs 原文 90.8),但读者仍需注意这是"共享弱骨干"语境下的公平比较。另外,跨基准不迁移(每个基准独立从空库开始)意味着本文展示的是域内持续积累能力,不是通用技能迁移。
启发:
- 表示决定复用上限:把经验从"文本描述"升级为"代码+接口+测试",是 agent 记忆研究的一个范式级判断,预计会影响后续 memory 方向的设计;
- 能力层与规模互补:模型越小增益越大(+53.2 点),说明外挂结构是缩小模型落地的现实路径——结构补弱模型的短板,强模型处则自动让位;
- 对照组思维可迁移:对比效用(guided vs unguided)给"评估单个组件的真实贡献"提供了免标注的轻量因果信号,值得任何做模块化系统的人借鉴;
- 未来方向:作者展望把自进化扩展到 agent 框架其余部分(验证器、重试策略、检索启发式)乃至 MCP 标准化工具生态——如果技能银行能跨 agent、跨生态流通,“个人函数库"就长成了"能力应用商店”。
总评:FlowEvo 用"编译-路由-治理"三件套,把 agent 的成功经验从一次性的轨迹变成可执行、可验证、可审计的持久资产。方法不炫技但每个环节都咬合:编译解决"存什么",路由解决"怎么用",治理解决"坏了怎么办"。在五个全量基准上八基线全胜、弱骨干上增益更大、token 反而更省——这是一篇"问题重要、思路干净、证据扎实"的工作,对做 agent 记忆、自进化和推理期学习的读者都属于必读之列。