本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
事情是这样的,公司里面有一些牛佬,佬们本地有一些skill,但是似乎懒得发布出来,我采访了下,发现主要有下面几个原因:
- skill是适配自己工作流和环境的,能跑,但是打磨放出去费劲,真的没空。
- 公司内的skillhub使用流程太长了,难用,丑。
- 分享skill出去对自己没有好处,甚至无法满足虚荣心。
- 别人的skill自己管不了,甚至没有PR可以提,就算能提也得考虑适配性。
- 后期skill自己也没精力维护,慢慢的就僵尸skill了。
于是,我就想:
- 1.可不可以让佬本地的skill能自动适配别人的环境,在别人的环境上跑和测试,然后自动上传skillhub?
- 2.提供一套私有部署的skillhub cli出来给Agent用,参照npx skills.
- 3.你的skill被同事使用后,能像点赞一样,气泡提示一下,并且炫酷一些,并且llm生成一个他们的使用评价(解决问题/纯累赘)
- 4.跟区块链一样,让每个人都是skill的节点,把私货分享出来,然后本地的skill可以传染给同事, agent可以直接修改本地同步过来的skill,修改自动变成commit提交PR。
- 5.用评价分当进化指标,新commit和老commit跑灰度测试,谁高谁留下,只要一个skill有人用就会无限进化,不用维护了。
我捣鼓了大概2-3个月,做出了一个初版项目出来:
GitHub - SkillNerds/xskill: Self-evolving skills lib for coding agents · GitHub
(已添加友情链接 + 移除所有QQWX等私聊内容)
俺项目有如下的亮点:
- 气泡!气泡!气泡!你的skill被别人用了,网页会弹酷炫的无感气泡给你,就跟点赞一样。
- 无感蒸馏:静默读取所有人不同harness的轨迹放一起变成skill
- P2P skillhub: 你的skill也是我的skill 大家都能用
- 画像推荐: 基于上传的轨迹做了简单的聚类画像,然后语义推荐一些skill
- 自动进化:能基于气泡里面的分数对不同skill commit进行pk,坏的版本自动淘汰。
- 兼容传统HUB:支持服务器端中心化部署,导入公司里私有的skillhub(真的烂)
- 静默更新:让团队里的急急国王跟上服务器版本(他们太忙了),并且针对内网环境做了优化。
我参照了一些开源的项目,比如:
skillclaw
这个做的很棒,非常的产品化,给了我很多启发,但是有点太过于“CLAW”了,我想做一个比较靠谱的,专门针对像我们一样重度使用coding-agent的组的产品。CLAW这种公司不太让用。
技术上,skillclaw的进化是依靠在用户的环境里面去回放老任务,对比不同skill版本在通过率上的不同,这一点我觉得简直绝了,NB。但是代码放在那里我也抄不懂,所以就只学习了能理解的部分。(汗)
openspace
宣传做的很好,想要打造全球的skillhub,但是似乎有点太过于中心化了,skill不能传到我们的claudecode里面,只能放在服务器端,然后agent想要跑他们的skill似乎只能调agentmcp,本地codingagent只有回传过来的结果。(也就是Agent执行环境不放在本地,我觉得这个很败笔=。=)
skillopt
这个是很学术化的一篇工作,论文里面都是金币的味道(5.5不要钱一样),里面的benchmark很有参考价值,比如spreadsheets\officeQA。 可惜只是一个学术工作,并不是一个给大家用的工具,里面一个benchmark一个skill,然后skillopt对skill的理解是一个markdown文件,没有脚本和补充目录,skill本身也没有description。然后我在同样的benchmark下做了复现,数据基本都是真实的,没有掺水。但是,我的项目会蒸馏出多个skill,多个skill之间又得做一个skill描述词优化(比如claude的skill-creator里面的那种)不然会严重掉点(我便再次无耻抄袭了skillcreator)。
在spreadsheet上,xskill可以达到81%的精度(xskillopt 83%),没错。。比skillopt低。。
skillopt的逻辑就是,训练的时候给出很多skill的改进意见,然后用validationSet来看那个意见是能涨点的,如果涨点就生效,反复几次,skill.md就会充满了可靠的细节。但是xskill不使用validationSet来指引进化(很想学但是学不了),实际场景下,很难有人会为了团队的skill进化放一堆同分布的benchmark数据集进来=。=
搞七捻三 开源推广