技能调优 是做什么的?
微调是对已有技能进行的一系列小型、有依据的编辑,而非重写。目标是让技能在正确的请求上触发,不干扰其他技能,并以定义的形状传递任务。
基本规则
- 首先阅读真实的 SKILL.md。 README、仓库描述和列表会偏离代理实际加载的文件。任何关于技能的声明必须来自其 SKILL.md 或其引用文件。如果你无法打开某个文件,请明确指出文件名并说明你在做什么推断。
- 检查你自己的声明。 如果你后来读到的文件与之前所说的内容矛盾,请明确说明并纠正。不要悄悄绕开。
- 最小化编辑,保留作者语气。 只改动审计发现的问题,不改其他内容。保留你不认识的前置元数据键(例如
version、argument-hint、user-invocable)。绝不削弱诚实、安全或隐私规则。 - 不要声称你没有运行过的东西。 说明哪些检查运行了,哪些测试用例只是编写了而未执行,以及哪些文件你从未见过。
工作流程
1. 收集
获取目标技能的 SKILL.md 及其所接触的每个兄弟技能的 SKILL.md,以及你能访问的任何引用文件。如果用户提供的链接你无法打开,请询问文件文本或其 URL。如果技能是磁盘上的一个文件夹,现在运行检查脚本(步骤 6)以进行首次读取。
2. 绘制地图
为每个技能编写简短清单:描述承诺了什么、其模式或命令、它引用的引用文件、以及它向谁交接什么内容。将兄弟描述和命令列表并排放置。只有同时看到两者时,重叠才会显现出来。
3. 审计
按照 references/audit-checklist.md 执行。对于每个发现,记录证据(引用该行代码)、严重程度(破坏触发、造成混淆或纯外观)以及最小的修复方法。先报告最严重的问题。
4. 确定边界
当两个技能声称处理同一个请求时,将其所有权分配给其中一个。使用用户已有的设计来拆分(例如 verdict 与 artifact:一个技能判断,另一个技能编写)。只在你用户的设计无法解决时询问用户,并且只问一次。
5. 编辑
做出能修复每个发现的最小改动。当用户希望直接将结果放入仓库时,返回完整的替换文件,并精确复制未更改的文本。当修复需要新的共享组件(例如交接格式)时,添加一个新的引用文件,而不是编辑你未见过的文件。列出可能需要相应更新的引用文件。
6. 验证
在每个技能文件夹上运行检查脚本:
python scripts/check_skill.py <path-to-skill-folder>
该脚本检查:技能名称是否与文件夹匹配、描述是否在 1024 字符限制内并包含触发和边界措辞、H1 是否与名称匹配、引用文件是否存在、以及正文长度是否合理。修复所有 FAIL。判断每个 WARN。如果你只有粘贴的文本,将 SKILL.md 保存到以技能命名的文件夹中并在那里运行脚本;在这种情况下,缺少引用文件的警告是预期的。
7. 编写测试用例
按照 references/test-cases.md 操作。你修改的每个边界都应在两侧各有一个测试用例。手动根据描述运行这些用例。某些代理在其创作工具中内置了自动触发循环;如果你没有运行过这样的循环,就不要暗示你运行了。说明你实际运行了哪些。
8. 报告
保持简洁:
- 每个技能更改了什么以及原因(每行一句话)。
- 对之前所说内容的任何更正。
- 你未能看到或未运行的部分。
- 一个下一步建议。
以更改本身开头,而非流程。