在线客服 Agent 这两年已经很成熟了:知识库、多轮对话、转人工、工单闭环,站内 客服怎么搭 那一篇已经把它讲透了。但只要把同样的能力搬到电话上,难度会突然上一个台阶。
原因很简单:电话这个渠道,几乎把所有能帮模型兜底的东西都拿掉了。没有屏幕可以回退,没有「让我想想再回复你」的余地,客户随时会挂断,而开口之后只有几秒钟决定这次通话还有没有下文。
所以这篇不讨论「要不要上外呼」,而是把一套能跑通、也不至于违规的外呼 Agent 到底由哪些部分组成讲清楚。站内还没有第二篇讲电话渠道的,这是第一篇;和 给 OpenClaw 加语音 的区别是:那篇讲的是「本机录音转文字 + 语音播报」的单机能力,本篇讲的是一条并发的、要跑几百上千通电话的外呼产线。
一、先分清:外呼和在线客服到底差在哪
很多人以为外呼就是给在线客服加个麦克风。不是。四个差别决定了后面所有的设计:
- 没有视觉通道。文字客服可以发链接、发图片、让用户自己看。电话里所有信息只能靠「说」,所以话术的信息密度必须极低——一次只说一件事。
- 由我方主动发起。在线客服是用户带着问题来的,动机明确;外呼是你打过去的,对方第一反应通常是「你是谁、为什么打给我」。所以开场 15 秒不是介绍产品,是先解决戒心。
- 随时可被打断。文字可以一口气打完,电话里对方一句「不用了」就能截断你。Agent 必须能听到打断、立刻停下来听,而不是把台词念完。
- 注意力窗口极短。挂断的成本对客户是零。所以判断不能拖、转人工不能绕、道歉不能含糊。
把这四点想明白,后面的技术选型其实就顺了:延迟比聪明更重要,稳定比灵活更重要。
二、合规闸:这是第一道工序,不是最后一道
外呼这个场景有个特殊之处:技术上最容易实现的,恰好是合规上最敏感的。所以第一件要做的事不是接语音,是先把名单和规则定下来。
四条红线,缺一条都别上线:
- 授权名单与来源留档。能打给谁,必须来自明确的授权或既有业务关系,并且能说清这个号码是从哪来的。批量买来的号码名单,从第一天起就不该进入系统。这条边界怎么落到字段上、怎么留痕,和站内 Agent 处理个人信息怎么合规 里那四道闸是同一套思路。
- AI 身份必须告知。开口就要讲清楚这是自动语音服务,不能靠模仿真人来换取通话时长。客户要求转人工,必须能立刻转,不能层层拦截。
- 拒呼名单要能即时生效。客户说过「不要再打」,这条记录要在下一次任务生成时就生效,而不是等运营手动去改表。这需要名单和任务编排是同一套系统。
- 时段、频次、录音。外呼时段要限定在合理范围,同一个号码的拨打频次要有上限;通话录音要留,但录音本身含个人信息,权限和留存策略要单独定——这一点参考 审计字段怎么设计 里的分层思路。
还要有一个兜底:投诉要有人接。被投诉的通话要能一键拉到录音和完整决策链路上来复盘,否则你连「AI 说了什么」都证明不了。
三、六段技术链路
一套外呼 Agent 拆开看是六个环节,每一环都有自己的坑:
- 名单与任务编排。从哪些名单里取哪些人、什么时段打、同一个号码一天最多几次、任务优先级怎么排。这一段常被忽略,但它才是决定投诉率的地方。
- 拨号与线路。并发多少路、号码显示是什么、被运营商标记怎么办。这一段和话术质量无关,却直接决定接通率。
- 实时语音识别(ASR)。要的是流式输出,边听边出字,不能等一句话说完再识别。中途还要做语音活动检测(VAD),判断对方是停了还是在思考。
- 对话决策。这一层需要同时维护三样东西:当前任务目标(比如确认预约时间)、已知信息槽位(谁、什么事、什么时间)、以及对话状态。它不只是一个模型调用。
- 语音合成(TTS)。必须是流式的——先合成第一句的几个字就开始播放,不要整段生成完再播。断句、语气、语速都要可控,否则听起来就是机器人念稿。
- 结果结构化与回写。通话结束必须落一批结构化字段:是否接听、是否完成目标、客户意向、异议类型、是否要转人工、下次可联系时间。这些字段才是业务真正要的东西,录音只是证据。
六段串起来才是一次通话。哪一段断了,整通电话的价值就归零。
四、延迟预算:想得久等于挂了
外呼场景里,延迟不是体验问题,是成败问题。参考预算大致是:
- 对方说完到你开口:800 毫秒以内,超过一秒,对方会以为断线了。
- 打断响应:300 毫秒以内必须停止播放。做不到这一点,客户会觉得「它根本不理我」。
- 复杂判断的等待:不超过 1.5 秒,超了要先垫一句「我查一下,稍等」。空白是最难忍的,声音可以填。
三个工程手段能把这套预算压下来:
- 流水线化。别等 ASR 出完整句再送给模型,可以边出字边送;模型出第一句就让 TTS 开始合。整条链路上任何一段「等全部完成」都会让总延迟翻倍。
- 把「快」的任务和「慢」的任务分开。确认、应答、寒暄这些高频小意图,用小模型甚至规则直接出,只有需要真正推理的时候才落到大模型——这也是省成本最有效的一招,思路见 成本怎么算怎么省。
- 预热连接。模型 API 和语音服务的连接要常驻复用,每次通话现建连接,延迟会稳定地多出几百毫秒。
五、什么时候不该用大模型
这一点和大多数「AI 什么都用大模型」的文章相反,但对电话渠道特别重要:意图明确、分支有限的环节,用状态机比用大模型又稳又便宜。
- 适合状态机的:确认身份、确认时间、问「是/否」、按数字键、念固定条款、说再见。这些环节台词固定、分支清楚,状态机不会跑偏,延迟还低。
- 适合大模型的:客户说的话不在预设分支里的时候、客户情绪明显不对的时候、客户问了一个计划外的问题的时候。这时候需要真正理解,也只有这时候值得付大模型的成本。
务实做法是混合:主流程用状态机管住走向,把大模型当「兜底层」处理例外。整通电话里大模型可能只介入两三次,但这两三次恰好是最需要它的地方。全流程都塞给大模型,结果是又慢又贵,还容易在确认环节说错。
六、六个必看指标,和三条质量线
外呼效果不该只看「打出去多少通」:
- 接通率——反映线路和号码质量,不反映话术。
- 首句挂断率——最诚实的体验指标,直接反映开场话术好不好。这一项恶化,先改开场,别改模型。
- 平均通话时长——太短没聊完,太长多半是 Agent 在绕圈。
- 意图识别准确率——按人工抽检校准,不是看模型自评。
- 转人工率——太低说明客户被困住了,太高说明 Agent 没用上。要有一个健康区间。
- 任务完成率——最终目标(比如约到时间、确认到信息)达成的比例。
质量上还要补三条线:人工抽检(做法参考 客服质检怎么做,只是把文本换成录音转写)、转人工通道(转人工队列怎么设 那一套在这里同样适用)、以及异常分级——识别失败、模型超时、线路异常要分清哪些重试、哪些直接挂(参考 异常分级怎么做)。并发路数一多,限流与配额也躲不开,见 限流与配额怎么设计。
七、四个最容易踩的坑
- 把在线客服的提示词直接搬到电话上。文字里可以一次问三件事,电话里一次只能问一件。话术必须重写,不能复用。
- 只做「能打通」,不做「打完之后」。结构化字段不回写、录音不归档、投诉查不到原文,等于每通电话都在白打。
- 打断处理做成「等它说完再听」。这是最伤体验的一条。客户打断三次都被无视,基本就是投诉。
- 把大模型放在确认环节。确认时间、确认金额、确认身份这些环节,模型一旦发挥「理解能力」,就可能把「周四」听成「周四之后」。这类环节必须靠规则回读确认。相关做法还可以对照 工具调用失败怎么排查 里的分层处理思路。
优缺点和适合人群
优点:覆盖的是完全没有屏幕的场景,触达能力比在线客服更广;一次能并跑几十上百通,单位人力成本极低;通话结果全部结构化,能直接进业务系统;配合抽检和审计,过程比人工外呼更可追溯。
缺点:合规门槛比在线客服高得多,名单、告知、拒呼、时段一个都不能省;延迟要求苛刻,工程投入比文字客服大;识别错误在电话里无法「撤回」,只能靠回读确认兜底;语音质量差、方言、噪声环境都会明显拉低效果。
适合:有合法授权名单、话术相对标准、目标明确的外呼场景——预约提醒与确认、回访、续费提醒、资料补全、服务满意度回访。反过来,如果是需要现场谈判、需要建立信任关系、或者名单来源说不清楚的场景,别用外呼 Agent,那是把投诉风险当成成本在赌。
总结
- 先认渠道:电话没有屏幕、由你发起、随时被打断、注意力窗口极短——延迟比聪明重要,稳定比灵活重要。
- 合规前置:授权名单留档、AI 身份告知、拒呼名单即时生效、时段与频次限制,四条缺一条别上线。
- 六段链路缺一不可:任务编排、拨号线路、流式 ASR、对话决策、流式 TTS、结果回写。
- 延迟按毫秒管:开口 800 毫秒、打断 300 毫秒、复杂判断先垫话。
- 主流程用状态机,大模型只当兜底:既省钱又不容易在关键环节说错。
- 指标看六个,质量线补三条:首句挂断率最诚实,人工抽检、转人工通道、异常分级一个都不能少。
最后一句:外呼 Agent 的核心竞争力不在语音好不好听,而在「合规能不能站得住 + 结果能不能回写」。把这两条做扎实,剩下的都是优化;这两条没做,再自然的声音也只是在制造投诉。