意图识别怎么做?三层漏斗架构的工程取舍
意图识别不能全丢给大模型——面试这么答,基本就掉到「只会调 API」那一档了。
- 三大问题:全丢大模型 → 延迟 500ms-3s / 成本 / 稳定性全面崩盘。
- 规则层:35% 高频走关键词 / 正则 / 状态机,规则数量严控。
- 上下文层:55% 走小模型或语义匹配,难点是 DST。
- 工具层:仅 10% 复杂请求兜底走 LLM,必须配超时降级。
- 核心思想:能用规则解决的不走模型,能用小模型解决的不走大模型。
- 面试模板:先点三大问题 → 再讲三层漏斗 → 最后落观点。
- 关键数字:90% 请求前两层解决掉,根本不需要惊动大模型。
面试官真正想听什么
面试官问"意图识别怎么做",期待的不是你背 NLU、BERT、Intent Classification 这些术语,而是看你 有没有工程取舍意识。
张嘴就说"全丢给大模型让它们去判断",问题不在于大模型不行,而在于把所有请求都丢给大模型,等于把生产系统的命门交给一个不可控的外部服务。
现实里会有三个雷:
- 延迟:大模型响应一次普遍 500ms-3s,用户问查物流等两秒才有反应,体验直接崩。
- 成本:每次调用都要花钱,请求量一上来账单飞涨,老板看了血压也跟着涨。
- 稳定性:模型幻觉、接口超 时、服务限流,任何一个发生核心业务都可能瘫痪。
这三个问题在 demo 阶段全看不出来——本地跑通了一切都好,上生产被流量一冲全是雷。
三层漏斗架构
答案是 三层漏斗分层路由,从上到下分别是规则层、上下文层、工具层。
| 层级 | 技术手段 | 流量占比 | 响应时间 | 核心价值 |
|---|---|---|---|---|
| 规则层 | 关键词、正则、有限状态机 | 35% | < 5ms | 拼速度 |
| 上下文层 | 微调小模型(DistilBERT)/ 语义向量 | 55% | 50-200ms | 拼平衡 |
| 工具层 | LLM + function calling | 10% | 500ms-3s | 拼理解力 |
核心思想就一句话:能用规则解决的不走模型,能用小模型解决的不走大模型。
第一层:规则层
技术手段最朴素——关键词匹配、正则表达式、有限状态机。听起来没什么技术含量,但有一个其他方案都比不了的优势:响应速度 < 5ms。
它处理的是意图特别明确、表达基本固定的场景。比如用户说「查物流」「退换货」「我要投诉」,话术翻来变去就那么几十种,几十条规则就能覆盖住高频流量。
但这里有个 关键原则:只保留高频、明确、不变的意图。什么都往里塞,规则越写越多,最后变成一个谁都不敢碰的规则屎山——维护成本会比想象中爆炸得快。
第二层:上下文层
这一层承接 55% 的日常请求,是流量主力。技术选型通常两条路:
- 微调小模型:比如 DistilBERT、BERT-tiny 这类几十 MB 的模型,针对自己的意图分类数据微调一遍
- 语义向量匹配:用 Embedding 模型把用户输入和标准意图模板都映射到向量空间,做相似度检索
这一层真正的难点不在选什么模型,而在 DST(Dialogue State Tracking)——对话状态追踪。
用户说一句「那个呢」「然后呢」——没有任何明确的意图词,你怎么知道他在说什么?必须维护一个结构化的对话状态:当前在哪个意图里、已经填了哪些槽位、上文提到了哪些实体。这样用户说省略句的时候你才接得住。
规则层能拼速度,这一层拼的是 速度与灵活性的平衡。
第三层:工具层
剩下的 10%——意图模糊、多个意图混在一起、包含隐含意图的请求——才交给大模型。
典型场景:用户说「我上次买的那个不太行,你帮我看看怎么弄」。这句话里隐含了 售后意图,需要查订单 + 退换货判断。规则层和上下文层都搞不定,这才轮到 LLM + function calling 直接把意图 识别和工具执行打通。
两个机制必须配:
- 超时降级:大模型半天不回来,得有兜底响应("我理解您的问题,请稍等"或转人工)
- 置信度校验:模型输出的意图置信度太低,直接转人工,不要硬猜
少了这两个机制,等于把所有风险都甩给一个可能 5 秒后才返回 500 错误的外部服务。
工程取舍的三条原则
回到面试题,面试官真正想看的是你的 工程取舍能力,不是「我知道 Intent Recognition 这个术语」。
这套架构解决了三个问题:
- 分层路由:每层只做自己最擅长的事。规则层拼速度,上下文层拼平衡,大模型层拼理解力。互不越界。
- 成本优先:越靠前的层成本越低。90% 的请求在前两层就解决掉,根本不需要惊动大模型。
- 兜底保障:那 10% 复杂场景依然有最终防线,用户不会觉得这个系统很笨。
所以面试时正确的回 答方式:先点出全丢大模型的三大问题,再说三层漏斗架构的设计思想,最后落到——
工程取舍的本质是让大多数请求在成本最低的那一层被解决。
这才是亮观点的地方,也是这套架构真正的价值。
References
- 面试官问:意图识别怎么做? —— AI大模型面试实战, Bilibili