一、Skill 核心定义
在 AI Agent 与 LLM 智能体体系中,Skill(技能) 是一套可复用、可控制的工作流脚本代码,作为 Agent 可调用的最小原子执行单元,其作用类比于人类掌握的各类具体技能,是 Agent 实现复杂任务的核心基础。
核心类比(便于快速理解):
-
大脑 = LLM 大模型(负责理解用户需求、决策调用何种技能)
-
Skill = 人类掌握的具体技能(如查询天气、发送邮件、撰写周报、联网搜索、数据计算等)
一个完整且规范的 Skill,通常包含以下4个核心组成部分,确保其可被 Agent 稳定调用、高效执行:
-
功能描述:清晰明确该 Skill 的核心作用,告知 Agent 何时适合调用它;
-
入参定义:明确执行该 Skill 所需的参数(如查询天气需传入“城市名称”),标注参数是否必填、格式要求;
-
执行逻辑:定义 Skill 实现功能的具体方式(如调用外部工具、执行代码片段、调用第三方 API、联动 LLM 等);
-
出参定义:规范 Skill 执行完成后返回的结果格式,确保 Agent 能快速解析、使用该结果。
二、Skill 核心优势:节省 Token
在 AI Agent 开发与使用中,Skill 最核心的价值之一的是大幅降低 LLM 的 Token 消耗,尤其在复杂任务场景中,节能效果更为显著,核心原因主要有3点:
1. 无需重复传递“执行规则”
-
不使用 Skill 时:需将任务的完整执行规则、操作步骤、格式要求、示例说明等全部写入 Prompt,让 LLM 自行推理、判断执行方式,这些冗余信息会占用大量 Token;
-
使用 Skill 时:仅需向 LLM 传递简单指令(如“遇到天气查询需求,调用 get-weather 技能”),一句话即可完成触发,极大节省 Token 消耗。
2. 执行逻辑移至模型外部
若完全依赖 LLM 完成任务,需让模型全程参与数据读取、逻辑理解、步骤计算、结果生成等全过程,Token 消耗会呈指数级增长(即“Token 爆炸”);而 Skill 的执行逻辑(代码运行、API 调用等)均在 LLM 外部独立完成,不占用模型上下文 Token,从根源上减少消耗。
3. 压缩多轮对话历史
-
不使用 Skill:多轮对话中,每一步的思考过程、工具调用记录、结果反馈,都需以自然语言形式保留在对话历史中,持续占用 Token;
-
使用 Skill:Skill 的调用指令与返回结果均为结构化内容,简洁高效,可大幅压缩对话历史长度,进一步减少 Token 占用。
直观对比(以“提取用户信息并生成JSON”为例)
| 方式 | Token 消耗 | 核心内容 |
| ---- | ---------- | -------- |
| 不使用 Skill(全靠 LLM) | 约 500 Token | 需包含完整的规则说明、字段定义、格式示例、约束条件等冗余内容 |
| 使用 Skill | 约 30 Token | 仅需简单指令:“调用 user_info_extract 技能”,无需额外冗余信息 |
三、通用 AI Agent 标准 Skill 目录结构(必遵循)
为确保 Skill 可在所有 AI Agent 平台(如 Coze、Dify、AutoGPT、自研 Agent 等)通用、正常识别和加载,Skill 目录需严格遵循以下通用规范,尤其注意命名格式与文件作用:
skill-get-weather/ # 目录名:采用短横线命名(hyphen-case),与Skill核心名称保持一致,便于识别
├── SKILL.md # 【必选】核心元数据与说明文档(全大写,大小写敏感,是平台识别Skill的唯一入口)
├── scripts/ # 【可选】可执行代码目录(推荐创建,用于规范存放Skill的执行逻辑代码,提升可维护性)
│ └── main.py # 技能执行入口(固定命名,存放Skill的核心执行逻辑,供Agent调用)