写出好 Skill 的核心秘诀:上位原则,拒绝穷举

写出好 Skill 的核心秘诀:上位原则,拒绝穷举

OpenAI 近日发布了一篇《Rethinking skills and prompts for GPT-6 Astra》的帖子,重新思考 GPT-6 Astra 的技能和提示。

原链接:https://developers.openai.com/blog/rethinking-skills-and-prompts-for-gpt-6-astra,有兴趣的可以看看原文,以下是我自己的思考。

从最开始的 Prompts 到 Workflow 再到 Skill,随着模型能力的提升,复杂的规则内容并不会让模型表现更好,甚至会成为累赘。

打个比方,一个工厂无论招聘的是小学、初中、高中、大学文化的员工,都放到相同的流水线,按照相同的规则干活,最终的结果显而易见。

要区分你的 Skill 是否足够简洁明确,先看看 description,如果 description 恨不得将整个 Skill 的内容都装进去,那么可以考虑精简/舍弃这个 Skill 了。

description 按照我的理解,只需要重点描述「何时使用、产出什么」,通常两句话说明白就行。然后是内容,每个人都有自己的排版方式,这个没有统一规则。但是用语一定要简洁精炼,使用陈述句。

有一个非常有意思的细节,就是很多人想要写一个去 AI 味的 Skill,自己写嫌麻烦,就让 AI 帮忙写。AI 写出来的 Skill 文本用语本身就有很重的 AI 味,用一个自带 AI 味的 Skill 去去除 AI 味,那是根本不可能的。

如何对 Skill 进行瘦身,举个简单例子:

  • 改写前:禁止在登录、注册、找回密码、修改密码、绑定手机号、解绑手机号、更新邮箱、删除账号、注销账号时使用弱密码策略。
  • 改写后:敏感操作一律使用强密码校验与二次确认。
    对于更优秀的模型来说,你不需要去穷举特定场景,你穷举不完的,徒增规则体量。以下是我的实操建议:
  • frontmatter description 只描述「何时使用、产出什么」
  • 遵循上位原则,不穷举特例
  • 无过时规则、无同类重复、无下位细碎场景
  • 能用一句话说清的,绝不堆砌解释

创建一个新的 Skill 后,我都会用上面的规则对 Skill 进行审核。