跳到正文
meng shao· @shao__meng · X·· 2026-07-13AI 评分62
AI 导读

邵猛指出生产级语音 Agent 需满足五个硬性要求:亚秒级往返延迟(STT+LLM+TTS+电话层总和≤1秒)、基于知识库的有依据回答、每通电话注入实时上下文、干净转接人工、不拨号即可迭代测试。方案采用 Telnyx AI Assistant Builder,平台吸收 STT/LLM/TTS/电话路由管线,开发者仅需编写约15行 FastAPI webhook 返回上下文字典。关键设计为静态 Instructions(persona、知识库)与 Dynamic Variables({{variable}}占位符,通话开始时由 webhook 替换)。支持三种测试方式:门户浏览器、真实 PSTN 号码、WebRTC 连接。

正文 · 原文

客户支持语音 Agemt:从 Demo 到生产的真实工程

语音 AI 的 demo 看似简单:呼叫方 → STT → LLM → TTS → 呼叫方。但生产系统的难点藏在组件之间——低延迟音频流、轮次检测、打断处理、电话编解码、webhook 编排、语音信箱检测。这些"看不见的编排"才是决定体验的关键。

生产级语音 Agent 的五个硬性要求
1. 亚秒级往返延迟(STT+LLM+TTS+电话层总和 ≤ 1 秒)
2. 基于知识库的有依据回答,杜绝幻觉
3. 每通电话注入实时上下文(队列等待、事故、营业时间)
4. 知道何时停止并干净地转接人工
5. 不拨号即可迭代测试

方案:平台吸收管线,开发者只写上下文
用 Telnyx AI Assistant Builder 在门户配置 STT / LLM / TTS / 电话路由,三者均在同一基础设施内运行,避免外部网络跳数以保障低延迟。开发者只保留一段约 15 行的 FastAPI webhook。

关键设计:静态 Instructions + Dynamic Variables
· Instructions:跨每通电话不变的内容——persona、响应格式、知识库。
· Dynamic Variables:随时间变化的内容,写成 {{variable}},通话开始时由 webhook 返回值一次性替换进系统提示,贯穿整通电话。

流程:拨号 → Telnyx POST 到 webhook → webhook 验签并返回上下文字典 → 替换占位符 → 模型读取完整 prompt → 平台内部跑 STT/LLM/TTS → 对话进行。

webhook 的两个职责
· 验证签名(telnyx_client.webhooks.unwrap(),伪造请求返回 401)
· 返回上下文字典

不涉及任何 STT/LLM/TTS/电话代码——这些被平台吸收。生产中 get_live_context() 应对接真实监控/队列/事故系统,而非硬编码。

三种测试方式
门户内浏览器测试 / 拨打真实 PSTN 号码 / 打开 demo.html 经 WebRTC 连接。前两者之外的浏览器组件使迭代无需烧通话分钟。

引用Sumanth@Sumanth_077
http://x.com/i/article/2076664396793745408
在 X 查看被引用的帖子

来源:meng shao · x.com