好技能的标准
好技能每次都给出同样正确的结果,不管是谁在用。下面这些习惯能帮你做到。
重复的工作才做成技能
一件事做过不止一次、以后还会做,步骤每次都应该一样,或者别人也要照你的方式做,就值得做成技能。
一次性的问题、每天都在变的信息,不要做成技能。一次性的事,把要求说清楚就够了。见 把要求说清楚。
一个技能只做一件事
只做一件事的技能,更容易描述、测试和修改。描述里写出「另外还……」时,考虑拆成两个。
| 太宽 | 更好 |
|---|---|
finance | check-invoices、monthly-expense-report |
website-helper | export-orders、update-stock-levels |
描述写给要求看,不是写给技能看
AI 只靠描述来选技能。写清楚做什么、什么时候用,用大家实际会打的字:
| 弱 | 强 |
|---|---|
| 「发票工具。」 | 「把供应商发票和约定价格表对一遍,列出对不上的项目。在要核对、检查或对账发票时使用。」 |
| 「做周报。」 | 「根据本周的工单和订单写运营周报。在要周报、每周更新或本周数据时使用。」 |
说清楚做完是什么样子
写明产出、格式和存放位置。「一张表」太含糊;「一个 CSV,列为 date、supplier、amount、difference,存为 mismatches.csv」就清楚了。
把限制写下来
告诉 AI 什么不能做、什么时候必须停下来问:
- 「只读,绝不修改网站上的记录。」
- 「超过 20 条失败就停下汇报,不要继续。」
- 「发给团队以外的人之前先问。」
带上检查
给一个代表性的输入和你预期的结果,再加一条 AI 能验证的规则:「每个合计都等于各行之和」「输出里的每个编号都能在输入里找到」。AI 汇报前会用它自查,你也能用它判断改动有没有把技能改坏。
必须一模一样的部分写成脚本
计算、格式转换、固定的一串调用,这些每次都必须完全相同的部分,写进脚本。AI 的判断力留给需要判断的地方。见 技能怎么写。
保持简短,细节移出去
SKILL.md 只写做法。价格表、写作规范、字段清单这类长资料,放进技能文件夹里的单独文件,在做法里提一句(「用 references/prices.csv」)。AI 需要时会打开。
放在工作发生的地方
- 某个项目的技能放进这个项目的工作区(
.agents/skills/),打开这个文件夹的人都用同一个技能。 - 个人习惯放在这台电脑的技能里
- 全机构通用的做法可以由机构发布,所有人都能用,更新自动送达
每次出错都改进它
结果不对时,先在对话里改对,再让 AI 把这次纠正更新进技能。久而久之,技能会积累所有使用者的判断。
检查清单
- [ ] 只做一件事
- [ ] 描述写了做什么、什么时候用,用的是使用者的话
- [ ] 写明了产出、格式和位置
- [ ] 写下了限制和停止条件
- [ ] 有代表性检查
- [ ] 必须精确的步骤写成了脚本
- [ ] 存在需要它的人找得到的地方
- [ ] 在新会话里不提技能名测过