智能摘要
大模型意图识别的核心在于准确理解用户需求并调度对应智能体,其挑战包括意图歧义、上下文依赖、槽位抽取不准及动态扩展困难。传统方法依赖规则与映射库,虽可控但泛化差、维护成本高。当前趋势是基于大模型构建数据驱动的识别系统:通过专家标注小规模数据集,蒸馏训练生成大规模合成数据,再训练多模态意图识别模型,实现语言与图像等多类型输入的理解与分类,提升泛化与上下文处理能力,支持动态更新与低延时部署,适用于复杂场景下的智能体调度。
— 此摘要由AI生成仅供参考。
解决方案一:经典意图识别模式(适合初期)
六步法:
优点:简单、快速落地、可控性强
缺点:维护成本高、泛化能力差、上下文处理弱
🚀 解决方案二:大模型驱动(适合成长期/成熟期)
核心思路:数据驱动 + 模型蒸馏
1 万条专家标注数据
↓
注入基础大模型训练
↓
生成 200 万条合成数据(蒸馏 + 泛化)
↓
训练多模态意图识别模型
意图分类体系(F1 分数可达 90%+):
意图分类体系(F1 分数可达 90%+):
|
类别
|
说明
|
|---|---|
|
知识问答
|
金融、法律、生活技巧等查询
|
|
文本创作
|
创意写作、正式文稿、社交文案、文本优化
|
|
答题
|
选择题、判断题、代码分析
|
|
视频创作
|
生成完整视频作品
|
|
音乐创作
|
作曲、作词、编曲
|
图片理解
图像分析、拍题答疑
图片创作
文生图
翻译
语言转换
Others
未识别的兜底
---
意图识别会遇到哪些问题?
用一个例子说清楚
假设运营一个电商平台的 AI 助手系统。这个系统背后有几十个智能体(Agent),每个智能体负责不同的任务:
-
有的智能体专门生成商品图片
-
有的智能体专门擦除图片中的瑕疵
-
有的智能体专门放大图片分辨率
-
有的智能体专门生成商品描述文案
-
有的智能体专门查询订单状态
问题来了:当用户说"帮我把这张图里的水印去掉"时,系统怎么知道应该调用"擦除智能体"而不是"生成智能体"?
答案就是:意图识别。意图识别就是让系统理解用户真正想要什么,然后把任务派给正确的智能体。就像公司的前台接待,需要理解来访者的目的,然后引导到正确的部门。
电商画图场景
用户小王是某电商平台的商家,他上传了一张商品图片,然后说:
"这个图背景太乱了,帮我处理一下"
系统背后有 5 个相关的智能体:
-
背景虚化智能体 - 让背景变模糊
-
背景替换智能体 - 换成纯色背景
-
背景擦除智能体 - 直接去掉背景
-
图片裁剪智能体 - 裁剪掉背景区域
-
图片美化智能体 - 整体优化
如果意图识别错了会怎样?
-
用户想要"去掉背景",系统调用了"背景虚化" → 用户不满意
-
用户想要"换成白底",系统调用了"直接擦除" → 图片有白边,用户不满意
后果:用户体验差,投诉增加,转化率下降,意图识别也很重要;
比如,类似豆包有种分类知识问答、文本创作、答题、视频创作、音乐创作、图片理解、图片创作、翻译、闲聊、意图不明类,多种类别,如何正确的调度到合适的方式也更重要;
除此之外,产品上线也会遇到各种技术问题,典型的问题如意图歧义性、规模扩展、动态适应(更新智能体)、上下文依赖问题、延时和成本问题等多种问题;
解决方案
从解决方案上来看,有多种做法,有一些典型的做法,这里也提供一些探索方法,在业务的应用做法以及趋势;
经典的意图识别模式(以购物、日常闲聊问题为例)
第一步:需求梳理与意图清单定义(基础环节)
结合产品定位、用户场景,区分“核心意图”“次要意图”“异常意图”,优先级排序为:核心意图>次要意图>异常意图。
-
核心意图:产品核心功能对应的意图(如电商产品的“下单”“查物流”“退款”)。
-
次要意图:辅助功能对应的意图(如“修改个人信息”“咨询客服”),准确率≥90%即可。
-
异常意图:违规、辱骂、诱导、无意义内容(如“骂人话术”“诱导跳转”“无逻辑乱码”)做一些others,兜底策略;
补充:意图清单需动态更新,定期收集用户交互中的未识别意图(badcase),新增或合并相似意图等。
第二步:用户话术适配与意图映射
建立标签映射:针对每个意图,梳理用户可能的表达方式(口语化、书面化、省略式、指代式),建立“意图-话术”映射库。
第三步:槽位(适配需要参数的意图)
对于需要具体参数才能完成的意图,同步设计槽位,明确槽位类型、必填/可选属性,确保参数完整,避免用户重复操作。
-
槽位分类:核心槽位(必填,如“查天气”的“地点”“时间”)、辅助槽位(可选,如“查天气”的“穿衣建议”“空气质量”)。
-
槽位补全:当用户未提供必填槽位时,通过引导式提问补全(如用户说“查天气”,引导“请问你想查哪个城市、哪天的天气?”),避免生硬拒绝。
第四步:上下文(提升识别连贯性)
针对多轮对话场景,设计上下文关联逻辑,识别用户的省略、指代、承接话术,无需用户重复输入关键信息,提升交互流畅度。
示例:① 上轮对话:用户“帮我订机票”,下轮“去上海” → 识别为“订去上海的机票”(承接上文意图,补充槽位“目的地=上海”);② 上轮“查北京明天天气”,下轮“后天呢” → 识别为“查北京后天天气”(指代上文“北京”,补充槽位“时间=后天”)。
第五步:异常处理与兜底策略(通过附加策略引导)
针对意图模糊、异常意图的场景,设计友好的处理逻辑,避免用户困惑或流失。
-
意图模糊:当用户话术对应多个意图时,给出确认选项(如用户“帮我查一下物流”,可追问“你是想查订单物流,还是快递物流?”)。
-
异常意图:拦截违规、辱骂内容时,给出规范提示(如“抱歉,你的表述不符合规范,请更换话术”),不反馈负面回应,避免激化矛盾。
第六步:迭代优化机制
建立常态化迭代流程,确保意图识别能力持续提升,适配用户需求变化:
-
数据收集:每日收集用户交互数据、识别失败案例(badcase)、用户反馈,分类整理。
-
分析优化:每周分析badcase原因(话术未覆盖、意图定义模糊、槽位缺失、上下文关联不足),更新意图清单、话术映射库、槽位规则。
-
测试验证:优化后进行小范围测试,验证识别准确率、拦截率,达标后全量上线。
经典的方案,快速上线,能够快速解决一些问题,效率比较高,比较适合一些简单的对话、电商场景的对话等,做智能客服比较适配,适合产品初期,产品调用量较少的场景下使用;
缺点也明显:
-
维护成本高;
-
上下文处理不高效,丢数据,理解不足;
-
槽位:需单独编写正则/模板抽取槽位,对槽位变体(如“明天”“次日”“后天”)适配差,易漏抽、错抽。
-
优势:简单、快速落地、可控性强,出现问题可快速定位(如某条话术识别失败
-
劣势:泛化能力差,无法处理复杂话术,维护成本随用户量增长而大幅上升;
大量应用模式下参考
核心逻辑是,引入大模型直出,通过数据驱动模块训练专有意图识别模型(语言和多模态都融合);
整体思路如下:
-
首先构建,一个意图体系和数据映射,可以基于线上数据索引,先建设初步10000条的用户数据,进行高质量的专家标注,这个数据集 作为 核心参考“标准”数据集;
-
再次,蒸馏知识和数据泛化增大规模:通过将1万条的专家知识注入到线上基础大模型中,进行训练;然后利用这个训练的模型数据,进行无限繁华,生产200万条的合成数据;这个数据的特点是将大模型的规划、泛化,这样就类似 老师交学生的方式“蒸馏”过程;
-
如上 解决完毕后,需要考虑低延时和部署等效率,可以选择增加一个再对多模态的数据局进行基于合成的数据进行训练,从而实现与多模态也可以理解合成后的数据,这样,就可以识别和理解语言和多模态的数据,进行选择后续的智能体和MCP做好准备;
意图体系系的理解和参考需要全面、清晰、明确,而且能够覆盖核心的需求,根据对线上的理解,可以分为这么些分类:
-
知识问答类:只要用户问的金融、法律、生活技巧等都算到这个分类,特征:用户输入的qury 单个单词、短语、诗句,只要能够搜索检索和查询并具备搜索价值,都是问答类;
-
创作类:指用户请求模型生成或加工各类文本内容的意图,是内容生产的核心。二级级别如下。
-
一是「创意写作」,涉及小说、诗歌、剧本等文学艺术创作;
-
二是「正式文稿」,面向工作、学术等场景,如报告、方案、公文、合同;
-
三是「社交文案」,用于社交媒体和营销推广,如帖子、短视频脚本;
-
四是「文本优化」,对已有文本进行润色、摘要、扩写等加工。
-
-
答题:指用户提供具有明确“问题-答案”结构的题目,期望模型直接给出标准答案或详细解析。这包括选择题、判断题,也涵盖需要分析代码、文章等上下文复杂任务。
-
视频创作:指用户明确表达生成一部完整视频作品的需求。但咨询视频拍摄、剪辑等局部技术环节的讨论,应归为知识问答。
-
音乐创作:指用户明确提出生成或定制全新音乐作品的需求,例如作曲、作词或编曲。
-
图片理解:指用户通过上传或拍摄图片,希望模型对图像内容进行分析并解决相关问题。其下设一个核心的二级类别「拍题答疑」,专为教育场景设计,通过识别题目图片提供解答。
-
图片创作:指用户通过文本指令,要求模型生成一张符合描述的全新图片。
-
翻译:指用户明确请求将文本内容从一种语言转换为另一种语言
-
Others:其他没有明确的意图,没有识别出来的,也没有被归类到任何类别的放入其他意图;
按照如上设计,精确和召回的调和平均F1 (2*准确率*召回率/(准确率+召回率))在90%+,产品成长期、成熟期,用户量多、交互场景复杂,需要提升用户体验,降低维护成本、上下文处理能力、槽位提取更强;
最新智能体:openclawd的意图和调度设计,它如何驾驭技能市场的?
openclawd的核心流程
用户消息 → 上下文组装 → 系统提示构建 → 模型推理 → 工具执行调度 → 结果处理
5 个核心阶段:
-
上下文组装:加载会话历史、bootstrap 文件、可用技能列表
-
系统提示构建:注入工具列表、安全护栏、技能元数据、时区信息
-
模型推理:LLM 分析用户意图,选择匹配的工具/技能
-
工具执行调度:验证调用、检查前置条件、准备环境
-
结果处理:循环检测、响应抑制、流式输出
如何选择合适的技能、冲突如何处理?
核心机制:OpenClaw 不依赖传统意图分类器,采用 LLM-native 的隐式意图识别:
-
技能即提示:每个技能的 SKILL.md 包含 name、description、When to Use / When NOT to Use
-
系统提示注入:在每次 agent run 时,OpenClaw 将所有可用技能的元数据注入系统提示
-
模型自主选择:LLM 根据用户消息 + 技能描述,自主决定调用哪个工具。
技能加载流程:
-
加载 bundled 技能 (OpenClaw 内置)
-
加载 workspace 技能 (用户自定义)
-
加载 plugin 技能 (扩展插件)
-
合并并过滤
-
构建技能快照 (用于缓存)
技能冲突解决策略
总体思路,是根据优先级规则 (从高到低):
-
用户显式指定的技能 (配置/命令)
-
技能配置中的 禁用
-
Bundled 技能 allowlist 过滤
-
运行时资格检查
-
最后,根据技能交付给LLM 自主选择 (根据技能描述相关性)
冲突解决机制:
-
策略 1: 配置级禁用 - 通过 skills.entries 配置 ,这个配置在 openclawd.json 文件中
-
策略 2: Bundled 技能 Allowlist - 通过 skills.allowBundled 指定允许的技能
-
策略 3: 运行时资格检查 - 检查 OS、二进制文件、环境变量
-
策略 4: 技能描述差异化 - 每个技能明确定义使用/禁用场景
多技能并行调用:OpenClawd 支持单次对话调用多个技能,LLM 自动链式调用。
https://openclawskills.best/tags/
文章评论