一个基本的意图识别该包含哪些内容

设计智能体(Agent)的意图识别(Intent Recognition)系统,是构建整个Agent大脑的核心环节。优秀的意图识别不仅需要准确理解用户的字面意思,还要结合上下文、用户画像以及业务场景。

在目前大模型(LLM)时代,意图识别的设计范式已经从传统的"纯分类模型(如BERT+规则)"演进到了"语义路由(Semantic Routing)+ 工具调用(Function Calling)"的混合架构。

一、 意图体系设计(Taxonomy Design)

在写代码或调模型之前,首先要定义好Agent"能听懂什么"。

  1. 分层设计 :通常采用 领域 (Domain) -> 意图 (Intent) -> 槽位 (Slot/Parameters) 的三级结构。
    • 例如旅游 (Domain) -> 预订机票 (Intent) -> 出发地、目的地、时间 (Slots)
  2. 定义边界(OOD与兜底) :除了业务意图,必须设计闲聊意图 (Chit-chat)未知意图 (Out-of-Domain, OOD)。当用户输入超出Agent能力范围时,系统应能准确识别为OOD并优雅地拒绝或引导。
  3. 颗粒度控制:意图不要过细也不要过粗。过粗会导致后续业务逻辑复杂,过细会导致模型分类容易混淆。

二、 技术架构选择(Modern Agent Workflow)

现代Agent通常不依赖单一技术,而是采用**漏斗式/多级路由(Multi-tier Routing)**架构,以平衡准确率、成本和响应延迟:

第一级:规则与缓存层(Rule & Cache)
  • 做法:使用正则表达式、确切的关键词匹配,或者基于Redis的精确语义缓存(Exact Match Cache)。
  • 场景:处理超高频、极简单的指令(如:"退出"、"查余额"、"人工服务")。
  • 优点:0延迟,极低成本,100%准确。
第二级:语义路由层(Semantic Router / 小模型)
  • 做法:将用户的Query转化为向量(Embedding),并在向量数据库中与预设的"标准意图语料库"进行相似度匹配(Cosine Similarity)。也可以训练一个轻量级的意图分类模型(如FastText、RoBERTa)。
  • 场景:处理常规的、表达清晰的单轮业务意图。
  • 优点:响应快(几十毫秒),成本低,能够拦截80%的标准业务请求。
  • 开源库推荐semantic-router
第三级:大模型分析层(LLM Function Calling / Prompting)
  • 做法 :如果前两级没有以高置信度命中,则将Query连同上下文交给大语言模型。利用大模型的 Function Calling(工具调用) 能力。
    • 将所有意图定义为一个或多个Function的描述(包含意图说明和所需参数)。
    • LLM会根据Query自动判断应该触发哪个Function,并顺便把参数(槽位)提取出来。
  • 场景:处理长尾Query、复杂的长难句、多意图混合语句、隐式意图(如用户说"我有点冷",LLM识别意图为"调高空调温度")。
  • 优点:泛化能力极强,零样本或少样本即可工作。

三、 意图参数提取(槽位填充 Slot Filling)

意图识别往往伴随着参数提取。Agent识别出用户的意图是"订机票"后,还必须知道"从哪到哪"。

  • 传统方法:使用NER(命名实体识别)模型。
  • Agent时代方法 :通过 LLM 的 JSON ModeFunction Calling 强约束输出格式。
  • 追问机制(Clarification):如果关键槽位缺失(如识别了订机票,但没有时间),Agent的意图管理模块应当自动挂起当前任务,向用户发起"反问(Prompting for clarification)",直到关键参数收集完毕。

四、 多轮上下文管理(Context & State Management)

真实用户的意图往往是在多轮对话中逐渐清晰的。

  1. 指代消解(Coreference Resolution):用户说"帮我查一下去北京的机票",Agent回复后,用户又说"那高铁呢?"。此时系统必须结合历史记录,将当前意图还原为"查询去北京的高铁"。
  2. LLM多轮理解 :可以直接将最近的 K 轮对话历史拼接(如 System Prompt + History + User Query),让LLM在多轮语境下判断当前最新意图。
  3. 状态机(State Machine):在复杂业务中(如办理银行业务),可以引入状态机,用户所处的当前节点会极大地改变他同一句话的意图权重。

五、 处理模糊与拒识(Ambiguity & Fallback Handling)

  1. 置信度阈值:如果使用向量检索或小模型,设定置信度阈值(如0.8)。低于该阈值的交给LLM处理,LLM也无法确定的则触发拒识。
  2. 多意图冲突:如果用户一句话包含多个意图(如"帮我查一下余额,顺便充100块钱话费"),Agent需要有拆解意图的能力,通常可以通过让LLM输出List形式的意图数组来实现。
  3. 主动澄清:当系统判断两个意图的概率非常接近时(如51%和49%),不应盲目执行,而应设计话术让用户做单选题:"您是想查询 A,还是想办理 B?"

六、 系统设计架构图示例

一个现代Agent意图识别系统的请求流转过程如下:

text 复制代码
User Input
   │
   ▼[ 安全审核 / 敏感词过滤 ] ──(违规)──> 拦截
   │
   ▼[ 规则与精准缓存命中 ] ──(命中)──> 提取参数,直接执行
   │
   ▼
[ 语义路由 (Embedding检索) ] ──(相似度>0.85)──> 命中预设意图,提取参数 -> 执行
   │
   ▼ (相似度低于阈值,或者属于复杂逻辑)
[ LLM 意图解析 (Function Calling) ]
   ├──(命中工具库)──> 提取 JSON 参数 -> 校验参数是否完整 -> 执行或追问
   └──(未命中工具库)──> 归类为闲聊或OOD -> [ 闲聊模块 ] 或 [ 兜底话术 ]

七、 评估与持续迭代(Evaluation & MLOps)

  1. 构建评测集:沉淀真实的线上用户语料,人工标注其真实意图,构建成 Golden Dataset。
  2. 评估指标 :使用 Accuracy、Precision、Recall、F1-Score。对于Agent,尤为重要的是OOD的拦截率(避免AI幻觉胡乱执行工具)。
  3. 数据飞轮:将线上识别置信度低、或者用户随后立刻取消操作(说明识别错误)的Case捞出来,通过微调(Fine-tuning)小模型或补充到语义路由的向量库中,实现系统的持续变聪明。
相关推荐
南宫乘风1 小时前
LLaMA-Factory 给 Qwen1.5 做 LoRA 微调 实战
人工智能·深度学习·llama
CoderJia程序员甲1 小时前
GitHub 热榜项目 - 日榜(2026-03-20)
人工智能·ai·大模型·github·ai教程
芯跳加速1 小时前
AI 视频自动化学习日记 · 第三天
人工智能·学习·ai·自动化·音视频
AI英德西牛仔1 小时前
豆包公式格式
人工智能·ai·deepseek·ds随心转
benben0442 小时前
Triton编程技术背诵核心概念
人工智能
前端摸鱼匠2 小时前
面试题4:多头注意力(MHA)相比单头注意力的优势是什么?Head数如何影响模型?
人工智能·ai·面试·职场和发展·求职招聘
yhdata2 小时前
车载图像处理芯片发展按下“快进键”:至2032年市场规模将逼近27.29亿元,产业动能强劲
图像处理·人工智能
NOCSAH2 小时前
统好AI数智平台CRM:智能驱动客户管理新体验
人工智能·数智化一体平台·统好ai
视***间2 小时前
2026:AI算力元年的加冕与思辨
人工智能·microsoft·机器人·边缘计算·智能硬件·视程空间