BotOf TechAI / IoT / Full-Stack / 植物养护
返回首页意图识别不再只是分类器:Agent 时代的 Intent Router 技术栈

意图识别不再只是分类器:Agent 时代的 Intent Router 技术栈

·3 分钟阅读·

过去的意图识别很像一个分类问题:用户说一句话,系统把它归到 book_flightcheck_balancerefund_order 这样的标签里。再往后接 slot filling,抽出城市、日期、金额、订单号,交给业务逻辑。

Agent 时代,这个定义不够用了。

用户不只是在表达一个 intent,而是在发起一个可能跨多轮、跨工具、跨权限的任务。系统要判断:用户到底想要信息、草稿、建议、执行、修改、删除、购买、发布,还是只是闲聊?这个任务是否在范围内?需要哪些上下文?应该调哪个工具?风险等级多高?是否要人工确认?

所以今天更准确的说法不是 intent classifier,而是 Intent Router

从 intent label 到 action policy

传统 NLU 的输出通常是:

{
  "intent": "refund_order",
  "slots": {
    "order_id": "A123"
  }
}

Agent 系统需要的输出更像这样:

{
  "user_goal": "request_refund_for_order",
  "dialogue_state": "missing_reason",
  "scope": "in_scope",
  "risk": "medium",
  "candidate_tools": ["orders.lookup", "refunds.estimate_policy"],
  "requires_confirmation": true,
  "missing_information": ["refund_reason"],
  "allowed_actions": ["read_order", "draft_refund_request"],
  "blocked_actions": ["issue_refund_without_approval"]
}

这不是语义标签,而是执行策略。它把语言理解、流程状态、权限、风险和工具选择合在一起。

技术路线一:小模型分类器仍然有价值

很多团队以为 LLM 出来以后,BERT、sentence transformer、SetFit 这类小模型分类器就过时了。实际生产里不是这样。

小模型仍然有三个优势:

  • 延迟低;
  • 成本低;
  • 输出稳定,适合高频意图初筛。

近期多篇 intent detection 研究都指向混合路线:用小模型处理明确、常见、低风险意图;对高不确定性、多轮复杂、越界检测或工具选择任务,再路由给 LLM。

这种架构比“所有请求都问大模型”更稳。

技术路线二:OOS 检测比分类准确率更关键

Out-of-scope detection 是企业对话系统里很容易被低估的问题。分类器总会给一个最像的标签,但用户请求可能根本不属于系统能力范围。

例如银行客服里,用户说:

  • “帮我把这笔钱转到一个新账户,不要短信确认。”
  • “我想知道这个客户是不是在洗钱。”
  • “把主管账号的审批邮件转发给我。”

这些请求不能只看语义相似度。它们可能和“转账”“风险咨询”“邮件查询”相似,但在权限和合规上是 OOS 或高风险。

一个可靠的 OOS 系统通常要结合:

  • softmax / margin / entropy 等分类不确定性;
  • embedding 距离和类中心距离;
  • 负样本增强;
  • LLM 复核;
  • conformal prediction 这类 prediction set 方法;
  • 业务规则和权限策略。

核心原则是:宁可把不确定请求升级,也不要让模型强行归类后执行。

技术路线三:多意图识别

真实用户很少一次只说一个干净意图。比如:

“查一下这张订单为什么没发货,如果是库存问题就帮我写一条道歉短信,顺便给客户一张优惠券。”

这里至少有四个意图:

  1. 查询订单;
  2. 判断原因;
  3. 生成短信;
  4. 申请优惠券。

传统 single-label intent classifier 会被迫选一个标签。Agent 需要 multi-label 或 hierarchical planning。

多意图识别常见做法:

  • multi-label classification:一个输入输出多个 intent;
  • sequence tagging:按子句或 span 切分意图;
  • LLM decomposition:让模型先拆任务,再逐步校验;
  • workflow graph:把意图映射成有依赖关系的步骤;
  • plan verifier:检查计划是否越权或缺少信息。

多意图不是为了让 agent 看起来更聪明,而是为了防止它跳步。上面的例子里,“给客户优惠券”可能需要人工审批,不能因为前面订单查询成功就自动执行。

技术路线四:多轮上下文和状态机

多轮对话里,意图往往不是一句话能决定的。

用户第一轮说:“帮我处理一下上次那个投诉。”

第二轮说:“客户态度挺急的,可以稍微补偿一下。”

第三轮说:“别走标准流程了,直接给他发。”

单看第三轮,模型可能理解成发送补偿。结合上下文,它其实是一个高风险流程绕过请求。

因此 intent router 需要维护 dialogue state:

  • 当前任务是什么;
  • 已收集哪些槽位;
  • 哪些信息来自用户,哪些来自系统;
  • 哪些动作已经执行;
  • 当前是否处在确认阶段;
  • 用户是否改变了目标;
  • 是否出现流程绕过或权限升级意图。

很多工业系统会把 LLM 和确定性状态机结合起来:LLM 负责把自然语言映射到 DSL 或事件,状态机负责决定下一步是否合法。这比让 LLM 自己维护所有流程更可靠。

技术路线五:工具选择就是意图识别的一部分

在 agent 系统里,意图识别和 tool calling 很难分开。用户说“帮我看看为什么今天转化率掉了”,可能需要:

  • 查询 BI 指标;
  • 拉广告投放数据;
  • 对比自然流量;
  • 检查最近发布;
  • 总结异常;
  • 生成报告。

这里 intent router 要输出的不只是 analyze_conversion_drop,还要选择工具拓扑:先查什么,再比较什么,是否需要外部网页,是否需要写入文档。

近期 tool-use benchmark 的一个共同结论是,真实用户行为里的隐式意图、跨轮变化和组合任务,是当前模型的明显难点。工具越多,意图识别越像一个规划问题。

一个生产级 Intent Router 设计

我会把生产 intent router 设计成五段流水线。

阶段输入输出技术选择
快速分类当前 utterance + 少量上下文top-k intents + confidenceencoder / SetFit / BERT / small LLM
范围检测top-k + 原文 + 用户角色in-scope / OOS / riskyuncertainty + negative examples + LLM
任务拆解多轮上下文 + 业务 schemasubgoals + dependenciesLLM structured output
策略门控subgoals + permissions + toolsallowed / confirm / blockedpolicy engine + rules
执行路由allowed actionstool plan / response / human handofftool broker + state machine

关键点是:LLM 不应该独自决定全部。它适合做语义理解、任务拆解和模糊判断,但权限、风险、合规、最终动作要由外部策略层控制。

评估指标也要升级

传统 intent classification 看 accuracy、macro F1、weighted F1。Agent intent router 还要看:

  • OOS recall:越界请求有没有被拦住;
  • risky intent precision:高风险误报是否过多;
  • tool selection accuracy:工具选对没有;
  • missing slot detection:缺信息时是否追问;
  • confirmation correctness:该确认时是否确认;
  • plan validity:拆出来的任务依赖是否合法;
  • handoff quality:升级给人时上下文是否完整;
  • latency/cost:路由本身是否太慢太贵。

如果只看 intent label F1,很可能一个模型看起来准确,实际上会在执行阶段犯错。

结论

Agent 时代的意图识别,已经从“识别用户想问什么”变成“判断系统应该如何行动”。

这就是为什么它要同时处理分类、OOS、多意图、多轮状态、工具选择、风险分级和人工确认。技术上最稳的路线,不是纯小模型,也不是纯 LLM,而是混合架构:快速分类器负责高频稳定路由,LLM 负责复杂语义和任务拆解,策略层负责边界,状态机负责流程,评估系统负责持续改进。

意图识别如果做得浅,agent 就会变成会说话的自动点击器。意图识别如果做得深,它就是企业 AI 的交通控制塔。

来源与延伸阅读