4.4 意图路由
意图路由(Intent Routing)负责分析用户意图,将请求分流到最合适的处理模块。
4.4.1 意图分类原理
意图分类有三种主要方法:
| 方法 | 原理 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 规则匹配 | 关键词/正则匹配 | 简单快速、完全可控 | 难以处理同义词 | 意图边界清晰 |
| 语义相似度 | 向量相似度计算 | 处理同义表达 | 需要嵌入模型 | 表达多样化 |
| LLM 分类 | 大模型理解 | 最灵活准确 | 成本较高 | 复杂模糊场景 |
规则匹配示例:
规则配置:
账户查询意图:
关键词:余额、账户、存款、查询余额
转账意图:
关键词:转账、汇款、转钱、付款
贷款意图:
关键词:贷款、借款、利率、还款LLM 分类提示词:
你是一个金融领域的意图分类专家。请分析用户输入,识别其主要意图。
可选意图类别:
- account_inquiry: 账户查询(余额、交易记录)
- transfer: 转账汇款
- investment: 投资理财咨询
- complaint: 投诉反馈
- general: 一般性咨询
用户输入:{query}
请返回 JSON 格式:
{"intent": "意图类别", "confidence": 0.0-1.0}4.4.2 条件分流设计
简单的路由只需要单层分类,复杂系统可能需要多层级架构:
单层路由(意图类别少、边界清晰):
用户输入 → 路由器 → 目标处理器
├→ 账户服务处理器
├→ 转账处理器
├→ 贷款处理器
└→ 默认处理器多层级路由(复杂系统):
用户输入 → 一级路由(领域分类)
├→ 金融服务 → 二级路由
│ ├→ 账户服务
│ ├→ 贷款服务
│ └→ 投资服务
├→ 技术支持 → 二级路由
│ ├→ 账号问题
│ └→ 系统故障
└→ 通用咨询 → 默认处理器多层级路由的优点:
- 每层分类任务更简单,准确率更高
- 便于独立维护和扩展
- 可以对不同层使用不同的分类方法
条件分支路由:
除了意图,还可以根据其他条件动态选择路由:
| 条件类型 | 示例 | 路由决策 |
|---|---|---|
| 用户等级 | VIP 用户 | 优先路由到高级服务 |
| 情感倾向 | 负面情绪 | 路由到投诉处理或人工 |
| 任务复杂度 | 复杂问题 | 使用高性能模型 |
4.4.3 Skill description 触发机制
在 Opencode 中,Skill 通过 description 字段与用户意图进行语义匹配,实现自动触发。
Skill 定义示例:
---
name: financial-analysis
description: |
财务报表分析技能。当用户提到以下内容时使用:
- 财务分析、财报分析、年报解读
- 财务指标、财务比率
- 盈利能力、偿债能力、运营效率
---
# 财务分析技能
## 核心能力
- 财务报表分析(三大报表)
- 财务指标计算和解读
- 行业对比分析
## 分析框架
[具体的分析方法...]description 撰写要点:
- 关键词覆盖:列举各种可能的触发表达
- 正向说明:说明什么情况应该触发
- 反向说明:说明什么情况不应该触发
description: |
财务报表分析技能。
应该触发的情况:
- 分析公司财报、解读年报、季报
- 计算财务指标、财务比率
不应该触发的情况:
- 股票买卖建议 → 使用投资咨询技能
- 宏观经济分析 → 使用经济分析技能4.4.4 多级路由架构
复杂的金融智能体系统通常需要多级路由。以金融问答为例:
一级意图分类体系:
| 意图类别 | 描述 | 示例表达 |
|---|---|---|
| 账户服务 | 账户相关查询和操作 | 查余额、开户、销户 |
| 转账汇款 | 资金转移操作 | 转账、汇款、收款 |
| 理财投资 | 投资理财咨询 | 基金推荐、收益查询 |
| 政策解读 | 政策影响分析 | 降息影响、监管变化 |
置信度阈值处理:
| 置信度范围 | 处理策略 |
|---|---|
| >= 0.8 | 高置信度:直接路由到目标模块 |
| 0.5 - 0.8 | 中置信度:确认后执行或选择性路由 |
| < 0.5 | 低置信度:请求用户澄清 |
澄清请求示例:
我不太确定您的需求,请问您是想:
1. 查询账户信息
2. 办理转账
3. 咨询理财产品
4. 其他服务
请输入数字选择或重新描述您的问题。