当系统中有几十个 Skills 时,不应该把所有 Skills 都暴露给 Agent。Skill Router 的作用就是根据用户任务,从 Registry 中筛选合适的候选 Skills,减少误调和上下文成本。

Router 的作用

Router 负责回答:

当前用户问题属于什么任务?
需要哪些类型的 Skills?
用户有没有权限?
是否涉及高风险操作?
应该给 Agent 哪几个候选 Skills?

它不一定直接执行 Skill,而是负责路由和过滤。

Router 与 Registry 的区别

Registry:管理系统有哪些 Skills。
Router:判断当前任务该使用哪些 Skills。

流程:

用户请求 → Router 分析任务 → 从 Registry 取候选 Skills → Agent 选择并调用

规则路由

最简单的方式是规则:

if "文件" in user_input:
    return ["file_reader", "summarize_document"]
if "最新" in user_input:
    return ["web_search"]

规则可控、成本低,但泛化能力弱。

意图分类路由

先把用户问题分类成任务类型:

search
file_analysis
database_query
email
code_execution
general_chat

然后根据任务类型返回对应 Skill 集合。适合中等规模系统。

向量检索路由

把 Skill 描述和用户问题向量化,通过语义相似度召回候选 Skills。

适合 Skills 很多的系统,但需要防止相似描述导致误召回。

LLM 路由

让大模型根据用户问题和 Skill 列表选择候选 Skills。优点是灵活,缺点是成本高且不够稳定。

高风险操作不建议完全依赖 LLM 路由。

混合路由

实际工程更推荐混合:

规则保护高风险 Skill
  ↓
意图分类确定任务大类
  ↓
向量检索召回候选
  ↓
LLM 在小范围内选择

这样能兼顾稳定性和灵活性。

Router 评估指标

Router 也要评估:

路由准确率
误召回率
漏召回率
候选 Skill 数量
高风险误调用率
最终任务成功率

面试中怎么回答

可以这样回答:

Skill Router 是在 Agent 调用工具前筛选候选 Skills 的模块。Registry 管理有哪些 Skills,Router 根据用户问题、上下文、任务类型、权限和风险等级,从 Registry 中选出当前最相关的一小部分 Skills。它可以用规则、意图分类、向量检索、LLM 判断或混合方式实现。这样可以减少 Agent 选择空间,降低乱调概率,也能做权限和安全控制。

小结

这篇文章的核心是:什么是 Skill Router? 不是一个孤立概念,而是 Agent 工程化中必须讲清楚、设计清楚、验证清楚的一部分。

下一篇继续讨论:Skill 如何做日志、监控和评估?。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐