Superpowers 的技能为什么没喊也自己触发:一份完整的机制指南
【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers
你打开编码智能体,说一句"帮我做个 React 待办清单",它没有立刻写代码,而是先反问你要解决什么问题。这个行为背后是 Superpowers 的技能自动触发机制:它让智能体按"先明确设计、再写计划、再拆任务执行"的完整流程干活,你全程不说一个"用技能"。它是怎么"知道"的?
一条消息要经过哪四个判断点
第一个判断发生在你说任何话之前。会话启动时,一个叫 会话钩子 的小脚本把using-superpowers这个引导技能的全文读出来,塞进模型的上下文,这一步叫引导注入。你可以把它理解成"新员工第一天上班发员工手册"。关键是它每次会话都自动发生,你无法也无需"启用";没有它,其余所有技能都只是躺在磁盘上、永远不会被激活的文本文件。
第二个判断在你说话时发生。模型已从引导内容里读到一条规则:"任何回复之前,先检查有没有适用的技能"。于是它拿你的任务去逐个比对每个技能文件头部的一行描述。每个技能就是一个装着SKILL.md的目录,头部描述就是匹配用的钥匙:
--- name: brainstorming description: You MUST use this before any creative work... ---第三个判断处理"多个命中怎么办"。引导技能里写死了优先级:流程类技能先行——它们定方法,比如头脑风暴、系统化调试;实现类技能随后执行具体工作。所以"做个 X"会先进头脑风暴,"修个 bug"会先进调试流程。
第四个判断发生在技能被加载后。技能全文按需载入,里面有清单和硬性闸门,模型照着逐条建任务、逐条执行。
疑问来了:描述只是几行文字,模型凭什么匹配得准?答案在写法上——描述是按"触发条件"写的("创意工作前必须使用"),引导部分又用强硬措辞强调:只要有 1% 的可能相关,就必须先调用。
用"做个待办清单"把整条链路跑一遍
拿项目自己的验收测试句 "Let's make a react todo list",顺着技能自动触发的四个判断点走一遍。
- 会话启动:钩子脚本完成引导注入。可以立刻验证——问一句"你有超能力吗",它能答上来就说明注入成功。
- 消息到达:模型看到"做个 X",比对描述"任何创意工作之前",命中 brainstorming。它会先宣布"正在使用 brainstorming 技能",再照做。
- 硬性闸门:头脑风暴技能 的第一条规则是硬闸门——设计出来说服用户之前,不许写一行代码。于是它开始摸清项目上下文、逐条向你提问。
- 交棒:设计获批并落成规格文档后,清单的最后一项是"调用 writing-plans 技能"。下一个技能接过这份产出,接着是写计划、拆给子代理、执行。
整条链可以概括为:上一步的输出,就是下一步判断的输入——设计文档是 writing-plans 的输入,计划是任务拆分的输入。
为什么不做一张"技能索引表"
项目曾经有一个完整扫描技能目录的共享发现模块,后来删掉了——匹配的活儿最终交给模型自己干。你可能会想:会话启动时扫一遍目录、生成技能清单塞进上下文,这样匹配不是更准?
| 方案 | 优点 | 代价 |
|---|---|---|
| 预生成完整技能索引 | 匹配准、不漏 | 技能增多后索引臃肿,且容易过期 |
| 只注入引导、按描述自匹配 | 内容轻量,技能随便加 | 依赖描述写得准 |
选择后者的原因:技能会越来越多,每次会话全量塞上下文是纯粹的 token 浪费;而描述是技能对外暴露的唯一契约,正因为它是触发条件,才会被逼着写准。另一个取舍是引导注入用的是普通消息而不是系统消息——系统消息的 token 会被反复计入开销,且多条系统消息在部分模型上会出问题。
这里还有一条暗规则——技能遮蔽:个人技能与插件自带技能同名时,由宿主平台的原生查找顺序决定加载哪个,一般是项目目录压过个人目录、个人目录压过自带版本。Superpowers 不试图接管这件事,它的测试只是如实记录各平台的当前行为。换句话说,想定制某个技能,建一个同名目录就行;想恢复原版,删掉即可。
回头看整条链路,技能自动触发靠的只有三样东西:一次自动注入的钩子、一行写得像触发条件的描述、以及流程先于实现的优先级规则。下次打开智能体时,不妨先问一句"你有超能力吗"——它答得上来,说明引导注入工作正常;答不上来,问题在集成端,不在你。
【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考