1.为什么智能体 必须拥有“技能系统”?
随着智能体能力增强,业务越来越复杂,Prompt 写死逻辑已经无法满足可维护性、扩展性、复用性需求。
你会遇到这些痛点:
- 不同场景重复写相似 Prompt
- 每个场景都需要新的工作流
- 智能体行为难以复用、难升级
- 能力耦合在一个大 Prompt中,不可维护
- 新需求要推倒重建
解决方案就是: 将智能体的能力抽象为“可插拔技能(Skills)”,像乐高积木一样组合。
Skill System 是 Agent 架构的关键。
2. 什么是 Skill?
Skill = 一段可复用的、独立封装的“行为能力”。
一个 Skill 必须包含:
| 组件 | 解释 |
|---|---|
| Skill 定义(skill manifest) | 作用、输入、输出 |
| 触发条件(trigger condition) | 什么时候该被调用 |
| Prompt 模块(prompt template) | 技能内部的推理逻辑 |
| 函数或工具(可选) | 是否需要 API、计算、检索 |
| 返回 schema | 输出必须结构化,否则无法组合 |
Skill 是行为模块化,不是代码模块化。
3. Skill 的三种类型
① 纯语言技能(Language Skill)——最常见
比如:
- 观点分析
- 文本润色
- 任务拆解
- 内容生成
- 样式转换(正式 → 口语)
这类 Skill 完全基于 Prompt。
② 工具型技能(Tool-enabled Skill)
依赖外部工具:
- 搜索(SearchSkill)
- 数据库查询(DBSkill)
- PDF 生成(PDFSkill)
- 图表绘制(ChartSkill)
Skill 内部要定义工具调用顺序。
③ 工作流级技能(Workflow Skill)
多个步骤组合成一个大 Skill,比如:
- “写一篇文章”
- “生成 PPT”
- “制作视频脚本”
- “从模糊需求到可执行计划”
本质上是“技能树(skill tree)”。
4. Skill 需要满足的七条设计原则
① 单一能力原则(Single Responsibility)
一个 Skill 只能做一件事。
② 清晰输入输出(明确 schema)
Skill 不是黑箱。
必须有:
{
"input_schema": {...},
"output_schema": {...}
}
③ 可组合性(Composable)
所有 Skill 可像积木一样组合:
Skill A 输出 → Skill B 输入
④ 可解释性(Explainability)
Skill 内部要能 log 出推理链路。
⑤ 可替换性(Pluggable)
可以动态替换:
- 不同模型
- 不同工具
- 不同 Prompt 版本
⑥ 可升级版本(Versioning)
Skill 必须有版本号:
v1.0 → v1.1 → v2.0
⑦ 可调度性(Invocable by Agent)
智能体能根据任务自动判断:
- 调用哪个 Skill?
- 顺序是什么?
- 是否需要回滚?
5. Skill 的标准结构
下面是一个标准 Skill Manifest:
name: SummarizeSkill
version: 1.0.0
description: 提供针对任意文本的结构化总结能力
input_schema:
type: object
properties:
text:
type: string
output_schema:
type: object
properties:
summary:
type: string
keywords:
type: array
trigger:
detect_by:
- "帮我总结"
- "概括一下"
confidence_threshold: 0.5
type: language_skill
prompt_template: |
你是总结助手,请用结构化方式总结以下文本:
{{text}}
-
如何让智能体使用 Skill?
智能体必须有一个 “Skill Selector(技能选择器)”。
流程:
用户输入 → 意图识别 → 匹配技能 → 调用技能 → 返回结果
Selector 的实现有三类:
① 关键词匹配(最轻量)
用类似 router 的方式匹配触发句。
② embedding + 最近邻搜索(最常用)
用户需求向量化
Skill 描述向量化
做向量召回
取 top-1/top-3
③ 大模型推理(最精准)
让 LLM 决定调用哪个 Skill:
用户需求是什么?
应该使用哪个 Skill?
为什么?
-
Skill 调度流程
下面是 Skill 调用流程图:
┌────────────────────┐
│ User Input │
└───────────┬────────┘
▼
┌────────────────────┐
│ Intent Recognition │
└───────────┬────────┘
▼
┌────────────────────┐
│ Skill Selector │
└───────────┬────────┘
▼
┌────────────────────┐
│ Skill Execution │
│ - prompt │
│ - tool │
│ - workflow │
└───────────┬────────┘
▼
┌────────────────────┐
│ Response Builder │
└────────────────────┘
Skill System = 可插拔、可组合、可调度、可扩展的 Agent 能力体系。
8. Skill 示例
(1)任务拆解技能:TaskDecomposeSkill
输入:
{
"task": "帮我写一个 AI 周报"
}
输出:
{
"steps": [
{"step": "信息搜集"},
{"step": "内容总结"},
{"step": "结构设计"},
{"step": "文案生成"}
]
}
(2)搜索技能:SearchSkill(Tool-enabled)
定义:
type: tool_skill
tool: bing_search
prompt: |
将用户需求转为搜索关键词:{{query}}
(3)文章生成技能:ArticleSkill(workflow skill)
内部自动拆分流程:
- 获取需求 →
- 生成结构 →
- 填充内容 →
- 校对 →
- 输出最终文章
9. Skill System + Workflow + Memory → 智能体完整架构
一个成熟智能体必须包含:
| 模块 | 作用 |
|---|---|
| Persona System | 角色/风格 |
| Memory System | 用户长期记忆 |
| Tooling System | 调用外部工具 |
| Skill System | 行为模块化 |
| Workflow Engine | 任务级执行 |
| State Machine | 行为状态控制 |
Skill System 是承上启下的关键核心层。