WikiSkill解决什么问题?
现有的Agent技能发现方法,都是从一批轨迹中直接生成技能。每一轮生成只看最近的轨迹,之前的洞察被丢弃了。重复的模式、反复出现的失败、领域启发式知识,都没有被跨迭代地累积。
WikiSkill的核心创新:把技能进化和持久化知识库(wiki)绑定在一起。技能不是凭空生成的,而是从累积的知识中生长出来的。
WikiSkill的三层架构
WikiSkill不是通用架构,它是专门为技能进化设计的:
Raw层(raw/):存储不可变的执行轨迹。Agent在训练集上执行任务时的完整交互记录——推理、工具调用、环境反馈、最终答案。写入后永不修改。
Wiki层(wiki/):存储结构化模式和进化日志。Wiki维护者Agent对失败任务做根因分析,从成功任务中提取策略,写入模式页面。这一层只累积不重置。
Skills层(skills/):每个技能目录包含两个文件——SKILL.md(技能内容)和PURPOSE.md(记录哪些wiki模式触发了这个技能的创建或修改)。
注意:WikiSkill的技能格式是SKILL.md,这跟Claude、Hermes等Agent的技能格式一致。但WikiSkill的进化流程是它独有的。
WikiSkill的四步循环
WikiSkill不是一个静态系统,它有一个专门的进化流水线:
Step 1 — 推理Agent:把当前技能注入系统提示,在训练集上执行任务,轨迹写入Raw层。
Step 2 — Wiki维护者:采样轨迹,做根因分析。失败的任务为什么失败?成功的任务用了什么策略?创建或更新Wiki中的模式页面。更新用的是增量补丁方式——追加、替换、插入文本片段。
Step 3 — 技能提议者:以ReAct模式运行,主动读取Wiki中的模式页面和Raw中的轨迹,诊断根因后提出技能更新。它不是盲目修改,而是基于证据的推理。如果Wiki中有之前被拒绝的提议,它会先检查避免重复。
Step 4 — 门控与回滚:在验证集上测试新技能。如果表现更好,更新Skills层;如果更差,回滚并把失败原因记录到Wiki。
然后进入下一轮迭代。
WikiSkill的实验结果
论文在网页导航、代码编辑、电子表格推理、数学、文档QA等任务上测试了WikiSkill:
WikiSkill持续优于现有技能进化方法(EvoSkill、SkillOpt),也优于无技能的基线。
技能可以跨模型迁移。在一个模型上进化的技能,换一个完全不同的模型家族也能用。甚至其他模型进化的技能,可能比自己进化的还好用。
Wiki层的累积是关键。消融实验证实,如果没有Wiki层的持久化知识积累,技能进化效果会大幅下降。
WikiSkill的局限性
论文也坦诚地指出了局限:
缺乏自动修剪机制。Wiki层会不断累积模式页面、进化日志、提议diff,但WikiSkill目前没有自动清理过时知识的机制。随着迭代增多,Wiki可能会变得臃肿。
验证集依赖。门控机制需要一个验证集来评估技能质量。在真实场景中,构建这样的验证集可能很困难。
跟Karpathy的LLM-Wiki的关系
WikiSkill明确引用了Andrej Karpathy提出的LLM-Wiki概念。Karpathy建议让Agent把经验存为持久化的Markdown页面,持续编辑。
WikiSkill把这个想法工程化了:不是简单地存原始对话,而是编译——把散落在轨迹中的洞察,提炼、泛化、结构化为可复用的模式。然后用这些模式指导技能的创建和更新。
论文信息
- 标题: WikiSkill: Compiling Agent Experience into Persistent Knowledge for Skill Evolution
- 作者: Liyan Tang, Cyrus Rashtchian, Chun-Sung Ferng, Andrew Tomkins, Da-Cheng Juan, Tu Vu
- 机构: Google Research, Virginia Tech
- 论文下载: https://xget.xi-xu.me/arxiv/pdf/2608.27454
- arXiv: https://arxiv.org/abs/2608.27454
发表回复