|
|
GitHub上开源了一个有点意思的skill,叫达尔文(darwin-skill)。http://cdn.u1.huluxia.com/g4/M02/7C/D5/rBAAdmoc8NiAAXm3AAMM7JuiNxM715.png,1080,608它做的事情很单纯:给别的skill打分、提改进方案、改完再打分,分数没涨就回滚。整个流程像生物进化,一代代变异、被选择、淘汰,留下来的都是更强的版本。
skill本来是静态文档,加了达尔文之后能自己迭代自己。上线一个月,跑了40次优化,平均提升13.5分,0次回滚。成绩不错。
但5月22号微软研究院同一天挂了两篇论文,正面解决skill优化这件事。这两篇论文让我意识到达尔文还能做得更严、更强。
于是我吸收两篇论文的精华做了一次大升级,这就是达尔文2.0,可能是目前面向个人开发者最完整的skill优化器。这篇文章想讲清楚三件事:微软两篇论文讲了什么、达尔文2.0吸收了什么、它在什么场景下值得用。
达尔文.skill 2.0正式开源发布!让你的所有skill左脚踩右脚实现自我进化
1.0已经做对的事
先简单说说1.0为什么管用。我做skill大半年了。公众号、小红书、视频脚本、配图、调研,各种业务流程都封装成了skill。加上21个人物视角的skill,已经是个小生态。
skill一多人工审稿就崩了。每个skill都通读、找问题、改完再读,人力上不可行。但你又不能放任不管,一个写规则的文档自己都没人盯着,会慢慢漂移。所以我做了达尔文。
核心思路是把skill迭代变成可重复的工程流程:多维度评分标准、每轮只改最低维度、分数没涨自动回滚、写skill的AI和评分的AI分开、低风险改动允许干跑模式。跑了一个月,平均涨13.5分,0回滚。
但我心里清楚这个0回滚不完全代表算法神准。评分标准定得多严,结果就有多严。我那套8维标准已经算严格了,但还有改进空间。直到5月22号那两篇论文出现,把方向给我指明了。
微软同一天挂的两篇论文
5月22号,微软研究院和复旦、上交联合在arXiv挂了两篇论文,互为姊妹篇。一篇是《From Raw Experience to Skill Consumption: A Systematic Study of Model-Generated Agent Skills》(arXiv 2605.23899,项目代号SkillLens),研究skill应该怎么被评估。
另一篇是《SkillOpt: Executive Strategy for Self-Evolving Agent Skills》(arXiv 2605.23904),研究skill应该怎么被优化。
一前一后,一评一改,刚好把「会进化的skill」这件事从两端封死。
我先讲SkillLens这篇,再讲SkillOpt。SkillLens:让AI给skill打分,准确率只有46.4%
http://cdn.u1.huluxia.com/g4/M02/7C/D5/rBAAdmoc8NiASzbgAAH6VyK7TQw39.jpeg,1080,591SkillLens里有个数据让我后背一凉:让单个AI当评委,给两份skill打分选哪份更好,准确率只有46.4%。
46.4%比扔硬币还差3.6个百分点。这意味着在松散的评分标准下,AI评委的判断基本不可信。你跑出来的优化看起来在涨分,实际上可能只是评委在随机摇骰子。http://cdn.u1.huluxia.com/g4/M02/7C/D5/rBAAdmoc8NmAZYJWAAF3EUIjrLQ71.jpeg,1080,608但论文给了药方。研究团队发现,只要在评分标准里加三个关键维度,准确率能从46.4%升到73.8%
失败模式编码(Failure Mechanism Encoding):skill不能只写「正确流程是什么」,必须写清楚「什么情况下会出错、出错了走哪条分支」
可执行具体性(Actionable Specificity):「建议」「可以考虑」「根据情况」「灵活把握」「视情况而定」这些话全部不能写。要么明确要么不写
高风险行动黑名单(High-Risk Action Blacklist):skill必须有独立的章节告诉模型「绝对不要做什么」
73.8%其实也不算高,每4次决策还是错1次。但相比46.4%是27个百分点的飞跃。
SkillOpt:把skill当成神经网络的可训练参数
SkillOpt更狠。它直接说:skill文档应该被当成frozen模型的「外部可训练状态」,像神经网络的权重一样,通过反向传播来优化。
这句话听起来很玄,翻成大白话就是:让模型跑一批真实任务、看哪些skill版本表现更好、保留好的版本、淘汰差的版本。
区别在于被「训练」的不是模型权重,是skill文档本身的文字内容。
它的优化循环有四个阶段:跑任务(Rollout):让目标模型用当前skill去跑一批真实任务,生成带分数的轨迹复盘(Reflect):另一个独立的优化器模型分析成功和失败的批次,识别可复用的规律提议改动(Edit):在「文本编辑预算」约束下(控制每轮改多少字),提议skill文档的增/删/改操作验证通过才接受(Validate):只有当留出的测试集分数严格提升,改动才被接受;否则拒绝
最后一步是关键。验证不通过就拒绝写入,这是把神经网络训练里「梯度方向必须降低loss」的原则,搬到了文本空间。
论文测了6个benchmark × 7个模型 × 3个执行环境(直接对话/Codex/Claude Code)共52个组合。据论文测试结果,SkillOpt在所有52个组合里都最强或并列最强。在GPT-5.5上,SkillOpt生成的skill比「没skill」提升23.5分(直接对话)、24.8分(Codex)、19.1分(Claude Code)。
它击败的对手包括人工写的skill、一次性LLM生成的skill,以及TextGrad、GEPA、EvoSkill等之前的prompt优化方法(以上均为论文测试基线)。
第一反应是震撼。「skill像神经网络权重一样可训练」是个深刻的隐喻。它把skill从「文档」重新定义成「外部状态」,把skill优化从「人工调整」变成「可重复、有数学保障的工程流程」。
第二反应是欣慰。SkillOpt的「验证通过才接受」机制,和达尔文1.0的「分数没涨自动回滚」是同一个核心思想:验证不过就拒绝。这件事我和微软同时独立做出来了,只是数学严谨性上对方更扎实。
达尔文2.0:吸收两篇论文精华
http://cdn.u1.huluxia.com/g4/M02/7C/D5/rBAAdmoc8NmAW1skAAGMcTrXJdc37.jpeg,1080,608 |
|