大厂还在拼命融资、卷模型参数的时候,一个独立开发者,在土耳其的小木屋里,用一天时间、花了不到100美元,干翻了一家头部语音Agent平台。
这听起来像是个营销号故事,但这是真事儿。
就在前几天,ElevenLabs刚拿了巨额融资,AI圈热火朝天。这位叫Nick Tikhonov的老哥却在想:现在的语音Agent平台,是不是封装得太“重”了?
他这人不信邪,决定自己动手撸一个。
结果令人大跌眼镜:自研系统的端到端延迟只有400毫秒,比Vapi同等配置下的表现快了整整2倍。
说实话,这个结果有点打脸。我们总以为专业平台肯定比手搓的强,结果“手搓党”不仅赢了,还赢麻了。
语音Agent:看似智能,实则智障
大家平时用Siri或者各种语音助手,是不是经常有一种想摔手机的冲动?
你说上半句,它没反应;你说完下半句,它还在“思考”;好不容易它开口了,你想打断它,它像个复读机一样根本停不下来。
这种体验,简直是在挑战人类的耐心极限。
Nick在文章里一针见血地指出:文本Agent是回合制游戏,语音Agent是即时战略游戏。
文本聊天很简单,用户打字、发送、模型回复、用户再打字。界限分明,节奏由人。
语音完全不是一回事。
系统每一毫秒都在做决策:用户是在说话,还是在呼吸?是在思考,还是卡壳了?是想要插话,还是单纯地清了清嗓子?
这不仅仅是技术问题
人类对语音交流的敏感度高得吓人。文本聊天里晚回复两秒钟没人会在意,但语音对话里哪怕几百毫秒的延迟,都会让人觉得“这人有毛病”或者“信号不好”。
现成的平台虽然好用,但它们把复杂性藏在了黑盒里。当你发现对话感觉不对劲时,根本不知道是哪个参数出了问题。
这就是Nick为什么要自己造轮子。
搞定“闭嘴”比搞定“说话”更难
Nick做的第一件事,不是去接什么大模型,而是先解决最基础的问题:怎么让AI学会闭嘴。
他写了一个极简的状态机,核心逻辑就两个状态:用户在说话,用户在听。
当用户开始说话,系统必须瞬间停止生成、停止合成、清空缓存。只要慢了一点点,那种“抢话”的尴尬感就出来了。
他用了一个只有2MB的开源模型Silero做语音活动检测(VAD)。这个阶段没有接大模型,AI只会播放一段预录好的音频。
有意思的是,哪怕只是这么个“玩具”,体验竟然已经不错了。
因为AI能“秒回”,也能“秒停”。
这给了Nick一个极其重要的基准线:哪怕脑子不聪明,只要反应快、懂礼貌(不抢话),这个Agent就已经成功了一半。
老实讲,我觉得这点很多大厂都应该学学。现在的产品经理太迷信模型的智商,却忽略了交互的“情商”。
真正的杀手锏:把水管接通,别让水停在管子里
搞定了“闭嘴”,接下来就是让AI“开口说话”。
这也是最耗时的环节。传统做法是:听完 -> 转文字 -> 大模型思考 -> 生成文字 -> 转语音 -> 播放。
这一套下来,黄花菜都凉了。
Nick的做法:流式处理。
当Deepgram的Flux模型检测到用户说完一句话,系统立刻启动:
- 文本流式传给LLM。
- LLM吐出第一个字,立刻流式传给TTS(语音合成)。
- TTS吐出第一个音节,立刻推给Twilio播放。
整个过程像流水线一样,不用等上一道工序完全做完,下道工序就开始干活。
还有一个细节特别关键:预热连接。
每次和ElevenLabs建立WebSocket连接都要几百毫秒。Nick直接养了一个“连接池”,随时保持几个热连接待命。
光这一招,就砍掉了300毫秒的延迟。
你看,很多时候优化性能不需要什么高深的算法,只需要像管家一样,提前把热水烧好。
地理位置决定命运,模型选择决定生死
代码写好了,Nick在土耳其的偏远小屋里开始测试。
结果……惨不忍睹。
端到端延迟高达1.6秒。
加上Twilio网络边缘的延迟,用户感知到的延迟接近1.7秒。这比Vapi官方宣称的840ms慢了一倍多。
那种“犹豫感”又回来了。
Nick意识到,代码没问题,是“地段”不行。
他的服务器在土耳其,而Twilio、Deepgram、ElevenLabs的服务器都在欧洲或者美国。音频数据包要在地中海和爱琴海之间来回穿梭,光速虽然快,但也经不起这么折腾。
于是,他把整个编排层部署到了Railway的欧洲节点,并且强制所有服务都走欧洲区域。
效果立竿见影。
延迟瞬间降到了690ms,加上网络边缘延迟,总共约790ms。
这一刻,他的手搓系统终于追平了Vapi。
但他还没收手。
比眨眼还快的AI
最后一步,也是最疯狂的一步。
Nick一直在用GPT-4o-mini,这已经是OpenAI最快的模型之一了。但他听说Groq平台的Llama-3.3-70b推理速度快得离谱。
他跑了个测试,360次请求对比下来,结果让人怀疑人生:
Groq的首字延迟平均只有80毫秒。
人类眨一次眼大约需要100毫秒。也就是说,这个模型反应比你眨眼还快。
换上Groq后,整个系统的端到端延迟稳定在了400毫秒左右。
这是什么概念?
Nick在录音里甚至觉得,自己回复得比AI还慢。那种“人机对话”的感觉消失了,取而代之的是一种近乎本能的交流节奏。
说实话,我个人觉得这才是技术最迷人的地方。不是靠堆算力、堆参数,而是靠对细节的极致把控——地理位置、连接池、流式处理、模型选择——硬生生把体验拉升了一个维度。
别被“便利”绑架
Nick最后也没飘。他很坦诚地说,这并不是让你别用Vapi或者ElevenLabs。
这些平台提供了API、监控、可靠性,这些都要花大量时间去搞。对于大多数团队,自研纯属浪费时间。
但是,如果你不懂底层的逻辑,你就永远是个“调包侠”。
当体验出问题时,你不知道是模型慢了,还是网络卡了,或者是VAD太敏感了。
正如Nick所说:“语音是一个编排问题。”
一旦你看清了那个循环,它就变成了一个可解的工程问题。
所以,下次当你嫌弃你的语音助手“笨”的时候,别只怪模型不够聪明。可能,它只是没学会在正确的时间、正确的地点,用正确的速度“闭嘴”而已。
参考链接:
https://www.ntik.me/posts/voice-agent