AI / Technology
SkillOpt:把 agent 技能当作可验证的文本状态来优化
这篇论文研究的是:能不能像训练模型参数那样,训练一份可读的技能文档,而不是手工写提示词、一次性生成规则,或让模型随便自我修订。作者把 skill 视为冻结 agent 之外的“外部状态”,再用一个独立优化器把带分数的执行轨迹改写成受限的文本编辑。
为什么现有 agent 技能不够像“可训练对象”
现有 skill 往往是手工设计、一次性生成,或者让模型在反馈后松散地自修订。这样做的问题是,过程不够可控,也很难保证每次改动都比原版更好。
论文把这个缺口说得很直接:现有方法通常不能在反馈下稳定优于起点。换句话说,能改不等于能稳步变好。
手工 skill、LLM 一次性生成、松散自修订
这些做法的共同点是:输出可以有用,但优化路径不受约束。模型可能修掉表面错误,也可能删掉有用规则,或者把冲突指令一起写进去。
它们缺少一个像深度学习优化器那样的闭环:提出改动、验证改动、只接受真正变好的改动。
核心想法:把 skill 当作外部状态,用独立优化器去改它
SkillOpt 不训练主体 agent,而是训练一份文本 skill。优化器模型读取 rollout 里的证据,再把它转成受限的 add/delete/replace 编辑。
每次编辑都不是直接凭感觉写入,而是先经过保留验证集检查;只有严格提升时才接受。
受限更新:有预算、有门控、有拒绝缓存
方法里有几个控制件:文本学习率预算、rejected-edit buffer、以及 epoch 级的 slow/meta update。它们的作用是避免 skill 被局部噪声带偏。
作者还支持 patch 和 rewrite 两种模式,但步级编辑不能覆盖受保护的 slow-update field。这样做是为了保留长期稳定的技能方向。
这些证据,能把结论推到哪一步
SkillOpt 把 agent skill 视为可优化的外部文本状态,而不是直接更新模型权重;训练时由独立 optimizer model 生成受限的 add/delete/replace 编辑。
只有当编辑在留出验证集上严格提升分数时才被接受,并导出为 best_skill.md。
论文声称在 6 个 benchmark、7 个目标模型、3 种执行 harness 的 52 个单元中达到 best 或 tied-best。
这是 arXiv 元数据和分节摘录,缺少完整实验设置、方差和统计显著性。
实现路径一:小输入到小输出的训练闭环
最小闭环很简单:给定一批任务轨迹和验证分数,优化器提出少量文本编辑。
然后用保留验证集判断这些编辑是否真的让 skill 更好;通过的编辑写入当前技能,没通过的放进拒绝缓存。
这一轮结束后,模型继续执行下一批任务,用新 skill 产生新的轨迹,再重复同样的过程。
研究附录术语、来源与待验证问题
论文证据
SkillOpt 把 agent skill 视为可优化的外部文本状态,而不是直接更新模型权重;训练时由独立 optimizer model 生成受限的 add/delete/replace 编辑。
sourceLabel: arXiv metadata / Paper section 3;“提出 SkillOpt:把 skill 视为冻结 agent 的外部状态进行训练”“使用独立优化器模型,将打分后的 rollout 转为受限的 add/delete/replace 文本编辑”。
只有当编辑在留出验证集上严格提升分数时才被接受,并导出为 best_skill.md。
sourceLabel: Paper section 3 / 7;“仅当编辑严格提升保留验证集分数时才接受”“候选技能在 D_sel 上提升才接受,且只有最佳接受技能导出为 best_skill.md”。
论文声称在 6 个 benchmark、7 个目标模型、3 种执行 harness 的 52 个单元中达到 best 或 tied-best。
sourceLabel: arXiv metadata;“在 6 个 benchmark、7 个目标模型、3 种执行 harness 上评估”“在 52 个 (model, benchmark, harness) 单元中达到 best 或 tied”。
在 GPT-5.5 上,direct chat 平均无 skill 准确率提升 +23.5;Codex 提升 +24.8;Claude Code 提升 +19.1。
sourceLabel: arXiv metadata / Paper section 4;“在 GPT-5.5 上,direct chat 平均无 skill 准确率提升 +23.5”“Codex 提升 +24.8,Claude Code 提升 +19.1”。
训练后导出的 best_skill.md 约 300–2,000 tokens,且通常只需要 1–4 次接受编辑;中位数为 2.5 次。
sourceLabel: Paper section 6;“六个基准中,真正提交到 best_skill.md 的编辑数为 1–4 次,中位数 2.5”“best_skill.md 约 300–2,000 tokens”。
消融结果支持文本学习率、拒绝编辑缓冲、以及 epoch 级 slow/meta update 对稳定训练有贡献。
sourceLabel: Paper section 5;“无 lr 的基线为 84.6/75.7/57.3;去掉 meta skill 和 slow update 使 SpreadsheetBench 从 77.5 降到 55.0,下降 22.5”。
表 4 报告跨模型、跨 harness、跨基准迁移均为正迁移。
sourceLabel: Paper section 4;“表 4 显示跨模型、跨 harness、跨基准迁移均为正迁移”。
能力边界与局限
- 这是 arXiv 元数据和分节摘录,缺少完整实验设置、方差和统计显著性。
- 结果主要覆盖所列 52 个单元与若干迁移场景,外推到更广任务仍不确定。
- 未给出全部失败案例、逐项基线对照或计算成本上界。
- 开放式任务、主观评测或无可靠自动验证的任务是否适用仍不清楚。
- 跨模型和跨 harness 的提升幅度依赖具体 benchmark,且部分表格信息截断。
和其他方案放在一起看
还不能确定的地方
52 个单元中各 benchmark、模型和 harness 的完整分布未给出。
当前证据只给出总数和部分示例。
查看论文主表或附录中的完整实验矩阵。
“best or tied-best” 的统计口径不明确。
摘录未说明按均值、胜率还是其他聚合指标判断。
检查表注、评测协议和主文中的比较定义。
不同基线在所有设置下的逐项数值差异未完整披露。
当前只看到代表性汇总和少量例子。
读取完整表格及其补充材料。
训练成本、推理成本和计算资源上界未完整量化。
证据只提供部分 token/编辑数,没有系统性成本分析。
查看成本表、训练日志或附录中的计算统计。
方法对无自动评测、主观或开放式任务的适用性不确定。
验证门依赖 held-out 评分或可执行检查。
寻找非自动可评分任务的实验或作者讨论。
跨 harness 的迁移是否对所有目标模型都稳定成立不明。
当前只见到部分示例和汇总性结论。
检查 Table 4 的完整矩阵和每个模型的分项结果。
术语表
- skill
- 这里指给 agent 用的可读文本技能文档,不是模型参数。
- 冻结 agent
- 主体模型不更新,只优化外部的技能文本。
- optimizer model
- 读取轨迹证据并提出文本编辑建议的独立模型。
- rollout
- agent 在任务上的一次执行过程,包含观察、工具调用和输出。
- 保留验证集
- 只用于判断某次编辑是否真的变好,不参与直接训练更新。
- rejected-edit buffer
- 保存被拒绝编辑的缓存,供后续反射或再利用。
- slow/meta update
- 按 epoch 级别进行的慢更新,用来稳定长期技能方向。
- best_skill.md
- 最终导出的最佳技能文件,作为可复用的文本产物。
参考来源
来源追踪
摘要/元数据: 6 个 benchmark、7 个模型、3 种 harness、52 个单元达到 best 或 tied-best。 arXiv metadata
摘要/元数据: GPT-5.5 direct chat 平均无 skill 准确率 +23.5;Codex +24.8;Claude Code +19.1。 arXiv metadata
第 3 节: SkillOpt 将 skill 作为冻结 agent 的外部状态,通过独立 optimizer model 做受限文本编辑。 Paper section 3
第 3 节: 训练/选择/测试三划分,选择集门控只在分数严格提升时接受编辑。 Paper section 3
第 4 节: 跨模型、跨 harness、跨基准迁移均为正迁移。 Paper section 4
第 5 节: 文本学习率、反射 minibatch、slow/meta update、拒绝编辑缓冲等消融显示其稳定性作用。 Paper section 5
第 6 节: best_skill.md 约 300–2,000 tokens,真正接受编辑为 1–4 次,中位数 2.5。 Paper section 6
第 7 节: 默认 train/selection/test 为 2:1:7,使用 held-out test 的 hard success 或 exact-match accuracy。 Paper section 7
关于这篇论文的三个关键问题
SkillOpt:把 agent 技能当作可验证的文本状态来优化 解决了什么问题?
现有 skill 往往是手工设计、一次性生成,或者让模型在反馈后松散地自修订。这样做的问题是,过程不够可控,也很难保证每次改动都比原版更好。
SkillOpt:把 agent 技能当作可验证的文本状态来优化 的核心结论有哪些证据?
SkillOpt 把 agent skill 视为可优化的外部文本状态,而不是直接更新模型权重;训练时由独立 optimizer model 生成受限的 add/delete/replace 编辑。 sourceLabel: arXiv metadata / Paper section 3;“提出 SkillOpt:把 skill 视为冻结 agent 的外部状态进行训练”“使用独立优化器模型,将打分后的 rollout 转为受限的 add/delete/replace 文本编辑”。
阅读 SkillOpt:把 agent 技能当作可验证的文本状态来优化 时最需要注意什么局限?
这是 arXiv 元数据和分节摘录,缺少完整实验设置、方差和统计显著性。