定义
技能(Skill)= 可高频复用的标准操作流程,应具备明确的唤起方式(description,可选 triggers 列表)、输入输出结构与版本号。
维度 | 记忆 | 技能 |
|---|---|---|
回答什么 | 是什么(事实) | 怎么做(流程) |
例子 | 「某类分析要排除某种噪声报警」 | 「这类分析的七个步骤」 |
固化门槛 | 立即 | 同一流程做过 3 次以上 |
级别 | 路径 | 跟谁走 | 判据 |
|---|---|---|---|
用户级 | ~/.workbuddy/skills/ | 跟人走 | 换个项目还要用吗 |
项目级 | {工作空间}/.workbuddy/skills/ | 跟项目走 | 本项目特有、要随项目交付或给同事吗 |
一条容易搞错的说法
很多人以为「用户级」的「用户」指的是账号。实测不是——用户级 = 本机用户目录。
反证很简单:如果技能会自动上行到账号,那就不需要额外搭一套版本库同步了。而且实测换设备后技能并不会自动出现,必须靠自建同步链路复制过去。
⇒ 把技能从项目级提到用户级,只解决「本机内跨工作空间可见」,一步也不解决「换设备 / PC 关机」。 后者属于 L7 的问题。
误解
「技能只是候选项,跑不跑看模型临场判断。」
真相
默认情况下,模型可以自主调用技能(model_invocation 默认开启)。要让某个技能只能手动触发,必须显式设置:
frontmatter 字段 | 作用 |
|---|---|
disable-model-invocation: true | 禁止模型自主调用,只能由人显式触发 |
triggers: [...] | 显式声明触发词,提高命中率 |
description | 常驻上下文,是默认的匹配依据 |
什么技能该设禁止自主调用
一旦误触发后果严重的技能。典型例子:批量提交类(向外部平台批量登记)、批量删除/覆盖类。这类「跑批」技能,宁可麻烦一次手动触发,也不能让它在不恰当的时机自己跑起来。
反过来,交付检查类、素材整理类这类「跑一下只有好处」的技能,应当保持自主调用开启。
一个实际观察
实测某环境中,只有 1 个技能设了 disable-model-invocation(正确),只有 4 个技能用了 triggers——其余十几个全靠 description 自然匹配,命中率有很大不确定性。
加固办法很便宜:给高频且容易漏的技能补上 triggers,把常见的说法列全。这几乎不占上下文(常驻的只有 name + description),但能显著提高命中率。
【通道 A · 多端同步】我的技能 → 我的另一台设备
手段:自建版本库(git)
失败后果:换设备技能直接消失
【通道 B · 分发与安装】别人的技能 ⇄ 我
手段:技能市场
方向:安装 = 拉副本到本地,本地改了不上行
当前:可用的消费者通道(能搜、能装)误解
「本地改了技能要发布一下,免得影响其他用户。」
真相:方向反了
正确表述
本地修改天然不影响他人(安全);但上游更新也不会自动回流(漂移)。 养成本地重度改造的习惯前,先记一笔来源与版本,需要时手动重装比对。
「能不能分享给别人」这个问题的实质是:技能里有没有「只对我成立」的东西。 检查清单:
一个实测数据点
某环境实测 14 个技能里 12 个含本机绝对路径。做「路径可移植化改造」这件事,本质上就是在买可分享性的入场券——两件事是同一件事。
模式 | 适用 | 写法 |
|---|---|---|
A · Shell 里用环境变量 | 技能文档里的 bash 命令 | PY="USERPROFILE/.../python.exe"** **[ -f "PY" ] || PY="$(command -v python3)" |
B · PowerShell 里用 env | 技能文档里的 PowerShell 命令 | env:NODE_PATH = "env:USERPROFILE...\node_modules" |
C · 环境变量覆盖 + 默认值兜底 | 业务数据路径(盘符可能变,无法推导) | BASE = os.environ.get("XXX_DATA_DIR", r"E:\默认位置") |
一个差点改错的判断
直觉方案是「把绝对路径换成 python 命令」。实测后否决:系统解释器里没装依赖包,脚本必崩。 虚拟环境的绝对路径必须保留,只是要动态化 + 加兜底。
另外:判「文件存在」用 [ -f ] 而不是 [ -x ]——在某些 Windows 文件系统上 -x 行为不稳定。
维度 | 判据 |
|---|---|
何时固化成技能 | 同一流程做过 3 次以上 |
放用户级还是项目级 | 跟人走 / 跟项目走 |
能否分享 | 无本机依赖(绝对路径 / 内网 IP / 未解释术语) |
唤起方式 | description(+ 可选 triggers) |
输入输出 | 在 description 中写明「典型输入 / 输出」 |
版本 | version 字段;市场来源另记元数据 |
同步 | 必须进版本库,否则换设备就丢 |
技能正文的两条纪律(实测踩出来的)
文中所有「实测」「xx KB」「xx 个」这类数量,均来自某一台真实机器的快照,请当作方法示范而非通用阈值;真正通用的是判据与因果关系。
原创声明
本文系「当月光落下」原创,首发于腾讯云开发者社区。内容来自作者在实际使用中的逐条实测整理, 所有结论均有本机实机验证或真实接口调用支撑;文中出现的数量均为特定环境下的实测快照, 仅作方法示范,不作为通用阈值。
如需转载,请注明作者「当月光落下」及首发出处,未经许可不得用于商业用途。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。