第 4 章 · 创作经验、巧妙之处、边界与横向对比
前三章覆盖了格式、实现、集成。本章是“带走的精华”:怎么写出真正有用的 skill、这套设计妙在哪、它刻意不做什么、以及和 MCP / 普通系统提示的取舍。来源:
docs/skill-creation/。
4.1 写好 skill:工程经验
从真实专长出发,别让 LLM 凭空编
创作 skill 最常见的坑:直接让 LLM“生成一个 skill”,结果全是“妥善处理错误”“遵循最佳实践”这类空泛废话,而非真正有价值的具体 API 模式、边界情况、项目约定(docs/skill-creation/best-practices.mdx:9-12)。有效 skill 都扎根于真实专长,两条来路:
- 从一次实操中提炼:和 agent 一起真做一遍任务,记录“哪些步骤成功了、你纠正了什么、输入输出长什么样、你提供了哪些项目特定语境”,再抽成 skill(
:14-21)。 - 从既有资料合成:喂给 LLM 你团队真实的事故报告、runbook、schema、代码评审意见、补丁历史——这些项目特定材料远胜泛泛的“最佳实践文章”(
:23-33)。
省着花上下文:补模型缺的,删模型已会的
skill 激活后整篇正文和对话历史、其他 skill 抢同一个上下文窗口。原则:只写 agent 不写就会做错的东西(docs/skill-creation/best-practices.mdx:47-52)。不用解释“PDF 是什么、HTTP 怎么工作”。对每段内容自问:“没这条指令 agent 会做错吗?”答否就删。
description 是触发的全部赌注
description 决定 skill 会不会被激活,所以(docs/skill-creation/optimizing-descriptions.mdx:19-26):
- 用祈使句:“Use this skill when…”而非“This skill does…”——你在告诉模型何时该动手。
- 聚焦用户意图,不写内部实现。
- 宁可“推”一点:显式列出适用场景,包括用户没点名领域的情况(“即使没明说 CSV 或 analysis”)。
docs/skill-creation/optimizing-descriptions.mdx:176-189 的 before/after 很典型:从 Process CSV files. 改成同时说清“做什么(统计/派生列/图表/清洗)+ 何时用(CSV/TSV/Excel,即使没点名)”。
一个反直觉的点:单步简单任务可能不触发 skill——“read this PDF”这种 agent 用基础工具就能干,哪怕 description 完美匹配也未必激活;skill 真正发光是在需要专门知识的任务上(docs/skill-creation/optimizing-descriptions.mdx:17)。
校准控制力:脆弱的步骤才写死
不是每段都要同样强硬(docs/skill-creation/best-practices.mdx:92-141):
- 多种做法都行、容许变化 → 给 agent 自由,讲清为什么比硬规定更有效。
- 操作脆弱、必须按序 → 强约束,例如“严格按此命令、别加 flag”。
- 给默认值,别给菜单:多个工具能用时,挑一个默认 + 简短提逃生口,别并列罗列(
:126-141)。