基于LLM的AI客服选车助手
智能客服这个领域,这几年发展得很快,但很多用户其实都遇到过“鸡同鸭讲”的尴尬。你问一句“有优惠券吗?”,它还在那自顾自地推荐车型,你说气不气人。今天,咱们就来聊聊货拉拉是怎么用大模型,把选车助手这个看似简单的场景做出花的。
背景介绍
先快速过一遍基础知识。客服咨询场景,无非就是两种:一种是FAQ,用户问、系统答;另一种是任务型,需要一步步引导用户完成操作,比如取消订单、开发片。AI客服,说白了就是用人工智能技术来干这件事,核心目标是两样——
提高效率和质量,同时降低运营成本
选车助手概况
为了更准确地给您推荐合适的车型,请您配合我回答几个问题即可~ 请问您的货物重量是多少呢?您可以选择以下接近的选项或者是输入“0.5吨”“1吨”等
(此处包含货物重量选项列表)
只剩2个问题喽~请您根据货物长度选择以下选项?或者是手动输入如“4米”。如果货物比较多,只要说其中最长的那件(例如床的长度为2米)。温馨提示:这里的长度是物品平放在车厢内从头到脚的长度,不能倒放的物品比如冰箱是不能把它的高度算成长度哦~
(此处包含货物长度选项列表)
最后一个问题啦不要走开!请选择以下要运输的物品类型,如果都不是,可以输入“水果”“装修建材”等
(此处包含物品类型选项列表)
(以下是用户与助手的真实对话案例,展示了助手无法理解用户问题的糟糕体验)
可以看到,这里暴露的问题非常典型:
1. 只能收集预设的几个类别,货物信息不准确,推荐自然不准。
2. 全靠点选,交互僵硬,没法处理“一个桌子,一台七十寸电视”这种复杂表达。
3. 回复又长又啰嗦,一点不像人在说话。
4. 一旦用户跳出主流程问点别的,机器人就彻底“宕机”,体验极差。
技术背景
其实,市面上主流的商业方案,路子都比较“保守”——
重可控,轻灵活
但过去一年,大模型这东西确实在翻天覆地地变,基于它的智能体展现了很大潜力。巧的是,货拉拉内部也
自研
系统框架
整套选车助手服务的系统架构,从上到下分四层:
- :Web、App、小程序,用户从哪进来都行。
交互层
- :IM后台、WebSocket网关,负责通道。
应用层
- :DM对话机器人系统,负责会话管理。
逻辑层
- :核心大脑,Multi-Agent框架加上内部机器学习平台(海豚平台)来管理模型。
算法层
图1 客服选车助手系统框架图
算法方案
分析线上数据后,发现用户行为是完全不受控的。他不会乖乖按流程走,问着问着突然就来一句:“有优惠券吗?”(FAQ),或者“今天天气咋样?”(闲聊)。怎么既能推进动流程,又不生硬地把话拉回来,是个难点。另外,货物五花八门,用户描述的方式也是千奇百怪,理解起来非常困难。
我们结合大模型来破局,看中的就是它的三大核心能力:
强大的理解能力
智能的生成能力
跨语言能力
LLM-based多智能体系统
为了让大模型Agent干活的同时又保证
可控
容易落地
图2 LLM-based多智能体系统图
单一智能体扛不住复杂任务,所以拆成了两个:
NLG Agent
NLU Agent
NLG Agent
收到用户问题后,它先思考这是个什么问题类型,然后决定怎么干。示例见图3。它还会和Memory、Tools以及NLU Agent打交道。
图3 NLG Agent示例
Memory
图4 Memory模块图
Memory里存着三类先验知识:
- :用户说运“电动车”,系统自动补全尺寸重量,不用再问细节。
通用知识库
- :用户问“客服电话”,直接给出正确回复。
FAQs
- :对话历史,让Agent记得上一轮说了啥,更好配合。
长短记忆
Tools
图5 Tools模块图
Tools负责和外部系统对接,包含:
- :根据NLU Agent收集的信息,给出准确推荐。
车型推荐接口
- :安全红线,必须有。
敏感词过滤接口
- :指导对话节奏,防止在闲聊上浪费时间。
业务SOP
- :综合所有信息,决定下一步是回FAQ还是继续问货物信息。
流程引导
NLU Agent
这可以说是最关键的环节。选车助手的核心任务就是根据货物信息推荐车型,但用户的表达实在太丰富了——
- “我要拉一个箱子,长1米”(只有部分信息)
- “我要拉20个1m*1m*1m的箱子”(多个相同物品)
- “我要拉1.8m的床和冰箱”(多个不同物品)
- “长1.8m,重量不清楚”(信息模糊)
怎么把信息从这些表达里精准捞出来,是难点,也是重点。传统的NER方法,又要标注样本,又要训练,周期长不说,遇到实体嵌套还特别容易翻车。
我们试了自研的货运大模型,初始基线在内部测试集上只有50%准确率。经过一轮prompt调优,最好也只能到60%。分析bad case发现,模型对“不清楚多重”、“外机700×400×500”这类表述特别头疼。于是,我们引入了RAG(检索增强生成)技术。
图6 RAG基本流程图
召回这块用了多路召回:
- :找语义相似的问法,比如“1.5长 70cm高 74宽”,系统能根据常识补全成“长1.5米,宽74厘米,高70厘米”。
向量召回
- :根据“电视”、“冰箱”这类具体名称,去匹配同类货物的典型信息,比如“60寸的液晶电视”。
货物名称召回
通过多路召回RAG,准确率直接提到了80%。
另外,在第n轮对话时,把前一轮(n-1轮)收集到的信息作为上下文输入,对效果提升很大。再配合一些硬编码规则处理固定句式,最终内部测试集上的货物信息识别准确率稳定在了
90%
表1 迭代效果对比展示
效果展示
示例1
(以下是新系统的真实对话案例)
用户问优惠券,助手不光回答了,完了还能自己把话题拉回主流程(“请问桌子的长度、重量?”)。用户说重量错了,助手能准确理解上下文,直接更新推荐车型(从小面换成中面)。
效果分析:
- 流程引导:回答问题后,主动回到主线。
- 拟人化回复:更简洁、更像人。
- 上下文理解:用户更正信息后,推荐实时更新。
示例2
(另一个真实对话案例)
用户说“一个桌子,一个七十寸的电视机”,助手直接问桌子的信息,对七十寸电视的尺寸和重量了然于胸(具备常识)。用户说“重量不清楚”,模型也能自动推理出桌子的大致重量,不必再追问。
效果分析:
- 多物品信息理解:能处理“一个桌子,一个电视”这种复杂输入。
- 具备常识:七十寸电视不用再问重量,桌子不知道重量也能自动推断。
总结展望
这就是大模型在货拉拉业务里的一次务实落地。面对具体业务场景中的实际挑战,我们没有盲目追求花哨的技术,而是结合自研货运大模型,用多智能体的架构,稳扎稳打地实现了具备“人情味”和“懂业务”的AI客服选车助手。未来,我们会继续优化迭代,把这些能力推广到更多客服场景中去。