
一、引言:Skill 越多,Agent 越傻?
2026年,Skill 已成为 AI Agent 工程化最核心的抓手。一个标准的 Skill 只是一段文本(SKILL.md),放在 Claude Code、Cursor、OpenClaw、WorkBuddy 等 Agent 中即可生效[1]。随着社区生态爆发,一个 Agent 装上 50 甚至 100+ Skill 已是常态。
但一个反常识的现象随之而来:Skill 装得越多,Agent 反而越「傻」。用户问「帮我合并 PDF」,Agent 却调起了图片压缩技能;问「生成一首 AI 音乐」,Agent 却去执行了视频生成流程。这不是个例,而是几乎所有重度 Skill 用户都遇到过的痛点。
问题的本质不在于模型能力不足,而在于缺乏一套技能治理体系。当 Skill 数量从个位数增长到数十甚至上百时,传统的「把所有 Skill 描述塞进上下文让 LLM 自己选」的方案彻底失效。本文将从问题剖析出发,系统拆解 Skill Map、Skill Router、腾讯 WorkBuddy 专家模式三种解决方案,并给出构建可控 Skill 体系的最佳实践。
二、问题剖析:为什么 Skill 越多越乱?
Skill 膨胀带来的问题并非单一原因,而是多个维度的系统性失效。以下是四个核心痛点:
这四个痛点叠加,导致了「Skill 越多越乱」的现象。要解决它,需要从技能索引、智能路由、领域能力前置三个层面同时入手。
三、方案一:Skill Map —— 给技能仓库装上「目录索引」
3.1 核心思想

Skill Map 的思路最直接:不要把所有 Skill 都塞进上下文,而是先建一个轻量索引,按需加载。就像去图书馆找书,你不会把所有书都翻一遍,而是先查目录卡片,定位到具体书架再取书。
实现 Skill Map 的关键是为每个 Skill 建立结构化的元数据(Metadata),包含名称、描述、关键词、标签、优先级等字段。这些元数据体积远小于完整的 SKILL.md,可以全部放入上下文供 LLM 快速扫描,或存入本地索引供关键词检索。
3.2 SKILL.md 元数据规范
一个典型的 Skill Map 元数据定义如下:
元数据中的 keywords 字段是 Skill Map 的灵魂——它同时包含英文和中文关键词,解决了跨语言匹配问题。priority 字段则让高频技能在模糊匹配时获得加权。
3.3 skill-router(SKRT):七层匹配引擎
skill-router(简称 SKRT)是 Skill Map 理念的典型实现,用 Go 语言编写,安装后是一个独立的二进制文件[3]。它的核心是一个七层策略匹配引擎,在无 API 密钥的情况下仍能在 50 毫秒内完成检索:
七种策略并行执行,每种产生一个分数,加权融合得出总分。整个过程在本地完成,通常只需 3 毫秒。配置 AI API 后,还能在关键词匹配基础上叠加语义重排(Embedding 余弦相似度),将语义相关但关键词不匹配的技能提升到前列。
3.4 Skill Map 落地最佳实践
构建一套可用的 Skill Map 系统,推荐以下落地路径:
- 步骤一:统一元数据规范。为所有 SKILL.md 补充 Frontmatter,至少包含
name、description、keywords(中英双语)、tags、priority五个字段。用脚本批量扫描现有 Skill,自动生成元数据模板。 - 步骤二:部署 skill-router(SKRT)。下载 Go 编译的单文件二进制,配置技能扫描目录(支持 Claude Code、Cursor、自定义路径),执行
skrt index构建本地索引缓存。 - 步骤三:配置渐进式匹配。默认启用 L1-L6 关键词匹配层(零依赖、3ms 响应);有 AI API 时开启 L0 翻译层和语义重排层,处理跨语言和复杂语义。
- 步骤四:集成到 Agent 工作流。在 Agent 启动时调用
skrt search "用户意图",只将 Top-3 候选技能的完整 SKILL.md 加载进上下文,而非全量加载。 - 步骤五:持续维护。每周执行
skrt stats查看技能调用分布,删除零调用技能,为高频技能提升 priority 权重。
3.5 Skill Map 的优势与局限
| 维度 | Skill Map 方案 |
|---|---|
| 核心优势 | 本地毫秒级检索、零外部依赖(无 API 也能用)、跨语言支持 |
| 适用规模 | 数十到数百个 Skill |
| 主要局限 | 依赖关键词质量、无法理解复杂语义意图、需要手动维护元数据 |
| 最佳场景 | 个人开发者、Skill 数量中等、对延迟敏感 |
四、方案二:Skill Router —— 智能路由调度中心
4.1 核心思想

Skill Router 比 Skill Map 更进一步:不再让 LLM 在所有 Skill 中选择,而是引入一个专门的「路由决策层」。Router 本身不执行业务逻辑,只负责路由决策——解析用户意图、匹配候选技能、选择最优技能、映射参数、调度执行[4]。
这就好比公司前台:你不需要让 CEO(LLM)亲自接听每一个电话并判断该转给谁,前台(Router)根据来电内容就能精准转接到对应部门。
4.2 架构设计
Skill Router 的标准架构由五个组件构成:
关键组件说明:
- Skill Registry(技能注册表):存储所有已注册技能的元信息,支持动态扩展
- Matcher Engine(匹配引擎):支持关键词匹配、向量相似度(Sentence-BERT)、LLM 分类等多种策略
- Fallback Handler(降级处理):无匹配技能时触发默认行为,如返回「无法处理」或转人工
4.3 阿里 Skill Router:8 万 Skill 的规模化方案
当 Skill 数量膨胀到数万甚至数十万规模时,关键词匹配彻底失效。阿里达摩院发表的论文《Skill Router: Skill Routing for LLM Agents at Scale》提出了一个专门训练的 1.2B 参数小模型,专门用于 Skill 路由决策[5]。
这个小模型的核心思路是:用 RAG(检索增强生成)+ 轻量分类模型替代 LLM 直接选择。先将用户查询编码为向量,从技能向量库中检索 Top-K 候选,再用 1.2B 模型在候选集中精排。实测能在 8 万 Skill 规模下保持毫秒级响应,准确率远超将所有 Skill 塞进 LLM 上下文的方案。
4.4 Skill Router 落地最佳实践
构建企业级 Skill Router 系统,推荐以下落地路径:
- 步骤一:建立 Skill Registry 注册中心。用 Redis 或 PostgreSQL 存储所有技能的元信息(名称、描述、输入 Schema、标签、优先级),支持动态注册与注销。新增技能时调用
register_skill(func, metadata)自动入表。 - 步骤二:实现分层匹配引擎。第一层用关键词+令牌重叠快速筛选 Top-20 候选(<5ms);第二层用 Sentence-BERT 向量相似度精排 Top-5(<50ms);第三层仅在模糊场景下调用 LLM 做最终决策(<2s),三层降级确保 95% 请求在 50ms 内完成。
- 步骤三:设计参数映射器。在 SkillMetadata 中定义
input_schema(JSON Schema 格式),Router 根据用户输入自动提取并类型转换参数。对必填字段缺失的情况,主动向用户追问而非直接报错。 - 步骤四:配置 Fallback 降级策略。无匹配技能时返回友好提示 + 记录未命中日志;LLM 超时时降级为关键词匹配结果;技能执行异常时自动重试 1 次后转人工。
- 步骤五:接入可观测性。每次路由记录 Trace ID、匹配分数、执行耗时、Token 消耗。用 OpenTelemetry 上报指标,监控路由准确率(目标 >92%)、P95 延迟(目标 <800ms)、Fallback 触发率(目标 <5%)。
- 步骤六:规模化演进。当 Skill 超过 1000 个时,引入阿里 Skill Router 论文的 RAG 方案——将技能描述编码为向量存入向量库,用户查询时先检索 Top-K,再用 1.2B 小模型精排,避免 LLM 上下文爆炸。
4.5 Skill Router 的优势与局限
| 维度 | Skill Router 方案 |
|---|---|
| 核心优势 | LLM 语义理解、支持复杂意图、可扩展到数万 Skill、参数自动映射 |
| 适用规模 | 数百到数万个 Skill |
| 主要局限 | 需要 LLM 调用(延迟 380ms+)、有 API 成本、架构复杂度较高 |
| 最佳场景 | 企业级 Agent、Skill 数量大、任务意图复杂 |
五、方案三:专家模式 —— 腾讯 WorkBuddy 的解法
5.1 换个思路:领域能力前置

Skill Map 和 Skill Router 都是在「技能选择」环节做优化——假设已有大量 Skill,如何更精准地选。腾讯 WorkBuddy 提出了另一种思路:不要堆砌 Skill,而是把领域能力「前置」到生成环节[6]。
WorkBuddy 作为全场景 AI 办公工作台,提供专家中心(Expert Center),内含 100+ 领域专家并支持自定义。在对话中输入 @专家名称 即可调用特定领域专家,让任务从一开始就在更专业的轨道上展开。
5.2 @专家机制
专家机制的核心是「生成前引入领域能力」,而非「生成后再补救」。例如:
- 生成行业分析报告时调用
@TrendResearcher(趋势研究员) - 生成产品文档时调用
@SoftwareCompany(软件公司专家) - 设计 UI 时调用
@UiDesigner(UI 设计师)
专家本质上是将特定岗位角色、领域知识、行业口径封装为一个可调用的「人格预设」。它不是工具,而是一个视角——让 Agent 在生成内容前,先戴上「某领域专家」的帽子思考。
5.3 专家 vs Skill:区别在哪?
| 维度 | Skill(技能) | Expert(专家) |
|---|---|---|
| 本质 | 工具/流程(怎么做) | 角色/视角(以谁的视角做) |
| 调用方式 | Agent 自动匹配或用户手动指定 | 用户显式 @专家名 调用 |
| 作用时机 | 执行阶段(做某件事时调用对应工具) | 生成阶段(开始前就确定领域视角) |
| 解决的问题 | 「Agent 不会做某件事」 | 「Agent 做了但不够专业,需大改」 |
| 典型例子 | PDF 合并、代码生成、视频制作 | 软件公司专家、趋势研究员、UI 设计师 |
5.4 专家 + 资料库协同
专家在执行任务时可结合资料库中的领域资料。资料库原生集成 ima 知识库、乐享知识库与腾讯文档,团队可将产品文档、行业报告、竞品分析等沉淀到资料库,生成内容时直接引用[6]。
这种协同让生成的内容在专业性上有依据、在口径上更收敛。用户后续只需少量润色而非结构性重写——这是「减少大改」诉求的有效回应。
5.5 专家模式落地最佳实践
构建基于专家模式的 Skill 治理体系,推荐以下落地路径:
- 步骤一:梳理领域专家清单。盘点团队高频任务涉及的领域角色,按「岗位+行业」双维度划分。典型清单包括:软件公司专家(SoftwareCompany)、趋势研究员(TrendResearcher)、UI 设计师(UiDesigner)、财务分析师、法务顾问等,控制在 10-30 个专家角色。
- 步骤二:编写 expert.yaml 配置。每个专家用 YAML 文件定义角色预设,包含
name(专家名)、role(岗位职责)、tone(行文口径)、constraints(领域约束)、knowledge_base(关联资料库)。文件存放于用户级或项目级目录。 - 步骤三:建设领域资料库。将产品文档、行业报告、竞品分析、历史成稿沉淀到资料库(ima 知识库/腾讯文档/内部 Wiki),按专家维度分类索引。专家生成内容时自动检索引用,确保输出有依据。
- 步骤四:建立 @专家调用规范。在团队内推行「先判领域、再 @专家」的使用习惯。对高频领域(如周报、竞品分析)固化为模板专家;对低频领域按需自定义。避免对所有任务都 @专家,造成 Credits 浪费。
- 步骤五:专家+Skill 协同。专家负责「以谁视角做」(生成层),Skill 负责「怎么做」(执行层)。例如
@TrendResearcher确定研究框架后,调用「web-search」Skill 检索数据、「chart-gen」Skill 生成图表,形成「专家定调+技能执行」的协同流水线。 - 步骤六:持续沉淀团队专家。定期将团队高频使用的口径、模板、规范固化为自定义专家,通过专家市场分享给团队成员。让领域能力从个人经验变为组织资产,随业务演进迭代。
5.6 专家模式的优势与局限
| 维度 | 专家模式方案 |
|---|---|
| 核心优势 | 领域能力前置、减少成稿后大改、专家+资料库协同、支持自定义专家 |
| 适用规模 | 数十个专家角色(非数千个工具) |
| 主要局限 | 需用户显式调用(不能全自动)、专家调用消耗额外 Credits、不解决工具选择问题 |
| 最佳场景 | 办公写作、内容创作、专业度要求高的任务 |
六、三种方案对比与选型
三种方案并非互斥,而是解决不同层面的问题。以下是全方位对比:
| 维度 | Skill Map | Skill Router | 专家模式 |
|---|---|---|---|
| 解决层面 | 索引层(怎么找到) | 决策层(选哪个) | 生成层(以谁视角做) |
| 技术复杂度 | 低(二进制+配置) | 中(LLM 调用+注册表) | 低(YAML 配置) |
| 响应延迟 | 3-50ms | 380ms-5s | 与正常生成一致 |
| 外部依赖 | 无(可选 AI 增强) | LLM API | 平台内置 |
| Skill 规模 | 数十-数百 | 数百-数万 | 数十个专家 |
| 跨语言 | 支持(翻译层+CJK) | 支持(LLM 原生) | 支持(专家定义中文) |
| 用户介入 | 全自动 | 全自动 | 需 @专家 显式调用 |
| 最佳搭配 | 个人开发者 | 企业级 Agent | 办公写作场景 |
选型建议:三者并非互斥,而是可以组合使用。一个成熟的企业级 Agent 完全可以同时部署 Skill Map(快速索引)+ Skill Router(语义决策)+ 专家模式(领域能力前置),形成三层递进的技能治理体系。
七、最佳实践:构建可控的 Skill 体系
7.1 技能分层架构
避免所有 Skill 平铺,按职责分为三层:
7.2 技能治理规范
- 命名规范:用「动词+宾语」格式(如「merge-pdf」而非「pdf-tool」),描述清晰
- 避免重叠:确保每个技能有明确边界,功能交叉的技能必须合并或区分优先级
- 关键词双语:SKILL.md 的 keywords 字段同时包含中英文,解决跨语言匹配
- 优先级机制:高频技能设高优先级(数值小),模糊匹配时优先选中
- 描述示例化:在描述中包含参数示例(如「order_id 格式如 ORD123」),提升 LLM 参数提取准确率
7.3 路由策略:关键词优先 + 语义兜底
不要一上来就用 LLM 做路由——成本高、延迟大。推荐渐进式增强策略:
绝大多数请求在前两层就能解决,只有复杂语义意图才需要 LLM 介入。这种分层降级策略兼顾了速度与准确性。
7.4 持续优化:监控未命中请求
Skill 体系不是一次设计完就结束的,需要持续迭代:
- 记录未命中请求:所有 Fallback 触发的请求都记入日志,分析用户想要什么能力
- 定期清理冗余:删除长期未被调用的 Skill,保持系统精简
- 棘轮迭代:每次真实的调用错配,都转化为一条新的路由规则或关键词,让系统越用越精准
- 专家沉淀:团队高频使用的口径固化为自定义专家,让领域能力可复用
八、总结:从「技能堆砌」到「技能治理」
2026年,决定 Agent 能力上限的已不是大模型本身,而是配套的治理框架[2]。Skill 膨胀带来的调用错乱,本质上是一个工程治理问题,而非模型能力问题。
三种解决方案各有定位:
- Skill Map 解决「找不到」——用索引替代全量加载,毫秒级定位
- Skill Router 解决「选错」——用智能路由替代 LLM 直选,精准决策
- 专家模式 解决「不专业」——用领域能力前置替代事后补救,一次成稿
真正成熟的 Agent 不应该追求 Skill 数量,而应该追求技能治理的成熟度。一个只有 20 个 Skill 但治理良好的 Agent,远比一个装了 200 个 Skill 但调用错乱的 Agent 更可靠。
正如图书馆的价值不在于藏书数量,而在于目录系统的完善程度。Skill 体系的价值,也不在于 Skill 多寡,而在于你能否在毫秒级找到最合适的那一个。从「技能堆砌」走向「技能治理」,这是 2026 年 AI Agent 工程化的必经之路。
参考资料
- 保姆级教程:从零手搓一个 Agent Skill,让AI变成你的专属助手 http://m.toutiao.com/group/7663705865568010793/
- AI Agent Skills:Harness 原子原语重构高效智能体架构 http://m.toutiao.com/group/7654946494272815657/
- AI编程技能路由:用 skill-router 优化 AI 代理技能调用效率 https://blog.csdn.net/weixin_28727943/article/details/160838998
- AI Agent Skill Day 4:Skill Router 技能路由:智能分发与技能选择机制 https://blog.csdn.net/qq_qingtian/article/details/158069276
- 阿里达摩院 Skill Router 论文:Skill Routing for LLM Agents at Scale(1.2B 模型搞定 8 万 Skill 路由)
- AI 生成的内容总需要大改?WorkBuddy 专家模式提升输出质量 https://cloud.tencent.com/developer/article/2706031
- WorkBuddy 企业版上线!腾讯给出了一个「AI 组织进化」的全新答案 http://m.toutiao.com/group/7648207814787220019/