文章

授 AI 以鱼,不如授 AI 以渔:我给 AI 创建了一个『创建技能』的技能

不是给 AI 一万个工具,而是给 AI 造工具的能力。本文详解 Meta-Skill 三层架构:感知、查阅、创造,让 AI 按需自给自足。

授 AI 以鱼,不如授 AI 以渔:我给 AI 创建了一个『创建技能』的技能
AI在学公众号

🔍 微信扫码或搜索「AI在学」关注公众号

上一篇,我教你怎么用 Skill——把重复Prompt打包成文件,让AI自动加载。

这一篇,我直接给AI写了一个 “元技能”(Meta-Skill) ——一个能教AI自己创造新技能的技能。

从此,AI不再等你投喂工具,而是按需自给自足


🤔 为什么要给AI”创建技能”的技能?

先回顾:Skill 解决了什么问题?

上一篇的核心价值:一次编写,永久复用

但你可能发现了——Skill 再好用,也得人写。就像你有一个万能工具箱,但里面的工具得自己一件一件造。

新需求来了:能不能让 AI 按需自动造工具

打个比方:工具箱的进化

想象你有一个魔法工具箱:

阶段模式特点
Level 1空箱子每次要用工具,都重新向别人借
Level 2预装工具你提前造好常用工具放进去,随拿随用
Level 3智能工具箱你说需要什么,箱子自己当场造出来

Skill 的演进同理

阶段模式特点
Level 1直接问 AI每次都要交代完整背景
Level 2预置 Skill你写好 Skill,AI 调用
Level 3Meta-Skill你给 AI 造工具的能力,它按需自创

一句话:不是给 AI 一万个工具,而是给 AI 造工具的能力

Meta-Skill 演进图


🔍 系统架构:我做了什么?

整体思路

我让 AI 具备了三层能力:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌─────────────────────────────────────────────────┐
│  第一层:感知——知道工具箱里现在有什么           │
│  (启动时扫描 skills/ 目录,生成工具清单)      │
└─────────────────────────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────┐
│  第二层:查阅——看懂说明书再使用                 │
│  (用户触发时,读取 SKILL.md 完整说明书)       │
└─────────────────────────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────┐
│  第三层:创造——没有就现造                       │
│  (用 Shell 工具创建目录、写说明书、造工具)    │
└─────────────────────────────────────────────────┘

核心组件:我只给了 AI 两个”能力”

能力一:查阅说明书(get_skill_instruction)

作用:当 AI 想用某个已有技能时,先查它的说明书

1
2
3
4
5
6
7
8
9
场景:AI 发现用户想问时间
      ↓
发现技能目录里有 "datetime-tool"
      ↓
调用 get_skill_instruction("datetime-tool")
      ↓
读取 ./skills/datetime-tool/SKILL.md
      ↓
返回:这个工具怎么用、有哪些脚本、参数是什么

为什么要先查说明书

  • 防止 AI 凭记忆瞎猜(幻觉)
  • 保证执行过程可追溯(有问题看说明书)
  • 人可以随时改说明书,不用改代码

能力二:动手造工具(run_shell)

作用:让 AI 能执行任意命令(创建文件、运行脚本等)

1
2
3
4
5
6
7
8
9
10
场景:AI 发现没有"时间工具"这个技能
      ↓
决策:需要造一个新工具
      ↓
调用 run_shell 执行:
  - mkdir -p ./skills/datetime-tool/scripts(造抽屉)
  - 写入 SKILL.md(写说明书)
  - 写入 show_time.py(造工具本体)
      ↓
新工具造好了,可以立即使用

为什么给 AI “动手”的能力

  • 没有现成工具时,能自己造
  • 造出来的工具是文件形式,永久保存
  • 人可以查看、修改 AI 造的工具

关键:两个能力如何配合?

我在系统提示词里给 AI 植入了一个决策流程

1
2
3
4
5
6
7
8
9
10
11
当用户提出需求时:

第1步:查看工具清单
   ├── 发现已有匹配工具 → 查阅说明书 → 使用
   └── 没有发现 → 进入第2步

第2步:造新工具
   ├── 创建目录
   ├── 写说明书(SKILL.md)
   ├── 写工具本体(scripts/下的脚本)
   └── 造完立即使用

关键点

  • 先查后造:避免重复造轮子
  • 即用即走:造完马上能用,不用重启
  • 规范结构:每个工具必须有说明书(SKILL.md)

🎯 实战演示:AI 如何从零造工具

场景:用户需要一个时间查询工具

用户输入

帮我构建一个查看日期、星期、时间的工具。

AI 内部决策流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Step 1: 查看工具清单
        └── 工具箱里没有 "datetime" 相关工具
        
Step 2: 决策 → 需要造一个新工具 "datetime-tool"

Step 3: 动手创造(调用 run_shell)
        ├── 造抽屉:mkdir -p skills/datetime-tool/scripts
        ├── 写说明书:
        │   SKILL.md 内容包含:
        │   - 工具名称:datetime-tool
        │   - 功能描述:获取当前日期、时间、星期
        │   - 使用方法:调用 scripts/show_time.py
        │   - 参数说明:--date, --time, --weekday
        │
        └── 造工具本体:
            show_time.py 包含:
            - 参数解析
            - 时间格式化
            - 中文输出

Step 4: 造好了,立即试用
        └── 执行:python skills/datetime-tool/scripts/show_time.py
        
Step 5: 告诉用户结果
        └── "已创建 datetime-tool 工具,当前时间是 2026-03-14 09:50,星期六"

生成的工具结构

1
2
3
4
5
6
7
8
skills/
└── datetime-tool/              # AI 自己造的抽屉
    ├── SKILL.md               # AI 自己写的说明书
    │   ├── 这是个什么工具
    │   ├── 能干什么
    │   └── 怎么用
    └── scripts/
        └── show_time.py       # AI 自己造的工具本体

注意

  • 说明书是AI 自己写的,不是我预设的
  • Python 脚本是AI 自己生成的,包含完整功能
  • 整个过程无需人工干预

复用:第二次使用

用户输入

现在是什么时间,星期几?

AI 内部决策流程

1
2
3
4
5
6
7
8
9
10
11
Step 1: 查看工具清单
        └── 发现 "datetime-tool" 工具(匹配时间查询需求)
        
Step 2: 查阅说明书(调用 get_skill_instruction)
        └── 了解:要用 show_time.py 脚本
        
Step 3: 执行工具
        └── 运行:python skills/datetime-tool/scripts/show_time.py
        
Step 4: 告诉用户结果
        └── "现在时间是 2026-03-14 09:50:42, 星期六"

对比

  • 第一次:工具箱里没有 → AI 现造一个 → 使用
  • 第二次:工具箱里有了 → AI 直接拿来用

💡 设计哲学:为什么是这三个层级?

层级一:感知(工具清单)

问题:AI 怎么知道它现在”有什么”?

方案:启动时扫描 skills/ 目录,生成一个清单(只包含名称+一句话描述)。

为什么只加载清单

  • 假设有 100 个技能,完整加载需要几万 Token(太贵)
  • 只加载清单(几百 Token),需要时再查详情

层级二:查阅(说明书)

问题:AI 怎么知道一个工具”怎么用”?

方案:强制 AI 先查说明书,再使用

为什么强制查手册

  • 避免 AI 凭幻觉瞎猜
  • 保证可追踪(出问题了看说明书)
  • 人可以随时改说明书,不用改代码

层级三:创造(动手造)

问题:AI 怎么学会”新技能”?

方案:给 AI “动手”的能力(run_shell),让它能写文件。

为什么用文件而不是内存

  • 永久保存:对话结束,工具还在
  • 可维护:人可以打开查看、修改 AI 写的代码
  • 可共享:Git 管理,团队协作

🚀 这带来了什么改变?

从”你喂 AI”到”AI 自给自足”

传统模式Meta-Skill 模式
你预知所有需求,提前造好工具你描述需求,AI 现场造工具
工具箱固定,会什么是一开始定死的工具箱动态增长,越用越强大
你是”工匠”,AI 是”帮手”你是”产品经理”,AI 是”自动工厂”

递归的妙处

1
2
3
4
5
6
Meta-Skill(我写的框架)
    │
    ├── 创造了 datetime-tool(AI 造的)
    ├── 创造了 bmi-calculator(AI 造的)
    ├── 创造了 password-generator(AI 造的)
    └── 创造了 ...(无限延伸)

我只写了一次”框架”,但这个框架能生成无限个”工具”。

这就是(Meta)的力量。


🎁 你可以这样用起来

试试对 AI 说这些话

把代码跑起来后,直接告诉 AI 你的需求:

  • “帮我做个计算器,能算 BMI 的那种”
  • “我想要个密码生成器,能选长度”
  • “帮我写个小工具,能把一堆文件批量重命名”
  • “做个记账本,我能记每天花了多少钱”

观察一下:AI 会先翻工具箱,发现没有,然后就自己动手造一个,造完立马用给你看。

用久了你会发现:你的 AI 工具箱越来越满,从空箱子变成了百宝箱——而且里面的工具全是为你量身定制的。


这就是”授 AI 以渔”的意义——

你不是在给 AI 鱼(答案), 也不是在给 AI 渔具(固定工具), 你是在教 AI 造渔具的方法

从此,AI 不再只是一次性回答你的问题,而是会不断成长,变成越用越顺手的专属助手。


📎 附录

完整代码获取

关注微信公众号「AI在学」,回复「meta-skills」获取完整代码。

推荐阅读

别再复制粘贴提示词了!AI Agent Skill 到底是什么?

本文由作者按照 CC BY 4.0 进行授权