SkillOpt 核心洞察
核心思想:把 Skill 文档当作”可训练的外部状态”
SkillOpt 的本质洞见是:Agent 的 skill 文档可以像神经网络的权重参数一样被训练。
传统上,一个 Agent 由两部分组成:模型权重(不变)和 prompt/skill 文档(手写或一次性生成)。SkillOpt 将 skill 文档重新定义为 Agent 的”外部状态”(external state)——虽然 Agent 本身被冻结(frozen),但这个外部状态可以通过一个有纪律的优化过程来改进。
优化过程由一个独立的优化器模型(optimizer model)驱动,它阅读 rollout 轨迹和分数,提出编辑建议,再由验证机制决定是否采纳。最终产物是一个纯粹的文本文件,部署时不引入任何额外推理开销。
为什么这个设计能工作
1. 有界编辑防止语义漂移
如果允许优化器自由重写整个 skill 文档,一次编辑就可能彻底改变语义,导致优化过程不可控。SkillOpt 将编辑操作限制为三种原子操作——add(增加)、delete(删除)、replace(替换)——每种都有词级的作用域。这确保每次更新是”小步快跑”,类似于梯度下降中的小学习率。
2. 验证门控防止性能回退
神经网络训练中,验证集用于检测过拟合。SkillOpt 借用了同样的思想:每次编辑候选生成后,用它替换当前 skill 并在留出验证集(held-out validation set)上执行 rollout。只有严格提升验证分数的候选才被接受。这确保了优化过程是单调改进的——skill 要么变好,要么不变,绝不会退化。
3. 被拒编辑缓冲区提供负反馈信号
在传统 prompt 优化中,失败的尝试通常被丢弃,计算资源白白浪费。SkillOpt 将被拒绝的编辑存入一个 rejected-edit buffer,作为优化器模型后续调用的上下文。这让优化器”记住”哪些方向已被证伪,类似于深度学习中的负梯度信号。
概念转变:从”写 Skill”到”训练 Skill”
| 维度 | 传统方式 | SkillOpt 方式 |
|---|---|---|
| 核心动作 | 写(Write) | 训练(Train) |
| 优化方向 | 人类直觉 / 一次性生成 | 数据驱动的反馈循环 |
| 改进保证 | 无 | 验证门控保证单调改进 |
| 编辑粒度 | 全篇重写 | 有界原子编辑 |
| 失败处理 | 丢弃 | 存入负反馈缓冲区 |
| 长期稳定 | 无 | 轮次级反思更新 |
| 部署开销 | 零(都是文本) | 零(都是文本) |
权衡分析
优点
- 零推理开销: 部署产物是纯文本 skill 文档,不增加任何模型调用
- 单调改进: 验证门控保证 skill 只变好不变差
- 可解释: 每一步编辑都是可读的文本 diff
- 可迁移: 训练好的 skill 可直接用于不同模型和 harness
- 数据高效: 不需要梯度回传,不需要模型权重更新
代价
- 需要留出数据划分: 必须预留一部分 task 实例作为验证集,不能全部用于训练
- 优化器模型成本: 优化过程中需要调用前沿 LLM 进行反思和编辑提案(但这是一次性训练成本)
- 搜索空间限制: 有界编辑机制虽然保证稳定,但也限制了单次编辑的表达力
与各方法的对比
| 方法 | 优化对象 | 优化机制 | 验证门控 | 负反馈 | 部署开销 |
|---|---|---|---|---|---|
| 人工手写 Skills | Skill 文档 | 人类专家 | 无 | 无 | 零 |
| 一次性 LLM Skills | Skill 文档 | 单次 LLM 生成 | 无 | 无 | 零 |
| TextGrad | Prompt 文本 | 文本梯度 | 无 | 无 | 零 |
| Trace2Skill | Skill 文档 | 轨迹提取 | 无 | 无 | 零 |
| EvoSkill | Skill 文档 | 演化算法 | 弱 | 无 | 零 |
| SkeMex | 多分支 Skill 仓库 | 效用追踪+治理 | 无 | 无 | 零 |
| SkillOpt | 单一 Skill 文档 | 优化器纪律训练 | ✓ 严格 | ✓ 缓冲区 | 零 |
SkillOpt vs SkeMex 详解
这是两个最接近的工作,但设计哲学根本不同:
- SkillOpt 像一个”教练”(trainer)——专注于训练一个紧凑的 skill 文档,通过优化器纪律反复打磨,直到它在目标场景上达到最优。类似于给一个运动员做专项训练。
- SkeMex 像一个”记忆系统”(memory system)——构建一个多分支 skill 仓库,通过效用追踪(utility tracking)和治理机制(governance)来管理和选择技能。类似于建立一个图书馆,在需要时检索最合适的技能。
SkillOpt 适合”我有一个具体任务,想把 skill 优化到极致”的场景;SkeMex 适合”我有多种场景,需要管理和复用多种技能”的场景。
标签
#skill-optimization #conceptual-shift #text-space-training #comparison
相关笔记
- summary — 论文概览
- method — 方法详解
- pre-reading-formula-motivation — 设计动机