LiveKit Agents 是 LiveKit 公司推出的开源实时语音/视频 AI Agent 框架,核心定位是让开发者用少量代码把 STT(语音转文字)、LLM(大语言模型)与 TTS(文字转语音)组装成可实时对话的智能体。它解决的核心问题是:实时语音交互工程的组合成本极高——WebRTC 传输、音频流处理、打断检测、多模型串联、部署扩展,任何一块都需要专业经验,而 Agents 框架把这一整套管线封装成标准 API。 框架建立在 LiveKit 自家的开源 WebRTC SFU(选择性转发单元,即媒体服务器)之上,天然支持音视频双通道,并原生提供 SIP 电话接入能力。2024 年 9 月发布 1.0 GA,2025 年 1 月发布 2.0 全面重写版本,拆分为核心包 + 独立插件包架构,同时推出 AgentJS 覆盖 JavaScript 生态。下文按“速览卡 → 安装配置 → 实战上手 → 核心能力 → 生产部署 → 选型对比 → 场景误区 → 面试题”展开,读完即可上手搭建第一个语音 Agent。

岗位关联

掌握 LiveKit Agents,你就掌握了把 STT/LLM/TTS 与 WebRTC 实时传输封装成生产级语音 Agent 的核心工程方法,这是当前语音交互应用落地最直接的技能路径。

目录
  1. 为什么需要 LiveKit Agents:实时语音 Agent 的百行代码工程化
  2. 安装与环境配置:5 步就绪
  3. 快速上手:10 分钟跑通第一个语音 Agent
  4. 核心能力详解:5 大支柱
  5. 生产部署与监控:从上线到运维
  6. 版本迭代
  7. AI 应用场景
  8. 常见误区
  9. 面试题
  10. 参考来源
工具类型
开源实时语音/视频 AI Agent 框架
开发商
LiveKit(美国·旧金山)
开源协议
Apache 2.0(可商用)
GitHub Stars
主要语言
Python / TypeScript
当前版本
2.0(2025-01 全面重写)
安装方式
pip install livekit-agents
上手难度
★★★☆☆(中等)
适合人群
语音/视频 Agent 工程师、RAG 实时化团队
同类工具
Pipecat、Vapi、Retell AI
托管服务
无

速览卡是工具类内容的固定首屏模块:30 秒判断「这工具是什么、能不能商用、适不适合我」。

为什么需要 LiveKit Agents:实时语音 Agent 的百行代码工程化

传统方式构建一个语音助手,需要自己打通六层链路:第一层是 WebRTC 信令与媒体传输,保证浏览器/手机与服务器之间的低延迟音视频流;第二层是音频采集与播放,涉及回声消除、噪声抑制;第三层是 VAD(语音活动检测,用于判断用户什么时候开始/结束说话);第四层是 STT 流式转写;第五层是 LLM 推理与工具调用;第六层是 TTS 流式合成。任何一层出问题都会导致对话卡顿或断连,团队往往要投入数周才能跑通一个可演示的 Demo。

LiveKit Agents 把上述链路封装为声明式 API。开发者只需要实现 Agent 逻辑——设定 system prompt、选择 STT/LLM/TTS 提供商、配置 VAD 灵敏度,其余传输、调度、重连、打断处理全部由框架接管。管道内的每个环节支持热替换:比如把 OpenAI TTS 换成 ElevenLabs,只需改一行代码,不用动传输层。

与同类框架相比,LiveKit Agents 的气质差异在于“传输自研 + 能力开放”:WebRTC SFU 是自家开源产品,不依赖第三方传输供应商;语音管道层则保持插件化,不锁定任何模型厂商。对于需要完全掌控数据链路和部署位置的生产团队,这是最贴近“基础设施自有”的方案。

安装与环境配置:5 步就绪

LiveKit Agents 的运行前提是存在一个可连接的 LiveKit Server——它负责信令和媒体转发,Agent 本身以 Worker(工作进程)模式运行,从服务端拉取会话任务。开发模式下可用本地二进制快速启动。

步骤一:安装 Python 包。 需要 Python 3.9+,核心包与插件包分开安装:

步骤二:安装 LiveKit Server 与 CLI。 macOS 直接用 Homebrew,Linux 从 GitHub Releases 下载二进制:

步骤三:启动开发服务器。 --dev 模式会生成临时 API 密钥并打印出来,供本地连接使用:

步骤四:配置环境变量。 根据你使用的插件,导出对应服务商密钥:

步骤五:验证安装。 确认核心包可导入并查看版本:

bash2 行
pip install livekit-agentspip install livekit-plugins-openai livekit-plugins-deepgram livekit-plugins-silero
bash2 行
brew install livekit        # macOS# Linux 用户从 https://github.com/livekit/livekit/releases 下载后放入 PATH
bash1 行
livekit-server start --dev
bash5 行
export LIVEKIT_URL=ws://localhost:7880export LIVEKIT_API_KEY=devkeyexport LIVEKIT_API_SECRET=secretexport OPENAI_API_KEY=sk-...export DEEPGRAM_API_KEY=...
bash2 行
python -c "from livekit import agents; print('LiveKit Agents OK')"pip show livekit-agents | grep -E "Name|Version"

快速上手:10 分钟跑通第一个语音 Agent

最小可用方案分三步:写一个 Agent Worker 脚本 → 以开发模式运行 → 在浏览器 Playground 里对话验证。官方 Playground(agents-playground.livekit.io)是一个免部署的测试页面,连接本地 dev server 后即可用麦克风与 Agent 对话。

第一步:创建 voice_agent.py,定义一个 Agent 实例——Agent 负责把 STT/LLM/TTS/VAD 组装成完整语音管道,AgentSession 负责管理会话生命周期;第二步:运行 python voice_agent.py dev,脚本会注册到本地 LiveKit Server 等待任务;第三步:打开 Playground 页面,填入 dev server 输出的 URL/Key/Secret,点击连接并开始说话。

运行命令:

运行后终端会显示 "Worker started"。连上 Playground 并说话,Agent 会在约 1 秒内回复。进阶技巧:在 Agent 构造函数中传入 fnc_ctx 注册工具函数,即可让语音助手执行查天气、查订单等真实操作;把 deepgram.STT() 换成 openai.realtime.RealtimeModel() 可切换到端到端实时语音模型。

python23 行
# voice_agent.py —— 基于 LiveKit Agents v2 APIimport asynciofrom livekit.agents import Agent, AgentSession, JobContext, WorkerOptions, clifrom livekit.plugins import deepgram, openai, silero  async def entrypoint(ctx: JobContext):    # 组装语音管道:Deepgram 转写 → GPT-4o 推理 → OpenAI TTS 合成    agent = Agent(        instructions="You are a concise, friendly voice assistant.",        stt=deepgram.STT(),        llm=openai.LLM(model="gpt-4o"),        tts=openai.TTS(),        vad=silero.VAD.load(),    )    session = AgentSession(agent=agent)    await session.start(room=ctx.room)    # 进入房间后主动发起一句问候    await session.generate_reply(instructions="Say a brief greeting and ask how you can help.")  if __name__ == "__main__":    cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint))
bash1 行
python voice_agent.py dev

核心能力详解:5 大支柱

支柱一:实时语音管道。 框架以流式方式串联 STT → LLM → TTS,音频按帧处理而非等待完整句子,因此首字响应可做到亚秒级。VAD 驱动打断体验:检测到用户开始说话时,TTS 立即停止播放,实现自然的“抢话”交互。管道组件全部可替换,同一个 Agent 可以切换不同厂商。

支柱二:多 Agent 编排与会话管理。 v2 引入 AgentSession 统一管理会话状态、对话历史、工具调用与回复生成。一个房间可部署多个 Agent,按需切换发言者,适合面试模拟、双角色对话等场景。会话上下文在房间生命周期内持续维护,支持插件式记忆扩展。

支柱三:官方插件生态。 官方维护 12+ 插件包:OpenAI(含 Realtime API、Chat、TTS)、Deepgram、ElevenLabs、Google Gemini Live、Anthropic、Azure、Groq、AWS(Bedrock/Polly/Transcribe)、Cartesia、Rime 等。选用方式统一——例如语音转写用 livekit-plugins-deepgram 的 deepgram.STT(),大模型用 openai.LLM(),按需替换即可。

支柱四:Worker 部署模型。 Agent 以独立进程运行,通过 WebSocket 从 LiveKit Server 拉取“用户进入房间”这类作业(Job)。多实例 Worker 可横向扩展——服务端按负载分发任务,单 Worker 崩溃不影响其他会话。进程级隔离让每个 Agent 的依赖、环境变量可以独立管理。

支柱五:SIP 电话接入。 通过 SIP 中继,语音 Agent 可接入 PSTN(公共电话网)——用户用普通手机号即可拨入对话。支持 Twilio、Telnyx 以及自有运营商线路,官方提供 inbound/outbound 通话示例。这让客服机器人、电话助手类产品无需开发 App 即可触达用户。

生产部署与监控:从上线到运维

部署方式一:自托管 LiveKit Server。 生产环境建议用 Docker 或 Kubernetes 部署 LiveKit Server 集群,核心配置点包括:ICE 服务器列表(用于 NAT 穿透)、TURN 服务(网络受限环境的媒体中继)、TLS 证书(WebRTC 强制要求 HTTPS/WSS)、区域就近接入。Agent Worker 作为独立服务部署在靠近 LiveKit Server 的机房以降低延迟。官方提供完整的 Docker Compose 与 Helm Chart 参考配置。

部署方式二:LiveKit Cloud 托管。 若不想运维 SFU,可直接使用 LiveKit Cloud 提供信令与媒体服务,Agent Worker 仍运行在你自己的服务器上,通过 API Key 认证接入云端。Cloud 附带自动扩缩容、全球边缘节点和内置观测面板,适合快速上线验证。注意 Cloud 仅托管传输层,STT/LLM/TTS 的 API Key 和成本仍由你自行管理。

可观测性。 LiveKit Server 暴露 Prometheus Metrics(在线房间数、连接数、带宽、ICE 失败率);Agent Worker 侧通过标准 logging 输出会话与管道事件,配合 livekit-cli 可实时查看房间内音视频流状态。生产环境建议接入集中式日志系统,并设置告警规则监控“连接失败率”与“会话平均时长”两个核心指标——前者反映网络质量,后者反映用户粘性。

<p class="para-label">避坑清单:</p>

<ul class="dash-list"><li>升级陷阱:v2 与 v1 API 完全不兼容,v1 的 PipelineAgent、JobProcess 均已废弃;升级前锁定依赖版本并核对官方迁移文档,切勿直接替换包版本。</li><li>成本陷阱:STT/TTS 按调用时长计费且语音流量远高于文本,上线前用官方用量计算器估算每分钟成本,并为每个服务商设置预算告警。</li><li>网络陷阱:自建 Server 必须配置 TURN/ICE,否则跨运营商或企业内网环境下媒体连接会频繁中断;先用 LiveKit Cloud 或本地 docker-compose 验证网络拓扑再上生产。</li><li>调参陷阱:VAD 灵敏度直接影响打断体验,阈值过高会因环境噪声误打断 TTS,过低则用户抢话无响应;需按实际麦克风与场景音频反复测试。</li></ul>

维度LiveKit AgentsPipecatVapiTwilio + AI 集成
定位开源实时语音/视频 Agent 框架开源语音 Agent 管道框架托管语音 Agent API 平台通信 PaaS + AI 组装方案
编排范式Agent + AgentSession 声明式管道Pipeline 处理器链式编排平台托管会话,SDK 驱动自行组装 Twilio Media + 各 AI 服务
类型约束无强类型约束,组件即插即用处理器节点类型明确黑盒会话,外部不可见全自定义,无框架约束
学习曲线中等,需理解 Worker/房间模型较低,纯 Python 管道心智低,REST/SDK 调用即可较高,需自研会话状态机
生态集成官方 12+ 插件,双语言 SDK官方与社区插件若干内置模型路由,少代码依赖 Twilio 生态与自组装
生产部署自托管或 LiveKit Cloud,Worker 横向扩展可自托管,媒体依赖 DailySaaS 免运维,按分钟计费云端成熟,需自行扩缩容 AI 组件
LicenseApache 2.0BSD-2-Clause闭源 SaaS闭源商业
适合谁需完全掌控链路与数据的团队纯 Python 轻量语音管道团队快速上线、不想碰底层传输的团队已有 Twilio 通信业务的企业

选型建议:追求完全开源可控、需要视频/语音双通道或 SIP 电话接入,选 LiveKit Agents;纯 Python 团队且只做语音对话管道,可对比 Pipecat 的轻量心智;想一周内上线且接受按量付费,用 Vapi 这类托管平台;若企业通信资产已深度绑定 Twilio,直接在 Twilio 上叠加 AI 服务比引入新框架更平滑。

版本迭代

LiveKit Agents 从 2024 年初的预览演进到 9 月 1.0 GA,再于 2025 年 1 月发布 2.0 全面重写——核心路线是从“单体管道”转向“模块化插件 + 显式会话管理”,并同步布局 JavaScript 生态(AgentJS 1.0)。

版本时间变化提升
v1.02024-09Python 版正式 GA稳定 PipelineAgent API、官方插件集(OpenAI/Deepgram/ElevenLabs 等)、生产部署指南与多语言 SDK 对齐
AgentJS 1.02024-12JavaScript/TypeScript 版发布将 Agent 框架带到 JS 生态,支持 Node 与浏览器端 Agent 逻辑
v2.02025-01Python 版全面重写拆分为 livekit-agents 核心 + livekit-plugins-* 独立包;新增 AgentSession、多 Agent 编排、原生实时 LLM(Realtime API)集成
结论

选择 v2.0 而非 v1.0 的理由在于架构长期性——模块化插件使依赖更轻、升级更独立,AgentSession 提供的会话级控制能力是 v1 的 PipelineAgent 不具备的。新项目应直接基于 v2 API 开发;存量 v1 项目需评估迁移成本,官方仅在文档层面提供迁移对照,无自动化迁移工具。

AI 应用场景

语音客服与电话 IVR 智能化

阶段:Agent 编排 / 实时语音对话 / 工具调用

解决的问题:传统 IVR 菜单层级深、用户体验差,人工客服成本高;LiveKit 通过 SIP 中继把普通电话接入语音 Agent,用自然语言对话替代按键导航,Agent 可调用订单查询、预约等 API 完成真实业务。

具体案例:官方 inbound-call 示例中,用户拨打 Twilio 号码后由语音 Agent 完成接待——STT 转写用户意图,LLM 决策并触发工具函数,官方基准端到端响应约 1 秒内;复杂会话可设置转人工策略,将通话移交人工坐席。相比传统 IVR 的逐级按键流程,自然语言的意图直达显著缩短了业务办理时间。

实时会议助手:语音转写 + 结构化摘要

阶段:RAG 管道构建 / 文档智能 / 多模态输入

解决的问题:会议中人工记录容易遗漏关键结论,纯离线转写无法在讨论进行中提供实时辅助;LiveKit Agents 以参会者身份加入视频会议,实时转写并让 LLM 基于上下文生成阶段性摘要,会议结束即可输出结构化纪要与待办事项。

具体案例:基于官方示例仓库的会议转录方案,Agent 在 LiveKit 房间内订阅音频轨道,Deepgram 流式转写后由 GPT-4o 按议程生成摘要;实测从会议结束到纪要产出无需人工整理,相比人工记录约 1-2 小时的事后整理流程,耗时下降 90% 以上。

常见误区

误区我以为 `pip install livekit-agents` 之后直接写代码就能跑通,不需要额外部署任何服务。

正解LiveKit Agents 只是“Agent 进程”这一层,运行前提是存在可连接的 LiveKit Server——本地开发要启动 livekit-server start --dev,生产需要自托管或使用 LiveKit Cloud。没有服务器,Agent Worker 无法接收房间任务,代码也不会被触发执行。

为何常见:多数开源 Python 框架是纯库调用,而 LiveKit Agents 是“服务端 + Worker”架构,安装文档对此分散在各章节,初学者容易只装一半。

误区我以为是常规的 minor 升级,把 livekit-agents 版本号改一下就行,代码基本不用动。

正解v2 是架构级重写,API 完全不兼容:v1 的 PipelineAgent、JobProcess 被移除,取而代之的是 Agent + AgentSession;所有插件从主包拆分为独立包(如 livekit-plugins-openai),import 路径和类名都变了。升级必须按官方迁移指南逐段改写代码,并重新验证管道行为。

为何常见:v2 发布时官方博客强调“大量 API 简化”,容易让人误以为是渐进增强;实际上官方同时声明这是 breaking change,只是读者容易忽略。

误区我觉得语音识别 + LLM + 语音合成串起来至少要 3-5 秒,根本没法用于真实客服场景。

正解LiveKit Agents 采用全流式管道——STT 边说话边转写、LLM 支持流式输出、TTS 边生成边播放,配合 VAD 提前分段,官方实测端到端响应约 1 秒内。生产环境的关键变量是网络质量与模型选型:区域就近部署、使用专用实时模型(如 GPT-4o Realtime)可进一步压缩延迟。

为何常见:多数人习惯文本聊天机器人的“完整请求-完整响应”模式,忽略了语音交互特有的流式并行处理,从而高估了端到端延迟。

误区我以为开源版只是 Cloud 的免费试用版,SIP 接入、多 Agent 编排这些高级功能必须付费使用。

正解LiveKit Agents 框架本体 100% 开源(Apache 2.0),SIP 接入、多 Agent 编排、插件生态全部包含;LiveKit Cloud 托管的是传输层基础设施(SFU、信令、观测面板),两者是互补关系而非功能分层。自托管 + 开源框架即可获得完整能力,Cloud 解决的是“不想运维媒体服务器”的问题。

为何常见:SaaS 厂商通常把核心能力放在付费版,LiveKit 这类“开源核心 + 托管增值”的模式容易被类比误解。

误区我以为名字带 "Agents" 的框架主要处理语音对话,视频只是可选的附加功能。

正解Agent 的管道组件与媒体类型解耦,STT 可替换为视觉理解组件(如 Gemini Live 或 GPT-4o 的视觉输入),视频帧会以事件形式送入 Agent 逻辑。官方已提供视觉辅助、实时物体识别类用例,同一套 Worker/会话架构同时承载音视频双模态。

为何常见:官方教程和示例大部分以语音对话为主,“语音 Agent” 的默认印象掩盖了视频能力,需要在文档的“多模态与视觉”小节才能看到完整用例。

面试题

Q1. LiveKit Agents 的核心定位是什么?

单选题 · easy

  • A.构建实时语音/视频 AI 对话助手← 正确答案
  • B.构建文本聊天机器人后台服务
  • C.构建离线批量数据处理管道
  • D.构建图像生成与编辑工作流

答案:A。LiveKit Agents 是开源实时语音/视频 AI Agent 框架,围绕 WebRTC 实时传输与 STT/LLM/TTS 管道设计。文本聊天、离线批处理、图像生成都不是它的定位——它强调的是“实时、双向、多模态”的会话能力。

Q2. 安装 LiveKit Agents Python 主包的命令是?

单选题 · easy

  • A.pip install livekit-agents← 正确答案
  • B.pip install livekit-server
  • C.npm install livekit-agents
  • D.pip install agents-livekit

答案:A。Python 主包名为 livekit-agents,发布在 PyPI。livekit-server 是媒体服务器本体而非 Python 包;npm 安装的是 AgentJS(包名 @livekit/agents);agents-livekit 是不存在的包名。

Q3. 以下哪些是 LiveKit Agents 官方维护的插件包?

多选题 · mid

  • A.livekit-plugins-openai← 正确答案
  • B.livekit-plugins-deepgram← 正确答案
  • C.livekit-plugins-elevenlabs← 正确答案
  • D.livekit-plugins-langchain

答案:ABC。OpenAI(LLM/RealTime/TTS)、Deepgram(STT)、ElevenLabs(TTS)均为官方插件。LangChain 是独立第三方编排库,LiveKit 未提供官方集成包——若需要工具调用应使用 Agent 自带的 fnc_ctx 机制而非 LangChain。

Q4. VAD 在语音管道中的主要作用是什么?

单选题 · mid

  • A.检测说话开始与结束,支持打断分段← 正确答案
  • B.将文本合成为自然语音音频输出
  • C.将用户的语音音频转写为文字
  • D.负责 WebRTC 音视频流的编解码

答案:A。VAD(语音活动检测)识别用户何时开始/停止说话,是打断(barge-in)和音频分段的基础。B 是 TTS、C 是 STT、D 是媒体服务器的职责,均与 VAD 无关。

Q5. LiveKit Agents v2 相比 v1 最主要的变化是什么?

单选题 · mid

  • A.拆分为模块化插件包,API 全面重写← 正确答案
  • B.新增对 C++ / Go 的 SDK 支持
  • C.完全放弃开源转向闭源收费
  • D.移除语音能力仅保留视频管道

答案:A。v2 将插件拆分为独立包(livekit-plugins-*),新增 Agent/AgentSession 替代 v1 的 PipelineAgent,并支持多 Agent 编排。B、C、D 均与事实不符——v2 保持 Apache 2.0 开源,语音视频能力同时增强。

Q6. 语音 Agent 的“打断”(barge-in)功能主要靠什么实现?

单选题 · mid

  • A.由 VAD 检测到用户语音即中断 TTS← 正确答案
  • B.定时轮询麦克风状态以暂停播放
  • C.等待用户说完后再开始重新回复
  • D.调高 TTS 音量来压制用户声音

答案:A。打断依赖 VAD 对用户语音的实时检测——一旦判定用户开始说话,立即停止 TTS 播放并进入听写状态。轮询有延迟、等说完不符合“打断”定义、加大音量是反效果,均不是正确机制。

Q7. 生产环境部署 LiveKit 语音 Agent 需要配置哪些项?

多选题 · mid

  • A.部署自托管或 Cloud LiveKit Server← 正确答案
  • B.配置各 AI 服务商的 API 密钥← 正确答案
  • C.完成 TURN/ICE 网络穿透配置← 正确答案
  • D.准备本地 GPU 训练环境资源

答案:ABC。Agent 运行必需三要素:可连接的 LiveKit Server(传输层)、AI 服务商的 API Key(管道层)、TURN/ICE 配置(保障跨网络连接)。Agent 的 LLM 推理走云端 API,本地 GPU 训练与此无关。

Q8. 开发模式下启动本地 LiveKit 服务器的命令是?

单选题 · easy

  • A.livekit-server start --dev← 正确答案
  • B.livekit-server run --prod
  • C.python -m livekit start
  • D.livekit-cli service start

答案:A。官方开发模式命令为 livekit-server start --dev,该模式自动生成临时 API 密钥并打印在终端。B 的 run --prod 不存在;C、D 不是官方命令语法。

Q9. 如何让语音 Agent 接入普通电话(PSTN)?

多选题 · hard

  • A.通过 Twilio 号码 + SIP 中继接入← 正确答案
  • B.通过运营商线路 + SIP 中继接入← 正确答案
  • C.通过 WebRTC 直连 PSTN 无需中继
  • D.只能支持 App 内音视频通话

答案:AB。LiveKit 通过 SIP 中继对接 PSTN,官方支持 Twilio、Telnyx 以及自有运营商线路。WebRTC 只解决互联网内媒体传输,无法直接到达 PSTN 交换网;“只能 App 内通话”忽略了 SIP 能力,均不正确。

Q10. AgentSession 在 LiveKit Agents v2 中的主要职责是什么?

单选题 · hard

  • A.管理会话状态与回复生成流程← 正确答案
  • B.负责视频渲染与音频播放处理
  • C.替代数据库持久化对话历史
  • D.仅为前端页面提供 UI 组件

答案:A。AgentSession 是 v2 的会话核心,负责把 STT/LLM/TTS/VAD 组装成管道、维护对话上下文、驱动回复生成与工具调用。媒体渲染、数据库持久化、UI 层均不在其职责范围内,它是纯服务端的会话编排抽象。

参考来源