分享一下我最近对Skills的使用的经验,应该会让你对skill有个全新的认知。
一、Skills 不是越多越好。
每个可被 Agent 自动调用的 skill,description 都会进上下文。装太多不仅占 token,还会让 Agent 在一堆相似 skill 里混乱。
二、Skill可以分两类。
一类是让 Agent 自己判断调用的。
一类是只给人手动触发的,比如高风险、低频、每天只跑一次的 workflow。
比如我有一个自媒体分析的Skill,它只需要在每天自动化任务时候调用,那它就不需要出现在我的上下文内。
这种可以在 SKILL.md 里加:
disable-model-invocation: true
这样它不会常驻模型上下文。
三、加 skill 前先问三件事。
这个 skill 是干嘛的?什么时候用?给谁用?
它的具体流程是什么?
它是不是真的必须装?
四、一个好 skill 最好有三块。
steps:执行步骤。
reference:参考文档、模板、规范。
lessons:踩过的坑和经验,避免下次再犯。
五、有些 skill 要拆开。
比如“先问清楚,再写 PRD”,放一起时 已经给了他目标,Agent 经常问两句就急着写 PRD。
拆成“问清楚”和“写 PRD”两个 skill,效果反而更好。
六、多用行业里已有的专业词。
比如代码风格直接说 PEP8,不用把缩进、命名、格式规则全写一遍。
七、如果skill实在是太多了,可以做一个 router skill。
类似 find-skill,只负责记录什么场景该用什么 skill。然后需要的时候让他去通过这个路由去找。
顯示更多