在语音助手、AI 客服、实时翻译早已不是新鲜事的今天,真正难的是:如何用一个干净、可编排、可私有部署的框架,把 STT、LLM、TTS 串成一次低延迟、不打断、能“看见”的实时对话。LiveKit Agents 正是为这件事而生。
📌 项目简介
LiveKit Agents 是一个用于构建实时、可编程的多模态语音 AI 智能体的开源框架,运行在服务器端,让智能体具备“看、听、理解”的能力。它把语音识别(STT)、大模型(LLM)、语音合成(TTS)以及实时模型(Realtime API)抽象成可自由替换的组件,并提供任务调度、工具调用、测试框架等一整套生产级能力。
💻 安装要求与过程
环境要求
- Python 3.9+
- 一个 LiveKit 服务器:可用 LiveKit Cloud,也可用开源的 livekit 自托管
- 至少一家模型服务商的密钥:如 Deepgram(STT)、OpenAI / Google(LLM)、Cartesia(TTS)等
- 如需电话接入,可启用 LiveKit 的 SIP / 电话栈
快速安装
pip install "livekit-agents[openai,deepgram,cartesia]"
三种运行模式
# 终端本地测试:无需外部服务器,直接验证交互
python myagent.py console
# 开发模式:连接 LiveKit 云/自托管,支持热重载
python myagent.py dev
# 生产部署:生产级优化
python myagent.py start
开发 / 生产模式需配置环境变量:LIVEKIT_URL、LIVEKIT_API_KEY、LIVEKIT_API_SECRET(以及对应模型服务商的 Key)。也可用 Agents Playground 快速体验。
✨ 核心功能
- 灵活集成:完整的插件生态,自由混搭最合适的 STT、LLM、TTS 与 Realtime API。
- 内置任务调度:通过 Dispatch API 自动做任务分配与分发,把终端用户连接到对应智能体。
- 语义轮流检测(Turn Detection):用 Transformer 模型判断用户是否说完,显著降低误打断。
- 原生 MCP 支持:一行代码即可把 MCP 服务器提供的工具接入智能体。
- 内置测试框架:用断言(expect)配合 LLM 评判(judge)编写测试,对抗 LLM 的非确定性。
- 全平台 WebRTC 客户端 + 电话集成:覆盖浏览器、iOS、Android、Flutter 等,并可拨打 / 接听电话。
🎯 典型使用场景
- 语音客服 / 订餐机器人:内置
restaurant_agent范例,可处理来电订餐与预约,直接对接电话线路。 - 外呼电话机器人:Outbound Caller 范例可自动批量拨打电话、播报与收集信息。
- 多智能体接力(Handoff):多个 Agent 按流程交接(如先收集信息、再切换讲故事 Agent),适合工单分流、复杂客服。
- 视频数字人:通过 Tavus、Bithuman、LemonSlice 等接入 AI 虚拟形象,做出“能说话的脸”。
- 实时视觉 Agent:结合 Gemini Live 等,做出能“看见”环境并对话的助手(含 iOS 端范例)。
💡 推荐理由
我自己折腾过不少语音 Agent 方案,LiveKit Agents 最打动我的是它的“把复杂留给自己、把简单交给开发者”:一个 AgentSession 把你想要的 STT/LLM/TTS 一行声明完,多智能体切换、工具调用、打断检测都有官方最佳实践兜底;更关键的是整套栈可私有化——连媒体服务器都是开源的,数据不出自己的机房,对企业场景非常友好。再加上官方提供的 LiveKit Docs MCP 与 Agent Skill,用 AI 编程助手来搭语音应用也顺手很多。如果你打算认真做一个“能听会说”的产品,它值得作为底座首选。
🔗 下载地址
- GitHub:github.com/livekit/agents
- 官方文档:docs.livekit.io/agents
- JS/TS 版本:livekit/agents-js
- 示例仓库:python-agents-examples






















