第 2 部分的系统改参数, 模型外面的提示, 工具, 记忆和控制流一直是人写的, 固定不变. 这层结构常常决定了训练好的权重能发挥多少. 2023 年以后的大量 Agent 工作都在改它: OPRO 和 GEPA 搜索指令, ADAS 和 AFlow 搜索整个 Agent 的代码或工作流, Voyager 和 ExpeL 把轨迹蒸馏成技能和经验, Meta-Harness 和 Self-Harness 改运行 Agent 的那个循环本身. 这一部分读的就是这一层.
单独成部分, 是因为证据的形态在这里变了. 到 L1 为止, 每个训练样本都有一个参照, 一个标签或一个奖励, 可以逐条检查. 改脚手架时, 被改的是整个 Agent 在一类任务上的行为, 唯一能观察的是端到端的聚合表现. 一个分数升了, 可能是结构更好, 也可能是多花了算力, 多调了工具, 遇到了更宽松的判官, 或者开发集被查询了太多次. 两篇的大部分篇幅都花在把这些解释一个个排除掉.
另一个原因是这一层的数字特别容易读错. 摘要说「以 4.55% 的成本超过 GPT-4o」, 附录里那一组是持平; 摘要说「GAIA 上提升 90.2%」, 那组实验没有用到图优化; 系统设计里有工作流档案, 实验里档案检索一次都没触发. 两篇正文对每个系统都回到原文的表格核对口径.
1. 这一层改的是什么
1.1. 边界与混合系统
L2 的条件是 且 , 记号见 1.1.2. 式子只约束更深的两个组件, 可以同时变. 混合系统按组件拆开: 路由器, 适配器或验证器保留下来的如果是训练过的参数, 那一部分算 L1; 如果是外部的符号策略或验证程序, 留在 L2. G-Designer 为每个查询生成一张通信拓扑, 用完就扔, 保留的是图神经网络的参数, 那部分是 L1; AgentPrune 剪好的拓扑是符号结构, 跨查询复用, 是 L2.
第二个条件是持久性. 一个只在当前任务里生成, 用完就扔的工作流或程序, 是这一轮的输出. MAS-Zero 为每道题单独设计一个多 Agent 系统, 不跨任务保留任何东西, 属于推理时计算. 往另一个方向, 保留下来的东西如果改变了之后的候选怎么提出, 就到了 L3; Promptbreeder 的变异提示和 TPGO 的元学习器都在这条线上, 在第 4 部分读.
1.2. 五层对象
综述把脚手架按可改对象的范围从小到大分五层, 和 1.2 里 Ren 等人的四分量 对应. 下表是两篇正文的骨架.
| 层 | 可改对象 | 对应分量 | 本地最强的检查 | 这个检查抓不到的失败 |
|---|---|---|---|---|
| 提示与程序 | 指令, rubric, 一段程序 | , | 编译, 单元测试, diff | 一句话同时改了工具调用和停止行为, 归因弱 |
| 架构与工作流 | 角色, 控制流, 通信图, 路由 | 分阶段验证器, 角色和边的消融 | 增益来自更多协调或算力 | |
| 技能 | 带调用接口的可复用能力 | , , | 留出探针, 回归预算 | 修好目标任务, 弄坏原来对的行为 |
| 记忆 | 写入, 召回, 删除策略和存储 | 用原始轨迹做长时回放 | 不加过滤的累积让行为变差 | |
| 运行时 harness | 构造上下文, 调工具, 观察, 提交的循环 | , 覆盖以上全部 | 带回滚路径地执行整个循环 | 循环能反复查询的验收门不再是留出证据 |
前两层在 3.1, 后三层在 3.2. 每一层以下一层为前提, 范围越宽, 本地检查越弱. 技能有调用接口和声明的有效范围, 还能做局部检查; 记忆被检索后静默注入上下文, 没有调用动作, 也就没有局部检查; harness 执行和观察其他所有层, 把它变成可写, 就把前四层都放进了一个可编辑的循环. 认证越往外越依赖和在任版本的端到端对比.
1.3. 证据变粗以后
三条要求:综述对 L2 改动的认证证据有三条要求: 改动要在挑选它的样本之外迁移; 要和在任版本比, 只和一个弱基线比不够; 模型调用次数, 工具, token 和延迟要对齐. 第三条最常被违反. GPTSwarm 在 GAIA 上的 18.45 用的是 7 个 Tree of Thoughts 加自洽投票, 没有边优化也没有节点优化, 这个数字说明多 Agent 集成有效, 说明不了图优化. AFlow 在 HumanEval 上 4.55% 成本那一组和 GPT-4o 直接问答持平 (0.9390 对 0.9389), 严格超过的是 5.92% 和 8.05% 成本的两组.
第一条违反时, 搜索有效和结构能迁移会被混为一谈. Meta-Harness 让 Opus 4.6 在 TerminalBench-2 上达到 76.4%, 高于手工设计的 74.7%, 但搜索和最终评测用的是同一套 89 题; 同一篇论文里, 一个搜出的 harness 在五个没参与搜索的模型上, 200 道 IMO 级题目平均提高 4.7 个点, 这一项才是审计证据. 起点也影响增益的大小: 深度研究系统的实验里, 最简提示经 GEPA 优化从 0.513 到 0.705, 专家提示只从 0.667 到 0.701.
设计里有保留, 实验里未必有:L2 的保持条件要求改动影响之后的独立任务. 系统设计里有「保留」和「复用」, 不等于实验验证了它们. Mimosa 的元编排器生成 DAG 工作流并归档供以后检索, ScienceAgentBench 上 DeepSeek-V3.2 迭代后到 43.1%, 但实验中没有任何任务的已有工作流达到相似度阈值, 每个任务都从头生成, 43.1% 全部来自单任务内的迭代. Zhao 等人在四个记忆框架上把记忆清空, 打乱或换成无关内容, 发现 Agent 稳定依赖原始轨迹, 却经常忽略压缩过的经验摘要.
另一面是不加过滤的保留会带来退化. CTIM-Rover 在 SWE-bench Verified 的 45 题子集上照搬 ExpeL 的跨任务记忆, 没有一种配置超过无记忆基线 42%, 只用跨任务记忆时掉到 31%. 45 道题的标准误约 7.4 个百分点, 所以「没有一种配置更好」成立, 「记忆有害」还需要更大的样本. 综述把这看作 L1 模型坍塌在 L2 的对应: 权重没变, 之后的行为却受早先可能出错的行为所产生的状态支配.
2. 两篇的分工
2.1. 内两层: 提示, 程序与架构
3.1.1 · 提示, 程序与架构 从搜索指令读起: APE 反推指令, OPRO 把历史候选和得分写进元提示, ProTeGi 用文本梯度改写, GEPA 采样完整轨迹做诊断. GEPA 在 Qwen3 8B 上六个任务的聚合分 54.85, 改权重的 GRPO 用每任务 24000 次 rollout 是 48.91, 但 AIME-2025 单项上 GRPO 更高. 针对归因弱, SHARP 把可改对象收窄成有界的规则表, 每次只改一条, 换成自由改写提示后 Sharpe 比率从 +2.45 掉到 −0.84.
后半读架构搜索和通信拓扑. ADAS 让元 Agent 把完整 Agent 写成 Python 函数, 在 DROP 上 F1 到 79.4, 跨领域迁移时赶不上专门设计的 Agent; AgentSquare 的对比里随机搜索都能拿到不错的分数, 说明搜索空间的设计占了增益的一部分; QueenBee 报告的 RMSE 7.87 是最好的单张图, 同一轮的聚合是 12.64±4.69, 和最强固定拓扑几乎一样. 这一篇末尾的检查表逐个系统列出跨任务保留了什么, 实验验证了保留没有, 读数要注意什么.
2.2. 外三层: 技能, 记忆与 harness
3.1.2 · 技能, 记忆与 Harness 的基调由 SkillsBench 定下: 86 个任务, 7 种配置, 人工整理的技能平均提高 16.2 个百分点, 自写技能平均 −1.3. 往技能库里写东西本身没有价值, 价值取决于写进去之前有没有经过验证, 后面各系统都在回答用什么门. Ratchet 按贡献淘汰技能, 并证明判官把失败判成通过的比率 时一个技能也淘汰不掉, 淘汰规则的可靠性受判官约束.
harness 一节读 AutoHarness, Meta-Harness, Self-Harness, M★, MemoHarness 和 Continual Harness. Self-Harness 让同一个模型挖掘自己的失败模式, 修改过回归测试才采纳, Qwen3.5-35B-A3B 在 SWE-bench Verified 上从 19.5 到 41.5, GLM-5 只从 52.0 到 55.5. Lin, Wu 等人把两种能力拆开: 写出 harness 更新的能力和基座关系不大, Qwen3.5-9B 写的更新和 Opus 4.6 写的增益相当; 从更新中获益的能力先升后降, 中等模型获益最多. 写出更新的一方和从中获益的一方要分开评.
3. 上限与读法
3.1. 固定改进器
脚手架改得再全面, 优化它的改进器仍是固定的, 人写的. 改进器决定能提出哪些改动, 候选怎么在内部筛选, 探索预算怎么分配. RoboPhD 在同样 1500 次评估的预算下比较三种优化算法, ARC-AGI 上把 22 行的种子 Agent 演化成 1013 行的多策略系统, 准确率从 27.8% 到 65.8%, GEPA 58.5%, Autoresearch 的贪心爬山 54.2%. 同样的种子 Agent 和评估预算, 换一个优化算法, 结果相差 7 到 11 个多百分点.
综述把 RoboPhD 归为 L3 的边界案例, 它说明的是改进器的选择本身有分量. 让提出, 筛选, 提交, 回滚脚手架改动的那个过程成为演化目标, 就进入了 第 4 部分. 两篇共同的结论可以收成一句: 能稳定带来增益的系统, 写入前都在没参与挑选的样本上验证净效果, 删除和添加同等对待, 并且留着回滚路径.
3.2. 读法
第一次读按 3.1, 3.2 的顺序, 先读两篇开头的边界和五层表, 再按层读系统. 3.1 的提示优化和 3.2 的技能, 记忆共享同一组证据问题, 先在 3.1 里看清开发集被反复查询, 正文和表格不一致这些问题, 读 3.2 时会更快. 3.2 末尾的小结表按层列出门最严的例子和反例, 可以当作这一部分的索引.
做 Agent 工程的读者, 关心技能库和记忆值不值得做, 直接读 3.2 的技能与记忆两节和 Ratchet; 关心提示自动优化, 读 3.1 的指令搜索和 SHARP, EEVEE 两个收窄编辑面的例子. 想知道这一层的失败在长时间运行中怎么暴露, 接着读 5.1.1 · 失效模式 的脚手架过拟合部分, 以及 5.2.1 · 评测基准 里专门测保留改动的 SEAGym 和 EvoMemBench.
4. 脚手架为何能改变模型的有效能力
4.1. 它改变的是闭环策略
冻结模型的条件分布记作 , 脚手架负责构造历史 , 限制动作集合并处理动作结果. 整个 Agent 的策略因此是
其中 把观测、记忆、工具返回和控制状态编排成模型输入. 参数不变时, 修改 仍能改变模型看到什么、何时停止、失败后走哪条分支. 这解释了为什么一个很短的提示或技能可以带来大幅行为差异, 也解释了为什么它不该被描述成模型学会了新参数知识.
从信息角度看, 上下文构造器选择一个压缩表示 . 理想表示既保留完成任务所需的信息 , 又避免把无关历史全部塞进窗口. 检索过窄会丢信号, 过宽会让相关证据在有限注意力和位置预算中被稀释. 因而记忆越多并不单调提高能力; 关键量是检索后信息对决策的边际贡献.
4.2. 技能是带前置条件的局部策略
一项技能可以写成 : 门控 决定是否调用, 策略体 规定步骤, 后置检查 判断结果是否可接受. 只学习 而不学习 , 常见结果是技能本身在示例上有效, 却在不适用任务上被滥用. 只优化调用成功率, 又会偏向宽松门控, 让大量任务都触发同一模板.
设调用技能时的收益为 , 不调用为 , 门控最优条件是 . 实际系统只能用有限特征估计这个差值. 技能评测因此需要同时测命中样本和负样本: 前者检查技能能不能做事, 后者检查它会不会在错误场景抢走控制权. SkillsBench 中自写技能平均没有带来收益, 正说明「生成一份看起来完整的说明」和「学到可靠的适用域」是两件事.
4.3. 记忆更新是带遗忘的在线学习
记忆库在第 轮可写成 , 读取是 . 保持性要看 是否真的把新条目带入后续决策; 可靠性还要看旧条目之间的冲突. 若所有经验只追加不修订, 检索候选随时间增长, 过期规则与当前规则会同时返回. 若每次覆盖旧条目, 又可能把一次偶然失败总结成永久规则.
一种更清楚的表示是给记忆附上适用条件、证据计数和版本关系. 新经验与旧规则冲突时, 系统更新规则的后验可信度, 避免留下无条件结论. 设规则 在适用域内观测到 次成功、 次失败, 采用 Beta 先验后均值为 . 它仍不能解决分布迁移, 但至少把一次反思变成可随证据修订的状态, 避免生成永远正确的口号.
4.4. 为什么 L2 仍不是 RSI
脚手架自修改已经能跨任务保留经验, 有时还会重写控制流, 表面上很像系统在改自己. 判定关键仍是修改规则由谁给出. 若固定的提示优化器每轮搜索 prompt, 固定的记忆器每轮总结经验, 固定的技能生成器每轮写文件, 被改的是 , 产生这些改动的 没变. 多运行一千轮也还是 L2.
越过边界需要后代系统改变「怎样提出改动」. 例如它发现逐句改提示效率很低, 以后改用程序合成; 或者它修改技能候选的变异算子, 并在下一轮实际使用新算子. 这时 , 才进入第 4 部分. 这条边界避免用文件自修改的表象代替因果判断, 也让 L2 的成果得到准确位置: 它解决的是模型参数之外怎样积累可复用能力, 正是更深改进器赖以工作的状态空间.
还有一个容易被忽略的边界: 脚手架的收益依赖基座模型. 同一份长技能对能够稳定遵循约束的模型可能是帮助, 对较弱模型却会增加指令竞争; 同一个树搜索控制器在候选质量足够高时能找到好路径, 候选分布过差时只会更仔细地挑一堆坏答案. 可以把端到端收益写成 , 脚手架改动的效果是 , 它通常随 改变, 不能把某个模型上的最优脚手架直接当成普遍最优结构.
这也影响实验设计. 比较两套脚手架时要固定模型、预算、工具权限和停止条件; 比较跨模型迁移时则要主动改变 , 观察收益的符号是否保持. 如果改动只在产生它的模型和开发任务上有效, 更像联合过拟合; 若在不同规模、不同训练来源的模型上仍改善同一机制指标, 才能说明它捕捉到了较稳定的控制结构. L2 的外部审计因此既要换任务, 也常常要换模型.