# 重新定义 AI 交互:Skill 工程化实战指南(一)
**作者**: 老金
**日期**: 2026-04-29T10:22:15.000Z
**来源**: [https://x.com/freeman1266/status/2049434077573615678](https://x.com/freeman1266/status/2049434077573615678)
---

## 你以为你在写 Prompt,其实你在开手工作坊
作为开发者,我们都经历过被 ChatGPT 惊艳的时刻。对话框里敲几百字自然语言,像念咒语一样让 AI 听懂我们的需求——这种方式极大降低了 AI 的使用门槛,但它有一个致命问题:
它没法规模化。
当你开始把 AI 深度塞进工作流,三个坑你躲不掉:
失忆症与上下文黑洞
每开一个新对话,大模型就是一张白纸。"你是资深架构师"、"用 Markdown 输出"、"代码遵循单一职责"……每天重复三遍,消耗的不是 Token,是工程师的耐心。
Prompt 资产在个人备忘录里发霉
一个能打的 Prompt 要反复调 20 遍才能定型。但这些"祖传秘方"散落在每个人的 Notion、微信收藏、历史对话里——团队成员各自造轮子,没人知道隔壁同事已经解决过同样的问题。
脆弱的边界与不确定的输出
自然语言本质上是模糊的。纯 Prompt 没有 Schema 约束,上一秒它还能完美输出 JSON,下一秒就给你多加一句"希望对您有帮助",自动化脚本直接崩。
我的暴论:把 Prompt 当工程方案,就像把聊天记录当代码仓库——它能跑,但迟早出事。
## Skill 是什么:给"写咒语"升级成"写函数"
如果说写 Prompt 是在"写脚本",那么定义 Skill 就是在"写函数"。
Skill 把系统提示词、入参 Schema、执行逻辑、状态管理打包成一个可调用、可预测的"AI 函数"——一次编写,永久固化。
一个成熟的 Skill 有三个硬指标:
- 持久化存储:一次写好,永久固化。我之前那段 800 字的"代码 review 咒语",现在就是团队 .skills/ 目录里的一个文件,新人入职 git pull 一下就有。
- 按需激活:AI 根据你当前的意图自动挂载对应 Skill。你说"帮我 review 这段代码",它自己就把 code_review.skill 调起来了——用之即来,挥之即去。
- 参数化输入:通过 Schema 把模糊的自然语言收成结构化数据。以前我为了防 AI 发散,要写"请严格遵循:只输出 JSON、不要 markdown、不要解释文字、不要……"足足 300 字,现在一个 Schema 搞定:
三行配置,顶我以前半页废话。
```
{
"language": "typescript",
"focus": ["security", "performance"],
"output_format": "json"
}
```
💡 一句话说清楚:
把 AI 当作操作系统,Prompt 是你在终端里敲的临时命令(CLI),Skill 则是安装在系统上的应用程序(App)。
这个类比不是我凭空想的,是我被那句"综上所述"炸过之后才想明白的——临时命令永远有被下一次 shell 遗忘的风险,装成 App 才能稳定复用。
## 这几个概念我敢打赌,一半人都在搞混
随着 AI 基础设施一天一个样,新概念层出不穷。我在跟几十个团队聊过之后发现,下面这三对,至少一半的开发者还在混用:
Skill vs Prompt:预制菜与现炒菜
Prompt 是临时交互,重在灵活;Skill 是工程封装,重在稳定复用。区别就像你妈周末炒的菜 vs. 你冰箱里囤的速冻水饺——一个有烟火气但不可复制,一个工业化但随时能热。
Skill vs MCP:大脑与水管
这是被搞混得最严重的一对。
MCP 解决的是"连接"问题(让 AI 能读你的本地文件、Github 仓库、数据库);Skill 解决的是"处理"问题。
类比:MCP 是自来水管道,Skill 是决定如何过滤调制这些水的净水器配方。没有管道,净水器就是空转;没有配方,水管里的水就是白水。
Skill vs Agent:工具箱与项目经理
Agent 会自主规划、多步推理;Skill 是 Agent 手里的工具箱。Agent 负责想"第一步干啥,第二步干啥",执行具体步骤时它去调对应 Skill。
一句话:Agent 是那个画流程图的 PM,Skill 是真正去拧螺丝的那个扳手。
## Skill 内部到底怎么转的:三层渐进式披露
了解了概念,再往下看一层:你喊一句"帮我 review 代码",底层到底发生了啥?
这通常遵循一个叫"渐进式披露(Progressive Disclosure)"的三层架构:
第一层:用户意图层(Intent Layer)
最贴近用户的接口。用户不需要知道底层参数格式,说人话就行——"帮我 review 一下这段代码的安全性"。
第二层:调度匹配层(Routing Layer)
大模型在这一层发挥"路由"作用。它扫当前可用的 Skill 列表,通过对比每个 Skill 的 Description(描述),精准命中那个叫 security_code_review 的 Skill。
这一层决定了为什么你写 Skill 时,Description 字段比你想象中重要得多——它是 AI 选菜时看的菜单。
第三层:底层执行层(Execution Layer)
命中之后,系统强制要求大模型按 Skill 定义的 Schema 提取关键参数,结合该 Skill 固化的系统提示词,完成最终计算或外部调用,输出符合规范的结构化结果。
你可以把这三层理解成:你张嘴说话 → AI 选菜单 → 系统按食谱下锅。三步分工,才让 AI 从"听天由命"变成"按需上菜"。
## 小结:从"念咒语"到"写代码"
跨越纯 Prompt 时代,是每一个认真做 AI 工程化的开发者必经的路。
掌握 Skill,意味着你开始用软件工程的严谨性去驯服大模型的随机性——不是继续在对话框里祈祷,而是开始搭你自己的 AI 应用商店。
下一篇,我会拿起"手术刀",深入解剖一个 Skill 的内部结构,看它是如何被加载、激活以及在系统中流转的。
## 🎤 聊聊你的"AI 翻车现场"
看到这里,我特别想知道——
你写 Prompt 时最崩溃的瞬间是哪一个? 选一个最扎心的:
- A. 明明昨天还能跑,今天同样的 Prompt 输出完全变了
- B. 为了让它稳定输出 JSON,我加了五段"请不要在 JSON 外面加任何文字"
- C. 团队里每个人都有自己的"祖传 Prompt",没人愿意拿出来共享
- D. 接入 MCP / Agent 之后,反而感觉更不可控了
欢迎评论区选一个,或者补充你的"E 选项"——留言最扎心的三位,我在下一篇里会专门拆解你的场景。
## 相关链接
- [@freeman1266](https://x.com/freeman1266)
- [1.2K](https://x.com/freeman1266/status/2049434077573615678/analytics)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [6:22 PM · Apr 29, 2026](https://x.com/freeman1266/status/2049434077573615678)
- [1,206 Views](https://x.com/freeman1266/status/2049434077573615678/analytics)
- [View quotes](https://x.com/freeman1266/status/2049434077573615678/quotes)
---
*导出时间: 2026/4/29 21:08:14*