Autor团队用8周时间,把"给诊所做语音前台"的想法变成了每天处理数千通电话的生产系统。不是演示版,是真实患者凌晨两点打进来也能接通的完整方案。
他们从零开始选技术栈、跑测试、做盲测,最后让22个患者没听出对面是AI。这篇文章记录了他们每个关键决策的取舍逻辑——哪些坑其实可以避开,哪些"行业标准"根本不够用。
![]()
凌晨两点的电话,没人接
安大略省一家牙科诊所找到Autor时,问题很典型:下班后电话没人接,患者流失。前台每天花3小时以上处理重复来电——确认预约、回答保险问题、转接急诊。他们试过现成的语音方案,患者一听就知道是机器人,反而更困惑。
Autor团队当时已经做过40多个AI产品。他们清楚,语音AI的演示版和真正能处理真人来电的系统之间,差距比想象的大。真人患者会焦虑、会生气、会语无伦次。他们定了8周目标,开始干活。
第一个决策花了两周:选语音转文字和文字转语音的供应商。他们测试了4家STT和3家TTS,数据很具体。
语音转文字选了Deepgram。对比Deepgram、Google Cloud Speech、AWS Transcribe和自托管Whisper,Deepgram在加拿大英语、多种口音场景下,延迟和准确率平衡最好。首字节延迟平均180毫秒,Google是320毫秒。电话对话里,140毫秒的差距就是"自然"和"别扭"的分界线。Whisper准确率最高,但实时性不行——GPU实例上流式延迟也超过400毫秒,没法用。
文字转语音选了ElevenLabs。他们需要一种不会触发"我在跟机器人说话"反应的音色。ElevenLabs的Turbo v2模型延迟150毫秒,音质接近真人。30个真实患者盲测,22人没意识到对方是AI。
电话线路选了Twilio。Media Streams API支持WebSocket双向音频流,团队用过,熟悉边界情况,加拿大号码 provisioning 也稳定。短暂考虑过Vonage,但WebSocket实现测试时可靠性有问题。
大模型的意外表现
核心对话逻辑需要语言模型处理:理解患者意图、管理预约、回答保险问题、判断何时转人工。团队用200组模拟患者对话测试GPT-4和Anthropic Claude,结果出乎意料。
Claude更擅长说"我不知道"。医疗场景里,编造答案比承认不懂更危险。测试边缘案例时——罕见保险情形、具体手术问题——Claude的拒绝率更高,幻觉更少。GPT-4倾向于"帮助"患者,有时会给出一个看似合理但错误的答案。
但GPT-4在工具调用上更可靠。预约系统需要精确的时间槽匹配、保险验证需要调用外部API,GPT-4的结构化输出更稳定。最终方案是混合架构:Claude处理开放式对话和不确定性管理,GPT-4处理需要精确工具调用的子任务。
这个决策增加了系统复杂度,但降低了医疗风险。团队算过账:一次错误预约或保险信息误导的代价,远高于维护双模型的工程成本。
让患者"忘记"自己在跟AI说话
技术选型只是基础。真正难的是对话设计——怎么让患者在60秒内建立信任,愿意继续聊下去。
团队发现三个反直觉的点。第一,开场白不能太完美。早期版本用流畅的"您好,这里是XX诊所,有什么可以帮您",患者反而警觉。改成带一点停顿、一点呼吸声的"呃,您好……这里是XX诊所",信任度上升。
第二,必须允许打断。真人对话是重叠的,患者会抢话、会重复。系统需要200毫秒内的打断响应,否则对话节奏就断了。Deepgram的实时转写+本地缓存策略,把打断延迟压到150毫秒以内。
第三,沉默处理比说话更难。患者思考时的空白、信号不好的断续,系统不能急着填充。团队训练了一个专门的"等待状态"模型,区分"用户在思考"和"连接中断",前者的等待阈值是3秒,后者0.5秒触发重连提示。
这些细节来自真实通话的逐句复盘。前两周,工程师每天听20通录音,标记"这里患者犹豫了""这里应该更快确认"。第4周开始,患者主动说"你是真人吗"的频率从17%降到4%。
医疗场景的隐藏规则
通用语音AI和医疗语音AI的区别,在于必须嵌入行业特有的约束条件。
首先是急诊分流。牙科诊所有明确的急诊定义:剧烈疼痛、外伤、术后出血。系统需要在90秒内判断是否符合急诊标准,符合则立即转接值班医生,同时发送短信通知。非急诊则进入常规预约流程。这个判断不能错——漏接急诊是医疗事故,过度转接则浪费医生时间。
团队用决策树+模型混合方案:关键词触发快速通道,模糊描述进入模型判断,置信度低于阈值时主动询问细节。测试集覆盖127种急诊描述变体,召回率98.7%,误转率3.2%。
其次是隐私合规。加拿大PIPEDA法案要求通话录音明确告知、数据本地存储、患者随时要求删除。技术实现上,开场白包含"本次通话将录音用于服务质量改进",Twilio流式传输到加拿大AWS区域,删除请求触发自动化清理流程,72小时内完成全链路清除。
最棘手的是保险验证。加拿大各省保险计划规则不同,安大略省的OHIP不覆盖牙科,但患者常混淆。系统需要解释"您的检查费用由保险覆盖,但治疗部分需要确认您的私人保险",同时不给出具体金额承诺——那是前台人工确认的范畴。边界划得很细:AI可以解释规则,不能解释具体个案。
8周时间线的真实节奏
周1-2:技术选型+基准测试。STT/TTS/电话线路三管齐下,每天跑数百组测试用例,锁定供应商。
周3-4:核心对话流开发。MVP版本只处理预约确认单一场景,内部测试200通,修复打断、沉默、重复确认等基础问题。
周5-6:场景扩展+医疗规则嵌入。加入急诊分流、保险问答、转人工逻辑。引入第一位真实客户——就是那家安大略牙科诊所——小流量灰度,每天10通真实来电。
周7:压力测试+边界 case 清理。模拟100并发来电,发现Twilio WebSocket在高峰时有0.3%丢包,改用指数退避重连策略。整理47个患者"为难"系统的真实录音,针对性优化。
周8:生产上线+监控体系。部署实时质量看板:平均通话时长、转人工率、患者满意度评分、模型幻觉触发次数。首日处理47通来电,转人工率12%,无急诊漏接。
这个节奏的前提是团队有40+ AI产品的经验积累。如果是从零开始,仅STT选型两周就不够——需要理解延迟和准确率的 trade-off 在电话场景中的具体含义。
上线后的意外发现
系统运行三个月后,数据揭示了几个设计时没预料到的模式。
来电时间分布完全颠覆预期。原以为"24小时"的价值在夜间急诊,实际夜间来电仅占7%,且大部分是焦虑性非急诊——患者牙痛睡不着,想确认明天能否加号。真正的高价值场景是工作日午餐时段:前台休息,电话无人接听,患者直接流失。AI前台把这个时段的预约转化率从31%提升到67%。
患者对AI的接受度与年龄无关,与场景有关。65岁以上患者在预约确认场景的配合度,和25岁群体没有显著差异。但涉及保险解释时,年龄差异显现——老年患者更倾向要求"让我跟真人说话"。系统在保险环节增加了"如需详细解释,可转接前台"的主动提示,转接率上升但满意度也上升。
最意外的是"AI幻觉"的新形态。语言模型不会编造保险规则,但会过度推断患者意图。例如患者说"我想取消明天的预约",系统追问"是因为时间冲突吗?我可以帮您改期",患者反而烦躁——"我就是想取消"。团队增加了"确认即执行,不主动推销"的约束层,平均通话时长缩短23秒,满意度提升。
技术债与下一步
8周上线的代价是明确的技术债。双模型架构的维护成本每月增加约15%工程时间,长期需要评估是否Claude或GPT-4的单模型更新能覆盖双方优势。
语音克隆的伦理边界也在浮现。ElevenLabs的音色定制功能让诊所可以选"听起来像我们前台"的声音,但患者是否有权知道对方是AI?目前行业无统一标准,Autor采用保守策略:开场白明确说明"我是AI助手",不追求完全不可区分。
扩展路径上,团队拒绝了"通用语音客服"的方向。医疗场景的合规深度、专科知识壁垒,反而是护城河。下一步是专科细分:正畸、牙周、口腔外科的预约逻辑差异很大,值得单独优化。
对于想进入这个领域的团队,Autor的经验是:先选一个足够痛、足够具体的场景,把端到端体验做到患者愿意用,再考虑扩展。语音AI的技术选型很重要,但对话设计的颗粒度、对行业规则的理解,才是从demo到产品的真正门槛。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.