如果让你做一个基于大模型的“智能客服”,你会怎么做?核心难点在哪?

首先理清头绪,三个问题:用户是谁?他们要解决什么问题?我手里有什么资源?
第一步,分析并理清分层逻辑。用户进来第一句话,我得先判断这人是来干嘛的。是来骂人的?是来问路的?还是来调戏机器人的?我会用一个轻量级的分类模型(比如BERT微调)快速识别意图。如果是骂人、涉政、或者明显想搞事情,直接转人工或者礼貌结束对话。别让模型跟用户对骂,那是灾难。
第二步,高频回答。大多数用户问的都是重复问题:退货政策、物流查询、改地址。这一层我用RAG,把知识库里的标准答案检索出来生成回复。要求是快、准、稳,温度设到0.1,不要有任何创造性,照着文档念就行。
第三步,多轮任务。如果用户说“我要退货”,这就不是一问一答能解决的了。需要进入一个状态机:先问订单号,再查订单状态,确认是否在退货期内,然后生成退货地址,最后通知仓库。这一层我会上Agent,让它调用后端的API,每一步都向用户确认,走完整个流程。
第四步,转人工。这是最重要的安全网。当模型连续两次不确定、用户情绪检测为负面、或者用户明确说“我要找人工”时,必须无缝转接,并且把对话摘要一起带过去,让人工客服不用重复问一遍。
难点一,多轮对话的“失忆症”
用户:我的订单怎么还没到?
客服:请问您的订单号是多少?
用户:123456
客服:好的,查询到您的订单已发货,预计明天到达。
用户:那它多少钱?
这个“它”指的是什么?是订单总价?还是运费?还是某个商品的价格?模型如果忘了上文,就会乱猜。我们尝试了两种方法:一是显式维护上下文状态,把每轮的关键实体(订单号、商品名、价格)抽出来存着;二是在查询改写时,把“它”替换成上一轮提到的实体。但有个坑:如果上一轮提到了多个实体,改哪个?这时候需要模型判断指代的是什么。多轮对话做到最后,你会发现它其实是半个“推理问题”。
难点二,情绪的“温度计”
用户明显已经生气了,但模型还在机械地回复“请问还有什么可以帮您”。用户直接炸了,发了一长串感叹号。加了一个情绪识别模块,实时分析用户输入的情感分数。一旦低于某个阈值(比如负面情绪强烈),立刻触发两个动作:第一,回复语气变得特别客气(“非常抱歉给您带来不便…”);第二,如果用户持续负面,直接转人工。客服的第一原则不是解决问题,而是安抚情绪。 情绪没稳住,问题解决了用户也不满意。

不能指望一个模型解决所有问题。要设计的是一个系统,让模型、规则、API、人工各司其职。用户不会因为是AI就降低要求,他们只在乎“我的问题解决了吗”、“我等了多久”、“你态度好不好”。
#面试官最爱问的 AI 问题是......#
全部评论

相关推荐

祝大家都能拿到满意的Offer!1. 项目拷打2. 详细阐述Transformer的底层原理,并说明其能够替代RNN的核心优势;结合Transformer架构的成熟度,分析Self-Attention机制在多模态对齐任务中是否存在瓶颈,以及在实际业务场景中,是否出现过注意力权重完全偏移的情况。3. 讲解LoRA的技术原理,说明LoRA是否仅能嵌入Linear层;分析LoRA无法在LayerNorm层之后插入的原因,以及该操作会对模型训练稳定性产生哪些具体影响。4. 结合实操经验,说明QLoRA降低训练资源成本的核心逻辑;列举常见的模型量化方式,并解释QLoRA选择NF4与FP16组合而非其他方案的原因,阐述NF4的分布拟合逻辑。5. 针对采用multi-query attention优化后,decoder延迟仍居高不下的问题,分析潜在性能瓶颈;探讨vLLM自带的KV Cache是否会成为推理过程中的负担。6. 分别说明Embedding模型与Rerank模型处理文本语料的核心流程,并结合实际应用场景举例说明。7. 结合过往RAG项目经验,讲解从数据清洗到检索服务上线的完整链路搭建流程,重点说明chunk切分的具体策略。8. 分析当前RAG技术落地的最大瓶颈,并阐述你在项目中采取过哪些优化手段来提升检索召回率(Recall)。9. 针对XX领域大模型的训练工作,说明SFT(监督微调)数据集的构造方法与核心思路。10. 结合LoRA微调实操经历,说明rank值的选择依据;在合并adapter权重的过程中,是否遇到过梯度爆炸问题,以及对应的解决方法。11. 结合你的模型部署相关经验,说明模型参数量与硬件算力需求之间的对应关系(例如不同参数量级模型所需的算力配置标准);以部署一个稀疏率千分之三的235B参数量MOE架构模型为例,估算其所需的算力规模。12. 在搭建RAG知识库时,若需对文档进行动态更新,你采用的是全量嵌入还是增量处理方案?若为增量处理,如何规避新旧文档数据分布不一致导致的检索偏差问题。13. 针对机械臂动作态融合相关工作,说明数据融合的具体实现方案,以及对比实验的设计思路与评估指标。
查看12道真题和解析
点赞 评论 收藏
分享
被横向挂了,希望发出来对大家有帮助!1* 简单概述你简历中的两个项目,包括项目背景以及你的具体分工,是独立完成还是团队协作2* 项目的数据来源是什么?你是如何确定优化目标的?3* 比如数据从 100 条扩充到 1.2 万条,是否全通过自动化生成?生成的样本具体是什么样的?举个例子说明一下生成前后的对比4* 怎么保证自动化生成数据的正确性呢5* 在通过调整参数直到模型回答正确为止的过程中,是否意味着生成的CoT中存在错误逻辑?6* 经过数据清洗后,最终用于SFT的有效数据量是多少?7* 在做微调时,除了 LoRA 是否对比过其他的微调算法8* 你是如何评价微调效果的?测试集的比例是多少?微调前后的准确率分别是多少?原有的模型性能保留了多少?9* LLM常用的结构是什么?10* 说一下Transformer 的整体结构11* 目前主流大模型最常用的位置编码是什么?。12* 写一下多头注意力机制的数学公式。13* 公式中为什么要除以 \sqrt{d_k}?其对梯度消失或梯度爆炸有什么影响?14* 在 Transformer 的 Encoder 和 Decoder 中,哪些部分是可以并行计算的,哪些不可以?15* 除了 LoRA,你还了解哪些微调方法?16* 大模型训练通常使用什么损失函数17* 在机器学习基础中,二分类问题、多分类问题以及回归问题分别使用什么损失函数?18* 你了解哪些优化算法19* 模型训练中出现过拟合的常用解决方案有哪些?20* Dropout 在训练阶段和预测阶段的处理方式是否一致?为什么要这样做?21* 大模型中的“复读机问题重复生成是什么原因导致的?如何从解码策略或训练层面解决?22* 幻觉问题产生的原因是什么?目前常用的工程解决方案有哪些?23* 写出逻辑回归的数学公式。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务