乐于分享
好东西不私藏

AI 技能(AI Skill)

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(tokenttoken1,token2,,tokent1;θ)

每次生成都是基于上下文的下一个 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+能力层Skill1Skill2Skilln+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 检索结果的缓存优化),实现“越用越专业”