智能客服重构:从检索式问答到Agent化执行的关键路径
2026/9/11 16:21:37 网站建设 项目流程

1. 智能客服正被拆开重装

这两年做客服系统的人,感受应该都差不多:以前拼的是IVR流程设计、工单流转效率、知识库命中率,现在风向彻底变了,所有人开口闭口都是大模型、Agent、智能体。我这个圈子里的老熟人,去年还在改话术模板,今年已经在研究怎么让大模型学会看订单、查物流、发起退款。

从表面看,这只是一次技术升级,但往深了想,整个智能客服的架构逻辑已经被大模型重新定义了一遍。老一代智能客服的核心是“检索”:用户问一句,系统去知识库里找最接近的答案,本质上像一个高级一点的搜索引擎。找得到就答,找不到就转人工,体验好坏全看知识库维护得勤不勤快。而新一代以大模型为底座、以Agent为形态的智能客服,核心变成了“理解+规划+执行”。它不只是找答案,它能看懂用户真正想要什么,能自己决定先查什么、再做什么,能调工具、能操作业务系统,甚至能在一个会话里同时完成查单、解释、改地址、算赔偿这几件原本需要多轮转接的事。

这套逻辑的变化,带来的不只是体验提升,更是整个行业分工的洗牌。以前做智能客服的门槛在“你有多少业务数据、知识库做得多细”,现在门槛变成了“你能不能把大模型的能力有效地接进业务流程里”。专业厂商的机会恰恰在这里:大模型再强,它也不是天生懂你的业务;谁能把通用能力和行业Know-how捏合到一起,谁就能在Agent这个新战场上抢到身位。

这篇文章我想结合自己这段时间做智能客服重构的实践,把那套从“检索式问答”转向“Agent化执行”的思路、选型、落地细节和踩坑记录完整梳理一遍。适合正在做客服系统重构、或者打算引入大模型能力但还没理清头绪的团队参考。

2. 为什么这一轮重构的本质是“Agent化”

2.1 传统智能客服的死穴在哪

传统智能客服的技术栈,说穿了就是检索模型加规则引擎。用户输入一句话,系统先做意图识别,分到“查订单”“退换货”“开发票”这些桶里,然后调对应的接口或者匹配知识库条目,把命中的答案吐出来。这个架构本身没什么问题,问题在于它处理不了复杂场景。

打个比方,用户说“我上周买的那个红色的杯子,物流显示今天到,但现在还没到,我想问问是不是丢了,如果丢了就直接退款吧”。这句话里至少包含三件事:确认订单状态、查询物流异常原因、可能执行退款。传统系统会怎么处理?意图识别模块大概率会把这句话归到“查询物流”这一类,然后返回一个物流轨迹页面。用户不满意,继续追问为什么没到,系统再识别一次,可能又跳到“物流投诉”流程。整个对话碎片化严重,用户需要不断重复自己的诉求,体验自然好不到哪去。

更麻烦的是,传统架构里的每个能力都是孤立的。查询和操作是两套流程,知识库是静态文本,业务系统是另一个封闭的接口集合。系统没有记忆,没有上下文连贯性,没有自主决策能力。这就像你找了个客服,但他每听一句话就要重新翻一遍手册,还经常翻错页。

2.2 大模型改变了什么

大模型这一步跨得很大,它一下解决了两件事:语义理解和意图推理。

先说语义理解。以前的意图识别是分类任务,模型告诉你这句话属于哪个预定义的类别。大模型不一样,它不是在做分类,而是在做推理。它能读懂“那个红色的杯子”指代的是用户前两天买的那款具体商品,能理解“如果丢了就直接退款”是一句带条件分支的指令。这意味着用户可以用更自然、更口语化的方式表达诉求,而不是被迫适应系统的表达规则。

再说意图推理。这是Agent化真正区别于传统智能客服的地方。大模型可以让系统把一个复杂的用户诉求拆解成多个子任务,然后按顺序逐步执行。比如上面那句话,Agent可以先调用订单查询接口确认买了什么,再调物流接口看包裹走到哪了,如果确认为丢失,接着进入售后流程发起退款,最后生成一段完整的答复告诉用户处理结果。整个过程是一次性完成的连续动作,不再是碎片化的“一问一答一匹配”。

这个能力的变化,让智能客服从“应答机”变成了“办事员”。用户在跟一个能真正把事办成的系统对话,而不再是一个只能回话的聊天机器人。

2.3 Agent的完整工作链路

我对Agent化智能客服的理解,其实可以拆成一条完整的链路:

感知层负责接收用户输入,不管是文字、语音还是图片,先做统一的预处理和格式化。理解层用大模型分析用户意图,同时结合对话历史,搞清楚用户上下文里隐含的信息。规划层把复杂任务拆解成多个子步骤,并决定每一步调用什么工具、需要什么参数。执行层真正去调业务系统接口,比如查CRM、查订单库、创建售后服务单。生成层拿到执行结果后,用自然语言组织成一段得体、准确的回复,必要时还会反问用户确认一些关键信息。

这五层对应的其实就是一个人类客服的工作方式:听用户说完话,想清楚对方要什么,在心里排个处理步骤,然后去系统里操作,最后回复用户。Agent的本质,就是把这个工作流沉淀成一套可编程、可扩展的系统架构。

3. 专业厂商做Agent,拼的是什么

3.1 基础模型之上,还有三层护城河

很多人会问一个问题:大模型能力都是现成的,我用OpenAI、用文心、用通义,直接接API不就行了吗,为什么还要额外的专业厂商?

这个想法对了一半。大模型确实提供了通用能力,但智能客服Agent不等于大模型接口。在模型层和应用层之间,还隔着三件厂商必须自己搞定的事。

第一件是业务知识的组织方式。大模型不懂你的产品目录、售后政策、物流规则。你需要把这些知识结构化地喂给模型,而且要考虑什么时候用RAG检索补充、什么时候靠模型自身的推理能力。这个过程涉及知识清洗、切分策略、检索方案、上下文注入方式,每一样都需要针对业务去调优。

第二件是企业系统的对接深度。客服Agent不是纸上谈兵,它得真的去查订单、改地址、生成工单。每个企业用的CRM、ERP、订单系统都不一样,有的是标准化接口,有的是老掉牙的数据库直接读写。Agent能不能在企业内部系统上稳定运行,很大程度上取决于对接层做得好不好,这需要大量现场工程能力。

第三件是安全与合规控制。大模型会产生幻觉,可能一本正经地编造不存在的订单号,或者给出超出售后期限的赔偿承诺。专业厂商必须有一套机制来约束模型的行为边界:哪些操作需要人工审批,哪些信息不能外泄,回答不确定时该怎么处理。这层约束做不好,Agent上线一星期就能把客服团队折腾疯。

3.2 平台型工具撑不起业务深度

现在市面上有不少Agent开发框架和编排工具,比如LangChain、Semantic Kernel,还有一些开源项目。这些工具本身很不错,它们降低了Agent开发的入门门槛,程序员用两三周就能搭出一个能用的原型。

但落到企业客服这个具体场景里,通用工具有几个绕不开的问题。

一是对客服业务的抽象不够。客服系统里有工单、会话、满意度评价、知识库、人机协作、降级转人工等一整套业务概念。通用Agent框架对这些完全没有概念,你得自己定义数据结构、状态流转、策略逻辑,等于把一套客服系统从零开始重写一遍。而专业厂商通常会沉淀一整套面向客服领域的开发范式,你只需要在原有骨架上做配置和扩展。

二是可观测性和调试体验差别很大。Agent跑起来之后,你要能看清楚它每一步做了什么决策、调用了哪个工具、基于什么理由生成某句话。通用编排框架在日志和追踪方面相对粗糙,出了问题很难定位。专业厂商一般会很认真做Agent的轨迹回放、动作审计、效果评估这些设施,这在实际运营中太重要了。

三是模型路由和降级策略。客服系统对稳定性要求极高,大模型API偶尔会超时、会报错、会抽风。专业方案会设计多模型切换、本地小模型兜底、服务降级到传统检索等一系列策略,保证大模型挂掉了,基础问答还能顶上去。这些工程细节,光靠团队临时拼装是很费劲的。

3.3 行业数据是新的壁垒

这轮Agent化竞争里,最容易被忽略但最关键的壁垒其实是数据。

通用大模型训练用的是全互联网的公开数据,它知道怎么写诗、怎么讲笑话、怎么做菜,但对某个垂直行业里的对话模式了解很有限。电商客服有“拍下”“缺货”“预售”“七天无理由”这些术语,银行业有“风控”“面签”“征信”这套语系,医院有“复诊”“报告解读”这些场景。每个行业都有自己的一套话语体系,而高质量对话数据恰恰是关键生产资料。

专业厂商因为长期服务某个垂直领域,积累了海量的真实对话数据和业务日志。这些数据可以用来做领域微调,也可以用来作为few-shot示例注入提示词,还可以用来评估Agent回答质量。大模型本身是齐次的,但喂给它的数据和组织方式不同,产出的效果天差地别。这就是专业厂商最扎实的竞争壁垒。

4. 实操视角:一个电商智能客服Agent的核心落地路径

4.1 业务边界怎么画最重要

我自己的经验是,Agent化改造第一步不是选模型,不是搭框架,而是先想清楚业务边界。你要管哪些事、不管哪些事,边界画清楚了,后面所有工作才有依据。

电商场景里比较适合Agent处理的业务大概有三类:一是查询类,包括订单查询、物流跟踪、优惠券使用情况、积分明细这些低风险操作;二是自助服务类,包括修改收货地址、申请售后、预约退款这类有一定操作属性但风险可控的场景;三是辅助决策类,比如帮客服人员生成回复建议、整理客户投诉要点、推荐解决方案。

不适合Agent做的事情也要明确划出来。涉及高额退款、法律纠纷、人身安全投诉、大V用户特殊需求,这类场景建议直接转人工,不要让Agent去碰。这既是保护用户体验,也是保护企业自己。灰度上线时,可以先把风险低的查询类放给Agent,跑稳了再逐步放开操作类场景。

4.2 技术选型:模型、框架、知识库三件套

模型选型这块,建议不要一上来就追最强的通用大模型,先做成本评估。客服场景的调用量非常高,高峰期每天几十万甚至上百万次调用都有可能,模型单价直接决定你的成本结构。我之前的一个项目里,最初选了旗舰级大模型,效果确实好,但一个月API费用直接吓到财务。后来做了模型分级方案:简单查询用便宜的小模型,复杂推理和情绪化用户场景才用旗舰模型,整体成本降了60%以上,效果没有明显下降。

框架层面,如果团队有足够的工程能力,推荐自己搭建轻量级Agent编排层,核心做好三件事:工具注册与发现、任务规划与执行、上下文管理。市面上那些框架可以借鉴设计思路,但不要被框架绑定。客服Agent的业务逻辑不复杂,复杂的是稳定性和可控性,与其被框架限制,不如掌握底层的编排能力。

知识库方面,建议按“FAQ双级结构+业务规则库+实时数据接口”三层来设计。FAQ双级结构是把常见问题按高频和低频分级,高频问题用精确检索快速打发,低频问题才交给大模型做开放回答。业务规则库用来约束大模型的行为边界,比如售后时限、赔偿标准这些硬规则,写成结构化配置,让Agent在回答前先查规则。实时数据接口负责对接订单、库存、物流这些动态信息,保证Agent答复时用的是最新数据。

4.3 提示词和工具调用的细节设计

提示词工程在Agent项目里价值非常大,但它和传统的“写Prompt”完全是两码事。Agent场景下的提示词,核心不是让模型说得好听,而是让它“按规矩办事”。我会在系统级提示词里明确告诉模型:你是这个店铺的智能客服,你的职责范围包括哪些,遇到哪些情况必须转人工,回答不确定时应该怎么表达,禁止编造订单信息。这相当于给Agent立了个岗位说明书。

工具调用方面要注意的是参数校验。Agent决定调用某个工具时,它会根据用户输入生成参数。比如用户说“帮我查一下订单”,Agent需要把用户ID和订单号填进参数。这里经常出问题:用户只提供了手机号没提供订单号,Agent就自作聪明地填个空值进去,结果查询接口报错或者返回了错误数据。解决方法是建立参数前置校验机制,必需参数缺失或者格式不对的时候,先反问用户补充信息,而不去调接口。

Agent在行动之前,还应该加一步“方案展示与确认”。对于操作类任务,比如退款、改地址,Agent先把即将执行的方案用自然语言告诉用户,等用户确认后再真正执行。这个设计让整个交互更透明,用户能感觉到系统在做正确的事,也减少了误操作的投诉风险。

4.4 人机协同的兜底机制不能省

虽然Agent现在越来越聪明,但所有设计最终都要面对一个现实:它一定会遇到处理不了的场景。传统方案的兜底是“转人工”,但Agent化之后,转人工这件事也可以做得更平顺。

我比较推崇的做法是“Agent辅助坐席”模式。当Agent判断自己无法处理时,它不直接退出,而是把所有上下文和已做的操作记录打包好,一起转给人工客服。人工客服打开工作台时,能看到用户的历史对话、Agent的决策轨迹、已经生成的建议回复,整个交接是无缝的。这比让用户重新讲一遍诉求舒服太多了。

此外,还有一个非常重要的“一键接管”机制。人工客服在会话过程中,随时可以把Agent暂停掉,切换到全人工模式;也可以选择“带着Agent的草稿接管”,自己修改后发出。这个机制能给用户一种安全感,也让客服团队更容易接受新系统。

5. 实操链路:从会话理解到动作执行的完整编排

5.1 意图识别与状态跟踪怎么搭

Agent化之后,意图识别从分类问题变成了推理问题,但工程上不能完全放飞。我的做法是“规则兜底+模型推理”双轨制。

先做一层轻量级规则引擎:常见的高频问题,比如“物流到哪了”“怎么退货”“开发票”,这些用户表达差异不大,直接通过关键词和正则规则快速命中。规则命中不了,再把输入交给大模型做开放推理,判断用户意图和需要执行的子任务。这样既能保证大多数简单问题秒回,又给复杂场景留出了推理的空间。

状态跟踪同样重要。一个会话里,用户可能在聊完订单后又聊起发票,再突然问起优惠券。Agent要知道当前正在处理哪个任务、哪些信息已经收集到了、哪些还需要确认。我给系统设计了一个内部的“会话快照”机制,每一轮Agent执行完后,会把当前的业务上下文、已确认参数、下一步待办都记录下来。这样即使中间插入一个无关提问,处理完还能回到原来的任务流继续推进。

5.2 查询任务的标准化执行步骤

对于查询类任务,执行链路可以设计得非常标准化。以“查物流”为例,完整流程是这样的:

第一步,Agent从用户输入中抽取关键参数,包括用户标识、订单号或商品线索。如果缺少必要参数,通过追问补齐。第二步,调用订单系统确认该订单属于当前用户,防止越权查询。第三步,调用物流接口获取最新的轨迹信息,注意要拿到结构化的节点数据,而不是一段文本描述。第四步,把轨迹信息整理成适合向用户展示的格式,包括物流状态、当前位置、预计送达时间。如果出现异常,比如包裹停滞、物流信息长时间未更新,Agent要主动提示用户可以协助催件或登记投诉。

这四步听起来简单,但前后顺序和执行策略大有讲究。“先验证权限再调数据”这条铁律一定要落实,否则很容易出现用户查别人订单的安全事故。我见过某个团队上线初期,Agent直接拿用户提供的订单号去查物流接口,结果几步就绕过权限校验,被人利用查了一大批别人的订单信息,被安全团队点名通报,非常狼狈。

5.3 操作任务的确认与执行闭环

操作类任务比查询类多了一个最关键的动作:执行前后的双重确认。

执行前,Agent要把操作意图、操作对象和预期结果完整告诉用户,请用户明确确认。比如“您确认要把订单A2345的收货地址从北京朝阳区修改为上海浦东新区吗?修改后将不能恢复。”这一步不能省,因为大模型有理解偏差的可能,用户可能并没有明确说要改地址,只是问“可以改吗”,Agent如果直接去改,风险就大了。

执行时,Agent要调用的接口必须有操作日志记录。这是事后追溯的关键依据,你需要能回答“谁在什么时间做了什么操作、基于什么指令”。我在项目里强制要求所有操作类工具都统一走Agent操作网关,网关统一记录入参、出参和触发上下文,所有敏感操作都要额外加一层审批或风控。

执行后,流程没有结束。Agent需要主动向用户反馈操作结果,并且询问是否还有其他问题。更完善的做法是,将这次会话的总结、操作成功的凭证、后续可能的进度(比如退款预计到账时间)一并发送给用户,让用户感受到“这个人把事情办完了”。

5.4 对话生成的质量控制

Agent最终输出的每一句话,都代表了企业的形象,所以语言生成这一步的质量控制非常重要。

我会在生成阶段引入三层约束:第一层是语气模板,根据业务场景指定语气风格,查询类场景简洁专业,投诉处理场景温和诚恳,不能一概用堆满表情的活泼话术。第二层是事实约束,生成结果必须基于已获取的结构化数据,严禁模型自行添加订单号、金额、时间这些事实性信息。第三层是规则校验,把答案发给用户之前,先过一遍规则引擎,检查有没有包含违禁词、有没有承诺超出权限范围的内容,如果校验不通过就重写或者降级处理。

有些团队会把生成质量的控制交给模型自己,靠提示词说“不要胡编乱造”,这个太天真了。大模型的幻觉不是靠一句“不要”就能消除的,必须在工程层面把事实来源和生成过程剥离开。能做到“凡是涉及具体数据的表述,一律来源于接口返回值或检索结果,而不是模型生成”,你的Agent输出质量就有了基本保障。

6. 常见问题与排查技巧实录

6.1 模型响应超时和调用失败怎么办

客服场景里,模型API的稳定性是最大痛感来源之一。高峰期大模型服务经常超时,直接导致用户等待时间过长,体验很差。

我的应对策略是三层降级,越往后兜底越稳。第一层是超时重试,设置合理的超时阈值,一般为3秒到5秒,超时就换一个同能力模型实例重试一次,仍失败就进入下一层。第二层是模型切换,维护一个模型池,主力模型挂掉时自动切换到备选模型。这里要多备几个不同供应商的模型,避免单一供应商全挂。第三层是本地小模型兜底,部署一个蒸馏过的小模型,专门用于处理高频简单问答和意图识别,当外部API全部不可用时,系统自动降级到本地模型加规则引擎,保证基本的FAQ问答和意图识别能力不中断。

这个三层降级机制实测下来,可以把Agent服务的可用性从99%拉到99.9%以上,相当关键。而且每一层切换都要有详细日志,事后能复盘是哪一层的哪一步在什么条件下触发的,方便持续优化。

6.2 Agent会话上下文串场了怎么办

这是个非常典型的问题。Agent在处理用户A的会话时,对话历史里混入了用户B的信息。这种情况往往不是模型的问题,而是工程实现的边界没控制好。

原因通常出在会话ID的管理上。有时候前端没有传递会话ID,Agent就默认开启新会话,结果把上下文存到了共享的内存里;有时候是异步处理的时序问题,多个会话的上下文更新互相覆盖;有时候是向量检索时没有加用户维度的过滤条件,导致检索到了别的用户的历史记录。

排查思路也比较明确:先看会话ID从创建到结束的完整链路,确认每一步都在正确的会话上下文里;再查上下文存储方案,给每个会话分配独立的存储空间,写入读取都加隔离;最后给Agent的工具调用参数统一注入用户标识和会话标识,确保下游检索和操作都限定在当前用户范围内。这三步做扎实,串场问题能消灭九成以上。

6.3 数据安全与权限控制怎么做

客服Agent能访问用户订单、隐私信息,权限控制必须从一开始就放进架构里,而不是事后打补丁。

首先要实现用户维度的数据隔离。任何接口调用前都要经过一个权限校验层,确认请求者(用户)与请求目标(订单、地址、发票)具备合法的归属关系。其次要控制操作范围,售后系统里的退款操作必须配置独立审批流,不能让Agent一句话就把高额退款提交了。再一个是敏感信息脱敏,涉及手机号、银行卡、身份证的主体信息,在日志和模型交互中一律脱敏处理,可展示给用户的也要做部分遮挡。

我还会在系统里设置“行为审计日志”,完整记录Agent的所有动作:输入了什么、决定调用什么工具、传入参数是什么、返回结果是什么、最终回复文本是什么。这份日志不仅是事后追溯的核心依据,也是定期做安全评估和效果复盘的数据基础。

6.4 效果评估从点击率转向任务成功率

老一代智能客服的效果评估看的是“答对率”,也就是系统推荐的答案有没有被用户认可。但Agent时代,这套评估逻辑必须更新,因为Agent的核心价值是完成任务,不再只是回答问题。

我现在重点看四个指标:任务完成率(用户提出的目标是否在本次会话内闭环完成)、过转人工率(本来能Agent处理但转给了人工的比例,这个越低越好)、错误执行率(Agent执行了错误操作的占比,比如退了不该退的款、改了错误的地址)、用户满意度(PostChat评分)。结合这几个指标综合评估,才能真正反映Agent的质量。

还要建立一套持续的评测集,把线上的经典问题沉淀下来,人工标注标准答案和标准动作序列。每次调整提示词、更新模型或调整工具逻辑之后,先用这套评测集回归一遍,确认没有引入新的回归问题再灰度上线。没有评测集护航的Agent迭代,就是在悬崖边开车。

7. 我自己的几点体会

做这个Agent化智能客服项目,我最大的感受是:技术本身并不难,难的是把“能跑通的Demo”变成“每天处理几十万真实对话的生产系统”。这条路上没有捷径,该踩的坑一个都少不了。

我比较庆幸的几件事,一是坚持了规则引擎和大模型并行的双轨设计,让系统在最坏情况下也能维持基本服务;二是在操作类场景上加了严格的确认与审计机制,虽然上线初期流程变长了一点,但带来了长期的安全稳定;三是花了大力气搭建评测集和日志体系,后续迭代速度快了非常多。

如果要给准备入局这个方向的团队一个建议,我想说的是:不要把Agent当做一个聊天机器人来做,它是一个业务执行系统。想清楚它的职责边界、权限范围、失败兜底,比追求回答技巧更重要。Agent越强大,约束它的框架就需要越扎实,这两者是相辅相成的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询