【爆速開発】LiveKit Agentsで作る、アサヒ級にキレのあるリアルタイムAIエージェント
「AIとリアルタイムで会話する」という体験を、日本の4大ビールメーカーのブランドイメージになぞらえて、その魅力と実装方法を紐解いていきましょう!
LiveKit Agentsを一言で言うと、「超低遅延で動くAIエージェントを爆速で開発できるフレームワーク」です。
| ブランド | LiveKit Agents に例えると? | エンジニア的なメリット |
| アサヒ (スーパードライ) | キレのある爆速レスポンス | 徹底的な低遅延。会話の「間」を感じさせない、シャープな反応速度を実現します。 |
| サッポロ (黒ラベル) | 玄人好みの確かな技術基盤 | WebRTCをベースにした堅牢なインフラ。プロが現場で安心して使える安定性があります。 |
| サントリー (プレミアムモルツ) | リッチで華やかな多機能性 | 音声だけでなく、映像、テキスト、さらには感情表現まで。リッチな体験を自在に設計できます。 |
| キリン (一番搾り) | 純粋でクリアな開発体験 | PythonやTypeScriptで、不純物(複雑なボイラープレート)なしに、本質的なロジックだけを書けます。 |
これまで「AIと電話のように話すシステム」を作ろうとすると、音声認識(STT)、推論(LLM)、音声合成(TTS)の3つを、「遅延なく(ここが最難関!)」つなぎ合わせる必要がありました。
LiveKit Agents はここを解決してくれます
VAD(発話検知)が標準装備
ユーザーが話し始めた、終わった、という判定がめちゃくちゃ正確です。
ストリーミング処理
音声をバラバラに送るのではなく、流れるように処理するので、LLMが考えている最中から声を出し始めるような挙動も作れます。
マルチモーダル
カメラ映像を見ながら「あ、今持ってるのビールだね!」と反応するエージェントも作れます。
実際に、もっともシンプルな「オウム返し(+ちょっと賢い返答)」をするボットの作り方を見てみましょう。
LiveKit Cloud(無料枠あり)でプロジェクトを作成し、URLとキーを取得します。
Python環境を用意してライブラリをインストールします。
pip install livekit-agents livekit-plugins-openai python-dotenv
「一番搾り」のように、雑味のないシンプルな構成で書けます。
import asyncio
from livekit.agents import JobContext, WorkerOptions, cli
from livekit.plugins import openai
# エージェントのメインロジック
async def entrypoint(ctx: JobContext):
# ユーザーとの接続を確立
await ctx.connect()
# AIの性格(ボイスエージェント)の設定
# ここではサントリーのように「華やかで丁寧な」性格にしてみましょう
agent = openai.VoiceAssistant(
vad=openai.VAD.load(), # 発話検知
stt=openai.STT.load(), # 音声認識
llm=openai.LLM(model="gpt-4o"), # 思考(LLM)
tts=openai.TTS.load(), # 音声合成
chat_ctx=openai.ChatContext().append(
role="system",
text="あなたは親切なビアガーデンの店員です。明るく元気に接客してください。"
),
)
# 部屋に参加して会話を開始
agent.start(ctx.room)
await agent.say("いらっしゃいませ!冷えたビールはいかがですか?")
if __name__ == "__main__":
# ワーカーの起動
cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint))
LiveKit Agents を使えば、これまで数ヶ月かかっていた「自然な会話AI」の実装が、わずか数日、いや数時間でプロトタイプまで持っていけます。
アサヒのようなキレのある速度で
サッポロのような安定した基盤の上に
サントリーのようなリッチな体験を
キリンのような純粋なコードで
作り上げることができます。
次は、このエージェントに「あなたの会社の製品知識」を学習させて(RAG)、専門のコンシェルジュに仕立ててみるのはいかがでしょうか?