当50+个Skill开始失控:一个开发者的质量守护战与进化启示

你的Skill文件夹里有多少个文件?十个?二十个?我的已经53个了。

这53个skill是在不同时间、不同状态下写的。有些是凌晨三点灵感来了一口气写完的,有些是赶着deadline匆忙搭的。有些skill我用了上百次,迭代到第七八版。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

这种状态在skill只有十几个的时候还能靠手感维护。但过了50个之后,手动维护就崩了。你不知道哪个skill的frontmatter写得不规范,哪个skill的工作流有步骤缺失,哪个skill看着结构完美但跑出来的效果其实很差。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

直到我遇到了Karpathy的autoresearch。

那个改变一切的项目

今年3月,Karpathy开源了autoresearch。一个月不到,GitHub上71k+star。它做的事情用一句话就能说清楚:让AI自己跑实验、自己评估结果、只保留有改进的修改。一个只能向前转的棘轮。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

Shopify的CEO拿它优化模板引擎,性能提升了53%。

看到这里的时候我愣了一下。这个模式,不只能用来训练模型。它能用来优化任何有明确评估标准的东西。比如我的skill。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

其实自然界早就在用这套逻辑了。达尔文的进化论本质上就是一个棘轮:随机变异产生候选方案,自然选择保留有利的、淘汰有害的,时间足够长,草履虫就变成了人。进化没有设计师,没有路线图,它唯一的规则就是「活下来的留下,死掉的消失」。Karpathy做的事情,是把进化论工程化了。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

38次手动优化踩出的5条铁律

写这个skill之前,我已经手动优化过38轮skill了。每次都是手动读skill、手动找问题、手动改、手动验证。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

这38次下来,我摸出了5条原则,每条都是踩坑踩出来的。

第一,每次只改一个文件。我早期犯过一次错:同时改了7个skill的触发词和中文表达适配,结果有些变好了有些反而变差了,完全没法判断是哪个改动导致的。从那以后,一次一个,绝不贪多。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

第二,评估要分两层。光是看skill写得规不规范是不够的。我有个skill,格式完美、步骤清晰、frontmatter无可挑剔,但实际跑出来的效果还不如不加skill。纯结构审查发现不了这种问题。所以评估必须分两层:结构评分看「写得对不对」,实测评分看「用起来好不好」。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

第三,分数只能升不能降。改完之后比改前差了,就当这次修改没发生过。这个设计让你可以放心做实验,失败不会伤害你,只有成功会被保留。 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术 当50+个Skill开始失控:一个开发者的质量守护战与进化启示 IT技术

第四,修改的人和评分的人必须是两拨人。自己改完自己评,那不叫评估,叫年终自评里给自己打「超出预期」。2001年安然暴雷的时候,全世界才反应过来一件事:安然的审计师安达信,同时也是安然的咨询顾问。自己给自己审计,审了个寂寞。后来美国出了萨班斯法案,核心就一条:审计独立性。做账的和查账的必须是两拨人。道理放到AIagent身上一模一样。

第五,人要做终审。有些判断,目前还是人比机器靠谱。

8个维度,100分,权重即态度

怎么给一个skill打分?我设计了8个维度,分成两组。结构维度占60分,考察6个方面:Frontmatter规范性、工作流清晰度、异常处理、关键决策确认点、指令具体性、文件路径有效性。效果维度占40分,考察2个方面:整体架构合理性,以及拿真实测试prompt跑一遍看输出质量。

为什么实测表现的权重最高?因为一个skill可以在结构上拿满分,但跑出来一坨。反过来,一个写得粗糙但跑起来特别好用的skill,其实比格式完美但没用的skill有价值得多。

权重分配就是我的态度:实际效果比纸面规范重要。

那些被改变的真实Skill

我拿自己的skill做了实验。38次优化记录都在仓库里,挑几个说说。

huashu-slides是做PPT的skill,5轮优化,是改动最多的一个。第一轮发现最大的问题是style-samples引用了一个不存在的目录,直接导致skill执行出错,改成可选引用后立刻提升。第二轮补充了错误处理和生成后必检清单。第三轮做了5种风格的实测,给每种风格标注了噪点风险分级。第四轮把所有basestyle精简为短模板。5轮下来,从一个「能用但随时可能翻车」的skill变成了「你可以去泡杯咖啡回来看结果」级别的可靠。

comedy是脱口秀编剧skill,优化前的问题很典型:风格选择没有结构,每次调用都要重新描述想要什么风格,跟每次去理发店都要从头解释「就上次那样」一个道理。优化后加了风格选择三方案制、推荐矩阵、反默认规则。一轮搞定,改动不大但效果很明显。

7个perspectiveskill(芒格、费曼、塔勒布、马斯克、道金斯、纳瓦尔),5轮优化下来,每个从「能用」变成了「风格稳定、不会漂移、有自检清单」。

但更重要的是过程中发现的共性问题。很多skill都缺少边界条件处理(如果用户给了一个模糊的输入怎么办),很多skill的frontmatter描述太短导致Claude不知道什么时候该触发,很多skill引用了不存在的文件路径。这些是手动维护时很难发现的模式。

它让整个生态有了底线

女娲造skill,达尔文磨skill。造完就优化,优化发现的模式又反哺造的过程。这是一个meta级别的基础设施,有了它,整个skill生态的质量有了底线。

当你给任何创造性工作加上「只保留改进」的约束时,时间就站在了你这边。你不需要每一步都走对,你只需要确保走错的那步不留痕迹。这个道理适用于skill,也适用于写作、做产品、甚至过日子。