8个写好Skills的技巧,分享给你

8个写好Skills的技巧,分享给你这是 Bubble2026 年的第 41 篇更新 我感觉今年以来最火的东西非 Skills 莫属了 无论是 OpenClaw Claude Code 再到最近热度很高的 Hermes Agent 都离不开 Skills 所以比起追逐一个又一个热点 我觉得不如先来看看如何写好 Skills 最近看到 Google DeepMind 研究员 Philipp Schmid 总结了 8

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



这是Bubble2026年的第41篇更新。

图片

我感觉今年以来最火的东西非Skills莫属了。

无论是OpenClaw、Claude Code再到最近热度很高的Hermes Agent 都离不开Skills。

所以比起追逐一个又一个热点,我觉得不如先来看看如何写好Skills。

最近看到Google DeepMind 研究员 Philipp Schmid 总结了 8 个他在大量实践中积累的写Skills技巧,还蛮有用的,结合我自己这段时间的使用经验,翻译转述给大家。 

Section 01 先搞清楚 Skill 到底是什么

一个 Skill 本质上就是一个文件夹,核心是一个SKILL.md文件,其他的都是可选的:

Code STRUCTURE
my-skill/ 
├── SKILL.md    ← 唯一必须的文件 
├── scripts/    ← 可复用的脚本代码 
├── references/ ← Agent 按需读取的参考文档 
└── assets/     ← 模板、图片等输出用的资源

一个 Skill 由3 层组成:

名称和描述(Frontmatter):每次都会加载到 Prompt 中,告诉 Agent什么时候该用这个 Skill

SKILL.md 正文:Skill 被触发后才加载的 Markdown 指令,告诉 Agent怎么干活

附属文件(可选):scripts/、references/、assets/ 文件夹里的辅助资源

这里还有一个很重要的认知,Skill 其实分两种

能力型 Skills:弥补模型本身做不好的事情。比如填 PDF 表单。随着模型越来越强,这类 Skill 有可能会被淘汰,定期跑Benchmark就知道它还需不需要了。

偏好型 Skills:把你自己的工作流固化下来,比如你团队的代码审查流程。这类 Skill 不会过时,但需要跟你实际流程保持同步。

总结来说:能力型Skills解决模型能不能做这个任务,偏好型Skills解决模型按不按我的工作流程来做。

Section 02 描述写不好,一切白搭

SKILL.md 里的 description 就是触发器。

如果把描述写得太模糊,Agent 不知道啥时候该激活这个 Skill。写得太宽泛,每次请求都会触发,直接干扰正常工作流程。

你需要同时说清楚两件事:

这个 Skill 干什么+什么时候该用它

举个例子:

太模糊的写法:"帮助处理文档"

具体且可执行的写法:"创建、编辑和分析 .docx 文件,适用于修订追踪、批注、格式化或文本提取"

太模糊的写法:"API 助手"

具体且可执行写法:"当需要编写调用 Gemini API 的代码时使用,支持文本生成、多轮对话、图像生成或流式传输"

Philipp 说他见过仅仅改了 description,效果就提升了 50%的案例。

Section 03 写指令,不要写文章

Agent 很聪明,你要做的是告诉它那些它还不知道的事情

研究表明,过长的、塞了太多上下文的指令反而会让性能下降。

几个核心原则:

用指令式语言,别用描述式语言

• 不好的例子:"Interactions API 是推荐的方式。"(这是知识,Agent 不会基于它行动)

• 好的示例:"始终使用 interactions.create()"(这是指令,Agent 会照做)

用示例开头,别用大段解释

5 行代码示例 > 5 段文字解释

解释为什么

• 当一条规则很重要时,说清楚原因:"使用 model X,model Y 已弃用并且会返回错误"。这样 Agent 能举一反三,而不是死记硬背。

别过拟合

不要为了让你手头那 3 个测试 Prompt 通过就反复微调。好的 Skill 应该在上百万次调用中都稳定有效。

Section 04 保持精简

别把所有东西都塞进一个文件里。

Agent 是分层加载信息的:

1.始终加载:SKILL.md 的 Frontmatter(名称 + 描述)

2.触发后加载:SKILL.md 的正文(建议控制在 500 行以内)

3.按需加载:reference 文件、脚本、资源

如果你的 Skill 涵盖多个主题,拆分成多个 reference 文件。Agent 只会读它需要的那个,这样能把上下文窗口留给真正重要的任务。

小技巧:如果某个 reference 文件超过 500 行,在文件顶部加一个带行号提示的目录,方便 Agent 快速定位。

Section 05 给 Agent 适当的自由度

写 Skill 最常见的错误,就是把它变成一份逐步执行的操作手册。

"第一步:读取文件。第二步:解析 JSON。第三步:提取字段…"

当你把每一步都写死了,Agent 就丧失了自适应、纠错和找到更优方案的能力。

描述你想要什么结果,而不是通往结果的路径。

告诉 Agent 目标:

• 不要说:"步骤1:读取配置文件。步骤2:找到数据库URL。步骤3:更新端口号。步骤4:写回文件。"

• 要说:"将配置文件中的数据库端口更新为用户指定的值。"

给约束,不给流程:

• 不要说:"步骤1:创建分支。步骤2:修改代码。步骤3:跑测试。步骤4:提PR。"

• 要说:"提 PR 之前必须跑通测试。永远不要直接 push 到 main。"

如果某些步骤的顺序真的不能乱,那你该写脚本,而不是 Skills。

Section 06 别忘了反面测试

思考一下你的 Skills不应该在什么时候触发。

一个 description 写成"处理任何编程任务"的 Skill,会在每次请求时都抢着出来干活,直接打乱你的工作流。

正确做法是:"处理 PDF 文件时使用。不要用于普通文档编辑、电子表格或纯文本文件。"

你需要同时测试应该触发的场景和不应该触发的场景

不做反面测试,你的 Skill 只会朝一个方向优化,最终变成一个误触狂魔

Section 07 发布前一定要测试

别写完就直接发出去。Agent 的输出是非确定性的,每次跑出来的结果可能都不一样,所以测一次是远远不够的。

具体怎么做:

1.手动跑几次,用不同的 Prompt 试。看它在哪里出错:是否假设某个依赖存在?是否跳过了步骤?

2.定义清楚成功的标准是什么样,并且要可衡量。输出能编译吗?用了对的 API 吗?按步骤走了吗?评估结果,不是评估路径。

3.准备 10-20 个测试 Prompt。混合三类:Skill 应该处理的、Skill 应该忽略的、以及刁钻的边界情况。每个 Prompt 都应该有独立的成功标准。

4.跑多次。每个 Prompt 跑 3-5 次,看分布结果,而不是单次通过/失败。

5.隔离每次测试。用干净的环境跑每一次测试,上下文残留会掩盖真实的问题。

6.出了问题先改 description。大部分问题出在触发条件上,而不是指令本身。

Section 08 知道什么时候该退役一个 Skill

把 Skills 关掉,重新让Agent跑一遍你的Benchmark。

如果不用这个 Skills 也能通过,那就说明模型已经吸收了这个 Skills 的价值,它就不再需要了。大胆扔掉它。

这一点对能力型 Skills尤其重要。模型在不断进步,差距在不断缩小。你去年写的那个 Skills,说不定今天已经是多余的了。

End Note

这 8 个技巧看起来都不复杂,但如果你认真对照自己写过的 Skills 复盘一遍,大概率会发现好几个踩过的坑。

我自己的总结就是:写 Skills 跟之前写 Prompt 其实是一脉相承的。

最核心永远是那几件事:

说清楚意图、给足够的上下文、别过度约束、持续迭代测试。

以及,追逐下一个热点Agent,不如先琢磨一下如何写好自己手里的Skills。

欢迎评论区交流你写好Skills的小技巧~

小讯
上一篇 2026-04-16 17:21
下一篇 2026-04-16 17:19

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/262160.html