兰 亭 墨 苑
期货 · 量化 · AI · 终身学习
首页
归档
编辑文章
标题 *
URL 别名 *
内容 *
(支持 Markdown 格式)
把这件事说清楚,需要往回退一步——不是从技术定义出发,而是从你实际运行的那71个文件夹出发。因为在广山哥的系统里,skills已经活成了某种比“技能”更朴素的东西。以下我对 **skills 本质** 的解剖。 --- ### 一、skills 在文件系统上的样子 打开 `~/.pi/agent/skills/`,你会看到一长串目录名:`wechat-send`、`deepseek-search`、`text2card`、`book-writer`……每个目录都是三样东西: ``` skill-name/ ├── SKILL.md # 说明书(人类与AI共同阅读) ├── scripts/ # 可执行脚本(确定性逻辑) └── (可选) references/ # 参考文档、模板、配置文件 ``` SKILL.md 以一段 YAML frontmatter 开头,里面写两样东西:`name`(工号)和 `description`(工牌)。description 要同时回答四个问题:能干什么、怎么干、什么时候该叫我、什么时候别叫我。 这个结构很轻,但它有三个关键的工程性质,而这三个性质合起来,就是 **skills 的本质**。 --- ### 二、skill 的本质:把“方法”写成“文件” 普通人理解“技能”,会想到“能力”“工具”“函数”。但 **skill 的本质是“文件”**——它是把一段可重复的劳动方法,固化成一组文件,放在一个固定的目录里,让系统可以按名字找到、按说明书理解、按脚本执行。 这个本质有三层含义: **1. 文件是系统的最小可信单元** 在广山哥的系统里,几乎所有东西都是文件:skills 是文件,crontab 是文件,launchd 的 plist 是文件,日志是文件,备份是文件,决策日志还是文件。文件的好处是:它不依赖任何应用打开,不依赖任何服务在线,不依赖任何人的记忆。Markdown 文件几十年后还能读,YAML 文件换台机器还能解析。文件比数据库活得久,比 API 稳定,比记忆可靠。 **2. 说明书是技能的核心,脚本只是附件** 你打开 SKILL.md 会发现,它不只是“描述”,它定义了工人的行为边界。说明书里写清楚的:触发词、工作流程、注意事项、退出码含义、错误处理——这些决定了技能的质量。脚本反而不是最核心的部分,因为脚本只是“怎么做”的固化,而说明书决定了“什么时候做、做不做、做坏了怎么办”。一个只有脚本没有说明书的技能,等于一个没有操作规程的工人:他能干,但你不知道他什么情况下会干出什么来。 **3. 触发词是技能的接口,不是装饰品** 每个技能的 description 里都有触发词列表:“发微信”“推送到微信”“微信通知”“发张图到微信”——这些是工人的门牌号。agent 扫过 71 张名牌,谁的门牌号被命中,谁就进车间。触发词写得准,工人被正确调用;触发词写得太宽,工人抢别人的活;触发词写得太窄,工人永远不被叫到。 --- ### 三、skill 与“函数”的区别 如果你把 skill 理解为“AI 时代的函数”,方向是对的,但会错过一个关键差异: **函数是代码层面的复用,skill 是行为层面的复用。** 函数复用的是一段逻辑,调用方必须知道它的签名、参数类型、返回值。skill 复用的是一段“工作”:你不需要知道它怎么写,只需要知道它能干什么、什么时候喊它。调用方式不是代码里的 `import`,而是自然语言里的触发词。这不是退化,而是升级——它让“调用”这件事从“程序员懂”变成了“任何人都能喊”。 --- ### 四、skill 与“工具”的区别 工具是“我有一把扳手,你可以拿来拧螺丝”。skill 是“你喊我一声,我把整个拧螺丝的活干了,还告诉你螺丝拧没拧紧”。 工具是被动的:你操作它,它不记得你上次怎么用的。skill 是主动的:它有自己的说明书、自己的触发词、自己的退出码、自己的错误处理。它不只封装了“动作”,还封装了“什么时候该动、动完怎么汇报、动坏了怎么办”。 --- ### 五、skills 的演化路径 71 个 skills 不是一次写出来的,是按一条固定的路径长出来的: 1. **手工阶段**:某件重复劳动,你做了一遍又一遍。 2. **脚本阶段**:你把动作写成脚本,每次手动跑。 3. **注册阶段**:你给脚本包上 SKILL.md,写上触发词,放进 skills 目录。 4. **被调度阶段**:agent 读到了它,触发词命中时自动调用它。 5. **迭代阶段**:说明书被改写、脚本被优化、触发词被收窄、错误处理被补上。 这条路径说明一件事:**skill 不是设计出来的,是进化出来的。** 它从一个具体的、反复出现的痛点里长出来,而不是从“我要造一个技能”的抽象意图里造出来。反过来说,如果你没有先重复做过某件事三遍以上,你就不该为它写 skill——那是一个没有活过的技能,它的说明书是想象的,不是从真实经验里提炼的。 --- ### 六、skill 对 AI 系统的意义 如果把 AI 系统看作一个工厂,skills 就是工人的岗位说明书加工具箱。它们让系统具备可扩展性:新增一个工人只需要新增一个目录;具备可维护性:工人出问题翻说明书和日志;具备可迁移性:整个 skills 目录拷到另一台机器,工人照常上岗。 更重要的是,**skills 让 AI 的行为从“每次重新理解”变成“按规程执行”**。没有技能的系统,每次都要让 AI 从零理解“微信怎么发、坑在哪里”;有技能的系统,这些知识已经被编成了说明书,AI 只需要读一次、照着做。这就是把“提示词工程”升级为“行为工程”的方式——把知识从 prompt 里搬出来,放进一个可复用、可维护、可迁移的文件里。 --- ### 七、一句话收束 **skill 的本质,是把一个反复出现的劳动,封装成一组文件,让系统可以自动找到它、理解它、执行它、并且每次执行后都知道它干没干成。** 它不依赖记忆,不依赖自觉,不依赖任何人在场。它是一个可以被版本管理、被备份、被迁移、被审计的工作单元。它让“AI 能力”从“对话里的一次性输出”变成了“系统里的常驻工人”。 这就是 skills 的本质。
配图 (可多选)
选择新图片文件或拖拽到此处
标签
更新文章
删除文章