自Anthropic发明skills以来,我发现大家对skills是越来越青睐了,原先skills用来辅助工作 开发,后来进化出了不少新玩法啊,

什么同事.skill前任.skill,更有甚者:张雪峰.skill(尊重逝者🙏)

这些都是蒸馏玩法,属实是被玩出花来了

玩归玩,不要把这些🐮🐴玩意放到工作和开发的skills目录里,因为这会增加你的skills数量,增加无用上下文,降低ai使用skills的命中率

有篇paper专门分析了skills的数量-内容与准确性的关系:When Single-Agent with Skills Replace Multi-Agent Systems and When They Fail

论文用gpt-4o和gpt-4o-mini做了skills数量与选择准确率关系的实验,实验结果放在这个表里

skills数量 选择准确率
≤ 10 > 97%
10 ~ 30 90% ~ 97%
30 ~ 50 85% ~ 93%
50 ~ 80 60% ~ 85%
80 ~ 100 45% ~ 55%
100 ~ 150 15% ~ 40%
≥ 150 < 15%

也有拟合曲线:

拟合曲线

skills数量在50个以内,选择准确率都是比较高的(当然,不同AI跑出来的结果必然不同,这里的结果仅做参考),尤其是skills在25个以内时,命中率是相当高的

我在开发中也有类似的感受,曾经我在全局skills目录里塞了不少五花八门的skills,打开cc后一问才知道,总skills数量有60+,怪不得ai经常不选我希望ai用的skills。

后来我去繁从简,精挑细选,屎里淘金,把skills数量压到了40以内。按实验结果,我为什么没有压倒20-30呢,因为上文也说了,这个实验是基于gpt-4o系列ai做的,我用的ai性能比4o强,不必对号入座。

不只是数量,相似的skills也会大大降低选择准确率

论文做的实验,每个skills有一个相似的“竞争者”,准确率降到~82%,有两个相似的“竞争者”,准确率骤降到 ~52%。如果有从几个功能很相似的skills里选,ai往往会遮着眼睛瞎选(ai没眼睛 说是)。

打个比方

你和你老婆晚上准备双排了,你老婆的双胞胎妹妹趁着黑灯瞎火,悄无声息地摸进来,你能分清谁是谁吗?如果你硬上的话,我打赌要出事故的

所以,功能相似的skills只保留一个

如果skills实在是多,怎么办呢,论文里给出了层级路由的选法,简单来说就是“先选类别,再选skills”

比如开发会用到code-reviewtest-dirven-developmentsubagent-driven-development……那么就把这些归为“开发类”,依次类推还有“写作类”,“设计类”等等。ai选择使用skills的时候,就先判别应该用什么类别,再选择具体的skills。

论文里的层级路由的实验结果显示,这个方法在大数量skills的情况下会把准确率提高小几十个百分点。

当然嘛,据我所知 claude code 现在是没有“层级路由”的实现的,只是单纯的把skills全部平铺开来,让ai选。

不过没关系,我自己对于不同类别的skills是这样处理的:建立不同的skills仓库,把杂乱的skills给划分到不同的局部仓库里,让全局skills保持简洁,装你必备的,常用的;局部仓库里装其他类别的skills,分开使用。

比如我开一个名为“WPS-skills”的仓库,wps的skills就安装在这里面,要编辑WPS的文件的时候,就在这个仓库里工作;其他仓库是没有wps的skills的。

那我说白了,总的来说就是:降低skills数量,不要出现太相似的几个skills,skills分类管理。

skills不在于多,而在于精,选择最常用的,最适合自己的skills就是 The best。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐