AI 技能(AI Skill)

AI 技能(AI Skill)
1. 原子概念拆解
依赖链:① → ② → ③ → ④ → ⑤ ↘ ⑥ ↗
|
# |
原子概念 |
定义 |
|---|---|---|
|
① |
大模型(LLM) |
基于海量文本训练的通用语言理解与生成系统,具有零样本推理能力 |
|
② |
系统提示词(System Prompt) |
预注入对话开头的指令文本,定义模型的角色、行为约束和知识边界 |
|
③ |
工具调用(Tool Use / Function Calling) |
模型将自然语言意图转化为结构化 API 调用的能力,实现“语言→行动”的闭环 |
|
④ |
技能(Skill) |
将领域知识 + 行为规范 + 工具编排打包为可插拔模块的机制,通过动态加载扩展 AI 的专业能力 |
|
⑤ |
代理(Agent) |
以 LLM 为决策核心,自主感知环境、规划步骤、调用工具、迭代执行的自主系统 |
|
⑥ |
技能编排(Skill Orchestration) |
多个技能按需组合、协同工作,覆盖单一技能无法完成的复杂任务 |
2. 逐个原子概念讲解
① 大模型(LLM)
定义:通过 Transformer 架构在海量文本上预训练、再通过指令微调对齐人类意图的通用语言模型。
核心能力与局限:
|
能力 |
局限 |
|---|---|
|
通用语言理解与生成 |
没有持久记忆(每次对话重置) |
|
零样本/少样本推理 |
训练截止日期后的事件不知道 |
|
角色扮演和风格模仿 |
无法直接操作外部系统(读写文件、发请求) |
|
代码生成、逻辑推理 |
容易“幻觉”——编造不存在的事实 |
数学本质:LLM 是一个条件概率分布。
P(tokent∣token1,token2,…,tokent−1;θ)
每次生成都是基于上下文的下一个 token 概率预测。模型本身没有“能力”,只有“模式匹配”——它模仿训练数据中类似情况下的回答模式。
直觉:大模型是一个读过上万亿字文本的人,记忆力惊人但没有实际动手经验。它能告诉你“怎么修水管”但没法帮你拧扳手。能力与知识之间存在执行鸿沟。
② 系统提示词(System Prompt)
定义:在用户对话开始前预注入的一段指令文本,对模型的行为施加全局约束。
形式化表达:
System Prompt = Identity(角色定义) + Knowledge(注入的知识/文档) + Constraints(行为约束/禁止事项) + Format(输出格式要求)
局限性的数学直觉:
模型总上下文窗口 = System Prompt + 对话历史 + 工具输出 + 用户输入可用空间 = 窗口大小 - System Prompt 占用 - 其他开销
当 System Prompt 过长时,会压缩模型用于实际推理和对话的空间。这产生了一个根本矛盾:
能力覆盖面↑⇔单次推理质量↓
想覆盖更多领域就要塞更多知识进 System Prompt,但塞多了反而降低每个领域的回答质量。
直觉:系统提示词像操作手册的扉页。一本手册如果把所有章节的开头都印在扉页上(“如何修水管、如何做饭、如何编程……”),扉页会变成一本厚书,反而找不到真正需要的那部分。
这就是 Skill 存在的根本原因——系统提示词无法解决“覆盖面 vs 质量”的矛盾。
③ 工具调用(Tool Use)
定义:LLM 将自然语言意图转化为结构化参数、调用外部函数并获得结果的能力。
工作流程:
用户: “今天深圳天气怎么样?” ↓LLM 推理: 需要天气数据 → 检查可用工具 → 匹配 get_weather ↓LLM 输出: { “tool”: “get_weather”, “args”: { “city”: “深圳” } } ↓系统执行: 调用天气 API → 返回 { “temp”: 28, “condition”: “晴” } ↓LLM 生成: “深圳今天 28°C,晴天。”
形式化表达:
Response = f(UserInput, Tools, SystemPrompt)其中 Tools = {tool₁, tool₂, ..., toolₙ}每个 toolᵢ = {name, description, parameters_schema}
关键约束:description决定模型能否正确匹配工具。描述不清晰会导致调错工具或漏调。
直觉:工具调用是给 LLM 装上了“手和眼睛”。模型本身只能“说”,工具让它能“做”——读文件、查数据库、发网络请求、操作浏览器。说 vs 做的区别,就是信息 vs 行动的区别。
误区:
|
误区 |
正解 |
|---|---|
|
工具越多 AI 越强 |
❌ 工具过多会降低匹配准确率(注意力稀释),需要按场景动态加载 |
|
工具调用是 AI 自己发明的 |
❌ 是人类预先定义好工具接口,AI 只负责“选择哪个、传什么参数” |
|
工具调用不需要提示词引导 |
❌ 工具的 description 就是一种提示词,决定了 AI 的匹配决策 |
④ 技能(Skill)— 核心概念
定义:将领域知识(prompt)+ 行为规范(protocol)+ 工具编排(tool usage)打包为一个可插拔模块,按需动态加载到 AI 上下文中。
本质公式:
Skill=知道什么Domain Prompt+怎么做Workflow Protocol+用什么Tool Bindings
解决的核心问题:
系统提示词的静态性Skill 动态加载按需注入、场景化能力
|
对比维度 |
纯系统提示词 |
技能机制 |
|---|---|---|
|
加载方式 |
始终全部在上下文中 |
按需加载,用完可卸载 |
|
上下文占用 |
固定开销 |
动态开销,单次只加载相关技能 |
|
能力扩展 |
改提示词需重新部署 |
新增技能文件即可,热插拔 |
|
专业深度 |
多领域平均分配 token |
单技能独占足够空间 |
|
维护方式 |
一个大文件越改越乱 |
每个技能独立维护 |
触发机制:
Match(UserInput,SkillDescription)>θ⟹Load(Skill)
用户输入与技能描述的语义相似度超过阈值 θ时,触发技能加载。这是从“所有知识都塞在系统提示词里”到“需要什么加载什么”的范式转变。
直觉:技能是 AI 能力的“App Store”。手机出厂时只有基础功能(电话、短信),通过安装 App 获得导航、支付、拍照等专业能力。同理,大模型出厂时是通用的,通过加载技能获得金融分析、代码审计、知识讲解等专业能力。
跨产品形态对照:
|
产品 |
技能的叫法 |
形态 |
|---|---|---|
|
OpenAI |
GPTs / Custom GPTs |
一个 prompt + 知识文件 + 工具的配置 |
|
LangChain |
Tools / Chains |
Python 函数封装,通过 Agent 编排调用 |
|
AutoGPT |
Plugins |
独立的功能模块,有输入输出接口 |
|
Claude |
Tool Use |
system prompt + JSON schema 定义工具 |
|
WorkBuddy |
Skill |
SKILL.md + references/ + scripts/ 的目录包 |
不同产品叫法不同,但本质相同:都是将“通用模型 + 专业约束 + 工具”封装为可复用模块。
⑤ 代理(Agent)
定义:以 LLM 为决策核心,通过感知→规划→行动→观察的循环自主完成复杂任务的系统。
核心循环(ReAct 模式):
┌─────────────────────────────────┐│ Agent Loop ││ ││ 感知(Perceive) ││ ↓ 读取输入 + 观察环境 ││ 规划(Plan) ││ ↓ 拆分子目标、选择工具 ││ 行动(Act) ││ ↓ 调用工具、生成内容 ││ 观察(Observe) ││ ↓ 获取执行结果 ││ 判断:任务完成? ││ ├─ 否 → 回到“感知” ││ └─ 是 → 输出最终结果 │└─────────────────────────────────┘
Agent 与 Skill 的关系:
Agent=LLM+能力层Skill1∪Skill2∪⋯∪Skilln+Orchestration
-
Skill 是能力模块(做什么)
-
Agent 是决策引擎(何时做什么、做什么顺序)
-
没有 Skill 的 Agent 只能“说”;有 Skill 的 Agent 能“做”
直觉:Skill 是工具箱里的扳手、螺丝刀、电钻;Agent 是决定“修水管先用扳手拧开接口,再用生料带缠绕,最后用扳手拧紧”的维修工。
⑥ 技能编排(Skill Orchestration)
定义:多个技能按任务需求动态组合、协同执行,覆盖单一技能无法完成的跨领域任务。
编排模式:
|
模式 |
描述 |
例子 |
|---|---|---|
|
顺序编排 |
Skill A 输出作为 Skill B 输入 |
金融数据检索(获取数据)→ 知识讲解(分析解读) |
|
并行编排 |
多个 Skill 同时执行,结果汇总 |
同时调用股票查询 + 宏观数据查询,合并出分析报告 |
|
条件编排 |
根据中间结果选择后续 Skill |
先用通用搜索判断问题类型,再路由到对应专业技能 |
|
循环编排 |
Skill 反复执行直到满足退出条件 |
代码生成→代码审查→修复→再审查,直到无报错 |
编排的核心挑战:
上下文窗口有限⟹不能同时加载所有技能⟹需要精确的加载/卸载策略
直觉:编排是指挥家。每个乐手(技能)只拿自己的乐谱(协议),指挥家(Agent)不演奏任何乐器,但决定谁在什么时候演奏、以什么强度演奏。
3. 串联:从原子概念回到“AI 技能是什么”
大模型(①)具有通用语言能力但缺乏专业深度和执行能力 → 系统提示词(②)可以注入知识和约束,但面临“覆盖面 vs 质量”的矛盾 → 工具调用(③)让 AI 能操作外部系统,但工具本身不携带领域知识 → 于是将“领域知识 + 工作流程 + 工具使用”打包为技能(④)→ 技能通过动态加载解决系统提示词的静态性矛盾 → 但单一技能能力有限 → 需要能自主决策的代理(⑤)来统筹多个技能 → 多技能协同通过编排(⑥)实现 → 最终形成从“通用对话”到“专业自主执行”的完整能力跃迁。
最终结论:
AI 技能是将大模型的通用能力领域化、流程化、工具化的模块化机制。
它解决的核心问题是:大模型“什么都知道一点但什么都不精,什么都能说但什么都做不了”。技能通过 动态注入(而非静态全量)专业知识和执行规范,在有限的上下文窗口内最大化特定领域的推理质量。它不是大模型本身的增强,而是一种架构层面的解法——将能力从“一个大模型承担所有”拆分为“通用模型 + N 个专业模块”的组合,每个模块按需加载、独立维护、自由扩展。
4. 延伸
-
MCP(Model Context Protocol):Anthropic 提出的标准化工具接入协议,定义 AI 与外部工具/数据源之间的通信规范,是 Skill 工具层的工业标准方向
-
技能市场/生态:社区贡献技能 → 安全审计 → 分发安装,类似 App Store 的 AI 能力分发模式
-
技能自进化:技能在使用中积累经验、自动更新知识库(如 RAG 检索结果的缓存优化),实现“越用越专业”



夜雨聆风