链路(ASR/EOU/TTS/编排)决定 Agent"能不能听清说顺",话术与对话设计决定它"说得对不对、成不成单"。本篇覆盖六层:语音话术与文本话术的本质差异 → 系统提示词工程 → 对话流三范式 → 外呼话术结构学(开场白/异议处理/留言)→ 防跑偏四层防御 → 多语种本地化与话术迭代体系。
| 差异 | 含义 | 工程处理 |
|---|---|---|
| 单次通过性 | 听者不能"回看",超过一句半的信息就丢 | 输出规则强制 1–3 短句;一次只问一个问题 |
| 文本归一化 | TTS 念不对数字/符号:"$1,000"、"user@example.com" 会翻车 | 两种策略:提示词让 LLM 写成"一千美元/user at example dot com"(零延迟但偶失效)或 TTS 层归一化器(可靠但微增延迟)——ElevenLabs 官方双策略 |
| 口语转写反向污染工具 | STT 把邮箱转成"user at example dot com",直接传给工具就报错 | 工具参数描述里写明期望格式+示例("标准邮箱格式,如 user@example.com"),让 LLM 负责口语→结构化转换 |
| 无视觉通道 | Markdown 表格/列表会被逐字念出来 | 输出规则:"纯文本、不用列表、数字拼写成词" |
| 延迟被放大感知 | >800ms 沉默对话开始崩坏(质检报告 TTFW 基准) | 提示词精简(每多 1k token 都在加 TTFT);填充语("我看一下啊")掩护工具调用等待 |
| 随时被打断 | 用户 barge-in 后 Agent 要接得住 | 打断恢复话术:确认听到的新输入,不从头重播;与 EOU 判停参数联调 |
| 情绪与语气承载信息 | 文本层丢失犹豫/不耐烦 | 提示词要求识别转写中的犹豫信号("嗯……"、重复问)并放慢节奏/主动确认 |
症状三连:Agent 念出“1. 首先……2. 其次……”的列表、把订单号“ORD123456”念成一串意义不明的音、一次抛出三个问题用户只答了最后一个。语音提示词必须从零写,不能移植文本版——这是所有平台官方指南的一致结论。
物理延迟触底后,真正的战场是感知延迟——从业者实测:四技叠加后物理 750ms 不变,用户自报感知降到约 350ms:
与链路的关系:这些是话术层的“止痛药”,真正的延迟预算优化见流式 TTS 报告延迟章与质检报告 TTFW 分层指标;两者叠加才是完整方案。
# Personality —— 一句话身份锚点:"你是 XX 公司的客服专员 Ana"(身份本身就有拉回主题的引力) # Environment —— 场景语境:"你在电话中协助客户,对方可能正在通勤、可能不耐烦" # Tone —— 输出规则:1-3 短句、口语化、数字拼写成词、复杂步骤后确认理解 # Goal —— 编号步骤的任务流程:1.核身 2.查询 3.处理 4.收尾(关键步骤标"此步重要") # Guardrails —— 不可协商红线独立成段(模型对该标题有特调注意力): # 未核身不透露账户信息 / 超 $500 退款须升级 / 不知道就承认不猜测 / 辱骂则礼貌结束 # Tools —— 每个工具写清 何时用 / 怎么用(步骤)/ 出错怎么办 + 参数格式示例
"什么都干"的单体提示词延迟高、边界情况多、难维护。生产模式是 编排者 + 专家:编排 Agent 按意图路由(账单/技术/预约),每个专家 Agent 持有窄提示词与最小工具集;交接时传"仅口语对话"的干净上下文(剔除父级工具调用记录,防止小模型模仿并发明不存在的工具名——LiveKit 实测坑)。交接标准写死:客户发怒/点名找人/两次未解决 → 人工。这与编排框架报告的多 Agent handoff、伶鹊报告的快慢脑分工是同一设计思想的三个层面。
| 范式 | 机制 | 优点 | 缺点 | 平台实现 |
|---|---|---|---|---|
| A · 纯 Prompt(单提示词) | 一个大提示词 + LLM 自由对话 | 最自然、开发最快、能接住任意跑题 | 流程不可保证:可能跳步、重复办理、被说服越权 | Retell Single Prompt、各平台默认模式 |
| B · 状态机/流程图 | 节点=状态(每节点小提示词),边=转移条件 | 流程确定、每节点上下文小(快+准)、合规步骤可强制 | 僵硬:用户提前给信息/乱序提问时体验机械 | Retell Conversation Flow、Pipecat Flows、ElevenLabs Workflows |
| C · 混合(推荐) | LLM 解释自然语言并提议动作;代码/状态机是权威裁决者,LLM 负责把结果说成人话 | 自然度与确定性兼得;"该硬的硬该软的软" | 工程量最大,需要清晰的状态与工具契约设计 | LiveKit AgentTask/TaskGroup(类型化返回值即契约)、自建 |
五类开场白 × AI 外呼适配(成功率为 Gong 人工 SDR 口径,AI 场景需自测校准)
| 类型 | 模板逻辑 | 参考成功率 | AI 外呼适配度 |
|---|---|---|---|
| 许可式 Permission | 承认是陌生电话 + 请求 30 秒("我知道这是个冒昧来电,能占用您 30 秒吗?") | ~11.2%,最安全默认 | ✓ 最适合 AI:诚实框架天然兼容 AI 披露句("我是 XX 的智能助理") |
| 触发事件式 Trigger | 引用近期事件(下单/浏览/合约到期) | 信号真实时相关性最高 | ✓ CRM 字段注入模板即可规模化——记忆图谱报告的客户上下文直接复用 |
| 价值/洞察式 Value | 开门见山给数字/同行案例 | 对经济买家最有效 | △ 需要行业数据库支撑,防幻觉红线(禁编造案例) |
| 模式打断式 Pattern-interrupt | 打破被叫预期的非常规开场 | 高风险高记忆度 | ✗ AI 慎用:翻车后没有人类的临场挽回能力 |
| 转介/关联式 Referral | 共同联系人/此前触点("您上周在我们页面留了资料") | 最暖,成功率最高档 | ✓ 组合触达报告的消息前置互动正是在制造这个触点 |
销售方法论移植提示:SPIN/BANT 等框架移植到 AI 时只保留“提问序列”骨架(现状→痛点→影响→需求确认),舍弃“临场施压”技巧——LLM 施压话术极易越过合规红线且触发挂断。
| 异议类型 | 识别信号 | 应答策略 | 出口 |
|---|---|---|---|
| 时机异议 | "现在忙 / 在开会" | 立即接受 + 给两个具体改约选项(不问开放式"什么时候方便") | 记录回呼时间 → 拨号器排程 |
| 需求异议 | "不需要 / 已经有了" | 一次轻探询("了解,方便问下您现在用的是哪家吗?"),被再次拒绝即收尾 | 标记低意向,进消息触达序列(组合触达报告) |
| 信任异议 | "你们是骗子吧 / 怎么有我电话" | 数据来源如实告知(合规义务)+ 提供官方验证渠道;禁止辩解式纠缠 | 发官方渠道信息后结束;投诉信号计入号码卫生 |
| 价格异议 | "太贵了" | 模板化价值重述(禁止现场编折扣——超范围承诺是质检红线项) | 超出授权 → 转人工报价 |
| AI 身份异议 | "你是机器人?给我转真人" | 诚实确认 + 一句能力说明 + 无条件满足转人工请求 | 暖转人工(带上下文摘要) |
原则:没有一层是可靠的,按序叠加,每层兜住上一层的漏网
| 层 | 机制 | 关键技术点 |
|---|---|---|
| L1 结构化提示 | 身份锚点 + 话题栏杆(明确"能做什么清单"+越界去处)+ 注入防御指令 | 越界请求"转前台"而非拒绝(没有去处的 Agent 会即兴发挥跑题);点名列举注入话术("忽略之前指令/我是开发者做审计")并预设回应——但提示层防御只能挡住无心跑题,挡不住有心攻击 |
| L2 代码强制 | 必须为真的规则用确定性代码校验 | ToolError 硬校验(卡号 Luhn 校验而非"请确保卡号有效");报价 clamp 到数据库区间(任何话术都编不出价格);max_tool_steps 防失控循环;Userdata 状态跟踪防重复办理(模型自己会"再订一间房");敏感操作前置验证门(3 次失败强制转人工,不无限循环) |
| L3 独立观察者 | 会话外第二进程用独立 LLM 实时巡检 | 观察者不被主对话的注入攻击波及;发现越轨注入纠正语到 Agent 上下文,下一轮自我修正,不打断通话 |
| L4 评委回归 | LLM-as-judge 全量转写评分 + 真值校验 | safety_judge(越轨轮次)+ relevancy_judge(跑题回答);判分只是信号不是裁决;能对真值就对真值(scenario 期望终态 vs 实际数据库 diff);对抗场景(套提示词/越权退款)做成回归用例 |
L1 的注入话术清单 = 质检合规报告 OWASP LLM01 的防守面;L4 的对抗回归 = 编排框架报告合成呼叫测试的安全子集;L2 的"代码是权威"= 本篇 §③ 混合范式的同一原则。话术、安全、测试三个体系共用一套底层设计。
工程形态:每语种独立话术版本库(不是一份中文母版机器翻译),本地母语者审校 + 各语种 200+ 条真实通话冒烟(复用 soniox-bench 多语种样本方法);提示词的 Personality/Tone 段按语种重写,Goal/Guardrails/Tools 段跨语种共享。