实时语音陪练 · 产品与技术介绍
2026年7月31日 · 豆包实时语音大模型版
🎯 这是什么
从"打字陪练"升级为"打电话陪练":业务员打开 H5 页面、戴上耳机,直接和 AI 客户语音通话。AI 客户会接电话("喂,你好,请问哪位?")、会追问、会怀疑、会被说服,全程真实电话体验。挂断后自动生成评分报告,报告引擎与老系统完全一致。
技术底座:接入火山引擎豆包实时语音大模型(ASR 语音识别 + 大模型对话 + TTS 语音合成一体化),浏览器与服务端一条 WebSocket 全双工传输,服务端做协议桥接与人设注入,AI 客户说的每一句话实时落库,训练结束即可出报告。
💬 业务员对话要点(电销异议处理场景)
语音陪练是外呼场景:业务员是主动打电话的一方。AI 客户接起电话说"喂,你好,请问哪位?"之后,业务员需要做开场自我介绍。
① 标准开场:三句话结构
"您好,我是平安银行的客户经理小X。之前您在我行咨询过贷款产品,这次来电是想跟您做个简短的回访,大概耽误您一两分钟,您看方便吗?"
第一句亮身份(化解"是不是骗子"的戒备)→ 第二句给来电理由(解释号码来源)→ 第三句要一个小许可(降低压迫感)。
② 常见异议应对
| 客户异议 | 应对要点 |
| "你们是正规银行吗?不是网贷吧?" |
先给平台身份,再给可核验路径(官方客服电话 / APP),不要空口保证。 |
| "利率多少?会不会有隐藏费用?" |
给区间、讲费用构成,不承诺"最低""固定利率""零费用"。 |
| "我征信有点花,能办吗?会不会被拒?" |
说明以实际审批为准,可先做免费测算,不打保票。 |
| "我不需要,别再打了。" |
留好印象收尾("以后有需要随时联系"),不纠缠。 |
③ 核心原则
先回答客户当前的问题 → 再给边界 → 最后给下一步。不背政策条文、不机械重复核验话术、不一次把所有信息倒给客户。守住底线:不承诺百分百批款、不承诺固定最低利率、不承诺绕过征信。
🔗 调用链路原理
全程一条 WebSocket,浏览器只和自家服务端通信,服务端桥接豆包实时语音服务:
1
浏览器采集麦克风
H5 页面用 AudioWorklet 采集 16kHz 单声道 PCM 音频(开启回声消除、降噪),实时切片推送。
2
服务端鉴权 + 会话校验
/voice-practice/ws 接收连接后先校验登录 token 和会话归属(必须本人、进行中),再建立上行连接。
3
连接豆包实时语音服务
服务端向 wss://openspeech.bytedance.com/api/v3/realtime/dialogue 建连,发送 StartSession,注入客户人设(见下方提示词设计)、TTS 音色、ASR 参数。
4
AI 客户先接电话
会话建立后服务端自动发 SayHello 指令,AI 客户说出开场白"喂,你好,请问哪位?",模拟真实接通瞬间,避免业务员干等。
5
全双工实时对话
业务员语音上行 → 豆包一体化完成 ASR 识别 → 大模型按人设生成回复 → TTS 合成语音下行(24kHz PCM)→ 浏览器边收边播,字幕同步展示,支持打断。
6
每轮对话实时落库
服务端桥接层监听事件流,每轮结束把业务员原文(ASR 结果)和客户回复写入 coach_voice_session_turn,对话内容不丢。
7
挂断生成训练报告
结束会话后复用老系统 ReportEngine 对全部轮次评分、撰写点评,业务员在报告页查看总分、维度得分和逐轮反馈——与文字陪练的报告体验完全一致。
新老链路对比
老系统:文字陪练(拆步流水线)
- 业务员打字 → 文字提交
- 每轮一次 HTTP:客户模拟 LLM 生成文字
- 延迟感明显,缺少"打电话"的真实压力
- 口语表达、语气、反应速度练不到
新系统:语音陪练(实时一体化)
- 业务员说话 → 语音实时上行
- ASR + 对话 + TTS 在豆包端一次完成
- 秒级响应、支持打断,接近真实通话
- 练的就是开口能力,报告引擎完全复用
🧠 提示词设计(客户人设注入)
豆包实时语音会话只接受一个静态人设(上限 4000 字符),因此把老系统"每轮动态拼提示词"的丰富上下文压缩为三段式人设,在会话建立时一次注入:
① bot_name — AI 客户姓名上限 20 字符
张先生
② system_role — 身份 + 处境 + 行为规则上限 3800 字符
【你的身份】
你叫张先生,一名服务类从业者,工薪族,收入稳定但不算高。你最近有真实的资金需求(家里装修差几万块),所以愿意继续听这通电话。
【你的处境】
对方是银行贷款客户经理,正在电话向你介绍贷款产品(陪练场景:电销异议处理)。你是敏感型客户,对电话推销有一定戒备,担心遇到不正规的机构,也担心自己资质不够被拒。
【行为规则】
1. 一轮只问一个最关心的事,不要一次抛出多个问题
2. 对方讲清楚了产品优势、给了明确的下一步,你就可以接受、配合或约时间
3. 说话简短口语化,像打电话一样,每次回复不超过两三句话
4. 你有真实需求,不故意刁难,但也不会主动暴露所有信息
5. 不要自称AI或机器人,你就是客户本人
【你可能关心的产品信息】
(按场景动态注入产品知识库摘要,上限 2000 字符)
③ speaking_style — 性格化说话风格上限 200 字符 · 随画像切换
敏感型:谨慎多疑,会追问细节,对利率、征信、是否正规银行特别在意,需要对方反复确认才会松动。
健谈型:健谈发散,聊天时容易扯到日常琐事,被对方提炼重点后会顺势回到贷款话题。
保守型:保守谨慎,做决定慢,需要低压力的下一步和可核验的信息才会继续。
④ 兜底机制 — 防跳戏与开场白
audit_response(内容审核/异常时兜底话术):
"嗯……你这么说我还是有点不放心,能再具体讲讲吗?"
→ 即使触发风控也不跳出客户角色,保持训练连贯。
auto-greeting(会话建立后自动开口):
"喂,你好,请问哪位?"
→ 模拟客户接通电话,业务员无需等待,直接进入开场白训练。
画像联动:三维客户画像(收入来源 / 性格类型 / 行业)在创建会话时选定,人设中的身份、处境、说话风格全部随画像动态生成——同一套场景,练出不同客户反应。
🛡️ 工程保障
老系统零改动
新建 3 张表(会话 / 轮次 / 报告)+ 独立 WS 通道,文字陪练链路一行代码未动,可随时回退。
报告引擎复用
评分、点评、逐轮反馈沿用生产验证过的 ReportEngine,两套陪练口径一致,报告页体验一致。
安全与权限
WS 连接强制登录态 + 会话归属校验;豆包密钥只存服务端,浏览器永不接触凭证。
测试验证
101 个单元测试全绿,端到端验证覆盖:人设保真对话、开场白落库、报告生成(实测 78 分)、防跳戏兜底。