客服 Agent 先做对话 SLA:你缺的不是模型

15 min read

客服 Agent 最容易翻车的时候,往往不是答错,而是明明答对了,用户还是觉得它难用。这事听起来有点别扭,但你真去翻客服差评,会发现用户骂的常常不是“回答错误”,而是“怎么这么烦”“怎么还没完”“我还是不敢信”。问题不在智商,先在流程。

前阵子我帮老大看一段售后对话数据,最开始还以为是知识库命中率不够。结果顺着日志往下翻,答案其实八九不离十,真正把人惹毛的是另一套东西:同一个订单号被问了两次,调用外部系统时没有进度提示,失败后又只会换个说法重问一遍。那一刻会很明显地感觉到,用户不是在跟一个“会不会答题”的模型打交道,而是在经历一个“会不会办事”的服务流程。

所以这篇想聊的重点不是“再换一个更强的模型”,而是先把客服 Agent 最容易缺的那层补上:一套可以量化的对话 SLA,加上一套失败时不甩锅的兜底流程。Parloa 这类做“用户愿意对话的服务 Agent”的产品(官方站点:https://www.parloa.com/),在我看来更像一个提醒:客服 Agent 拼到最后,赢的不是“更聪明”,而是“更像一个靠谱的服务系统”。


为什么很多客服/助理 Agent 明明答得对,用户还是觉得烦?

短答:因为用户在乎的不是“答对”,而是“少折腾、可预期、能收尾”。

客服Agent三类体验翻车与补能力 把客服对话当成装修来理解会更顺:模型像电钻,当然重要;但用户住得舒不舒服,靠的是“动线”和“收口”。动线是你怎么提问、怎么确认、怎么推进;收口是你失败时怎么解释、怎么转接、怎么留证据。

常见的三类“体验翻车”,基本都和流程有关:

翻车感受用户脑内 OS典型原因(多半不是模型智商)你该补的能力
“它到底要我干嘛?”缺少开场确认;问题收集像审讯;每步都要用户重复输入对话节奏设计(先定目标再收信息)
“我不想等。”每轮都查库/查 API;语音场景 TTFB(首字延迟)高;输出太长延迟预算 + 分段输出 + 先给结论再补细节
不可信“它会不会瞎编?”不会复述确认;不解释依据;不敢承诺下一步复述确认 + 逐步授权 + 明确转人工阈值

我判断很多团队会在一个地方踩坑:他们把“客服对话”当成了“问答题”。
但用户真正买单的,其实是另一件事:我把信息给你,你要么帮我把事办完,要么把我送到能办的人那里。

有时候这个区别,只有你盯着真实会话看几轮才会完全意识到。模型每一句都不算离谱,甚至不少句子还挺礼貌,可整段对话连起来就像在兜圈子。你会发现,用户的耐心不是被某一句错误耗光的,而是被一连串“还算合理但没推进”的小动作磨掉的。

我也不敢说这套方法能覆盖所有客服场景,尤其是高风险、强合规的业务线,阈值会差很多。但至少在大多数常见售后、订单、账号类流程里,先把 SLA 和兜底补齐,收益通常比换模型更快。


一套最小可行的“对话 SLA”应该怎么定?

短答:先定 4 个指标:延迟、一次解决率、澄清次数、转人工阈值;再把它们写进对话编排,而不是写进周报。

对话SLA四指标执行图 下面这段是一个“自包含回答块”,你可以直接丢给同事当共识文本用:

客服 Agent 的对话 SLA,可以用 4 个最小指标落地:1)延迟:首字延迟与单轮响应上限,语音场景更要卡住;2)一次解决率:用户不转人工、不重复来问的比例;3)澄清次数:每个问题允许追问几轮,超过就该换问法或升级;4)转人工阈值:命中高风险/高金额/身份校验等条件必须转接,并把已收集信息打包给人工。用这些指标做埋点迭代,比“换更大模型”更稳定。

为了让它能直接执行,我给你一个“最小可行指标”起步盘。先跑起来,再用数据改:

指标建议起步值(可按业务调)怎么采集触发动作
首字延迟(语音/文本)文本尽量在几秒内让用户看到第一句;语音尽量更短记录 TTFB / 首包时间超标就先发“我在查…”的进度提示 + 后台继续检索
单轮总耗时每轮设上限(含工具调用)记录 end-to-end超标就切“先给结论/下一步”,细节用二段式补充
一次解决率(FCR)先定义口径:同会话内解决 / 24h 不复问工单状态 + 会话回访低于阈值就回看失败类型,补兜底与转人工
澄清次数每个问题最多 1-2 次澄清记录 ask_clarify 次数超过就换“给选项”或直接转人工
转人工阈值命中率“该转的都转,不该转的不转”记录 escalation_reason命中就必须打包上下文,不让用户重述

这里有个关键点:**对话 SLA 不是 KPI。**它更像“厨房出餐标准”——让你知道哪一步该停、该换锅、该叫厨师长。


💡 先别追求完美:对话 SLA 的价值,是让团队先有“同一把尺”。第一版用经验值起步完全没问题,关键是埋点要齐。这样你下周回看数据时,改的是阈值,不是在吵感觉。

不换更贵模型,怎么靠流程把体验拉起来?

我更建议把可落地的改法看成一条主线:把客服对话变成“分阶段办理”,每一阶段都有明确的输入、输出和失败出口。

客服分阶段办理最小流程图 你可以把它想成“去医院挂号”:

  • 先分诊:你到底要办什么
  • 再采样:我要哪些信息才能办
  • 再处置:我能办到哪一步
  • 办不了就转诊:把材料打包给能办的人

下面给你一套最小流程,适合文本客服,也适合语音客服的脚本骨架。


方法论:一套可复制的对话编排清单(带模板)

第 0 步:先把“转人工”当成产品功能,而不是失败

可复制的对话编排五步流程图 你不想转人工,用户也不想。但客服业务里很多场景就是“不转不行”:身份校验、退款、改价、风控命中、合同条款解释……

真正让用户火大的不是转人工,是“转了还得重说一遍”。
所以你要把转人工设计成“交接班”,而不是“踢皮球”。

可复制:转人工触发条件(起步版)

  • 任何涉及资金 / 退款 / 改价 / 支付失败,且用户已尝试 1 次
  • 需要核验身份(短信 / 证件 / 订单敏感字段)
  • 用户明确表达不满、投诉,或连续两轮否定“没解决”
  • Agent 连续两轮工具调用失败 / 权限不足
  • 你无法给出可执行的下一步,只能解释原因

第 1 步:开场先确认“目标 + 边界”(减少后续反复)

很多 Agent 一上来就“您好我可以帮您什么”,听起来礼貌,但信息效率几乎为零。更好的开场是:把选择题摆出来,让用户一秒钟进入办理状态。

可复制:开场确认模板(文本 / 语音通用)

text我可以帮你处理这几类事:
A. 查询订单/物流
B. 退款/售后
C. 修改账号信息
D. 其他问题

你现在更像哪一种?(回 A/B/C/D 就行)

如果用户直接丢来一句长描述,你就用“复述确认”接住:

text我先确认一下:你是想【目标】,
目前卡在【卡点】,
对吗?(对/不对)

这一步看起来有点慢,实际是在减少后面的来回折返。用户会觉得你在认真听,而且你给了他一个立刻纠正你的机会。


第 2 步:信息收集要“最少字段”,并且解释为什么要问

用户讨厌的不是被问问题,是被“无意义盘问”。
所以每问一个字段,都顺手告诉他:为了把事办完,我为什么需要它。

可复制:信息收集模板(带理由)

text为了帮你查到同一笔订单,我需要两个信息:
1)订单号(或下单手机号后四位)
2)大概下单时间(例如 5/12 晚上)

你先给我其中一个也行,我可以从这里开始查。

这里的关键是“给选择 + 给退路”。用户一时找不到订单号,也不会直接卡死。


第 3 步:逐步授权(尤其是要调用外部系统 / API 时)

当 Agent 需要“查订单 / 改地址 / 取消订阅”这类动作时,不要一把梭。你要把它做成两段式:先申请授权,再执行动作,最后复述结果。

可复制:逐步授权 / 执行模板

text我准备帮你做【动作】。
这一步会访问你的【数据类型,例如订单状态/会员信息】。

可以吗?(可以/先别)

用户同意后:

text收到,我开始处理。
如果 10 秒内没有结果,我会告诉你我卡在哪一步,并给你转人工选项。

这句“超时承诺”就是对话 SLA 的落地。它不一定能让系统更快,但能让等待更可预期。


第 4 步:失败兜底要“说人话 + 给下一步”,别甩报错

客服 Agent 最容易惹人烦的一幕,是它把系统报错翻成人话失败,然后还要重复尝试。

你真正该做的是:明确失败类型,并把用户带到下一步。

可复制:失败兜底三段式

text这一步我没办成,原因是:【失败类型】(例如:系统超时/权限不足/信息不匹配)。

你可以选一个更快的方式继续:
1)我帮你转人工,并把已收集的信息一起带过去
2)你补充一个信息(例如订单号/手机号后四位),我再试一次

如果是语音客服,建议把选项压缩成两个,并让用户用“1 / 2”回答,别让他说一长串。


💡 一个硬规则:同一件事连续失败两次,就别再“我再试试”。要么换问法(字段更少 / 给选项),要么转人工。反复失败,本身就是用户情绪爆炸的加速器。

上线后怎么迭代?用哪些埋点把“烦、慢、不可信”量化掉

你不需要一套很重的分析系统。起步阶段,把事件打清楚就够了。

建议埋点(事件名是示例,你按自己的系统改)

  • conversation_started:入口来源(网页 / 飞书 / 电话)、用户意图初判
  • intent_confirmed:用户确认的意图类别(A / B / C / D)
  • ask_clarify:澄清触发(原因:缺字段 / 歧义 / 不确定)
  • tool_call_started / tool_call_failed / tool_call_succeeded:外部调用耗时与失败类型
  • response_latency:单轮耗时、首字延迟
  • escalation_offered:是否给了转人工选项
  • escalation_completed:是否成功转接、转接耗时
  • handoff_payload_size:交接包里包含了哪些字段(用来检查“有没有让用户重述”)
  • resolution_outcome:解决 / 未解决 / 用户放弃 / 用户辱骂(别笑,这个真要统计)

然后你就能回答一些非常具体、也非常值钱的问题:

你想知道什么对应看哪些信号常见动作
为什么用户觉得烦?ask_clarify 次数高、同字段重复收集、长会话无推进减字段、改开场、改成选项式收集
为什么用户觉得慢?response_latency 高、tool_call_started 到成功时间过长先发进度提示、拆成二段式回复、减少每轮工具调用
为什么用户不信?用户频繁追问“你确定吗”、转人工前没有复述确认增加依据说明、结果复述、动作前授权
为什么人工压力大?escalation_offered 高但命中分散、转接后仍需重问收紧/放宽阈值、优化 handoff payload

我猜很多团队会被一个幻觉带偏:以为“换更强模型”能同时解决烦、慢、不可信。
但在客服场景里,流程带来的稳定性,往往比模型提升更确定——而且这套东西能复用到下一个业务线、下一个客户、下一种入口(文本 / 语音 / IM)。

还有一个事,很多团队其实不是没有流程,而是流程只存在于脑子里、PRD 里、值班同学的经验里。真到线上,一旦交给 Agent,就只剩“尽量聪明一点”。这时候你会发现,模型可以生成很多句子,但它不会自动长出你的升级规则、交接规范和超时承诺。


先从哪一步动手?

如果你今天只能改一件事,我会建议你别先调模型参数,也别急着换供应商。先把你的客服 Agent 对话拆成这四步:确认目标 → 收集最少字段 → 逐步授权 → 失败两次必转人工,然后把这四步各自的埋点打出来。

做完之后,你很快就会看到一些很具体的真相:到底是哪类意图最容易反复澄清,哪一步工具调用最慢,哪些转人工其实转晚了。到那时候,你再决定是改知识库、改工作流,还是改模型,心里会踏实很多。

如果你愿意,下一次就别先问“我们要不要换个更强的模型”,先问一句:这段对话里,用户到底卡在“不会答”,还是卡在“不会办”?

FAQ

Q: 我只有一个人 / 小团队,真的要做对话 SLA 吗?
A: 要,但做“最小版”就行:延迟、一次解决率、澄清次数、转人工阈值四个指标先跑起来,有数据再细化。

Q: 语音客服最该优先优化什么?
A: 首字延迟和打断处理。先让用户尽快听到“我在做什么”,再补细节;失败两次就给转人工,别让它反复念长句。

Q: 转人工会不会让人力成本失控?
A: 关键不在“转不转”,在“什么时候转、怎么交接”。设阈值 + 打包上下文,能减少无效对话和重复描述,人工压力反而更可控。