top of page

LiveKit


音声AIエージェントLiveKit × Langfuse連携 ~トレース分離問題の解決~
LiveKit Agentsは、WebRTCベースの音声AIアプリケーション開発フレームワークです。STT+LLM+TTSパイプラインでも約2.33秒という高速な応答を実現でき、プリエンプティブ生成やストリーミングTTSなどの最適化技術により自然な会話が可能です。
しかし、Langfuseを使った観測可能性の実装時に、各アクティビティ(agent_session、user_turn、agent_turnなど)が独立したトレースとして記録される問題が発生しました。これは非同期処理でOpenTelemetryのコンテキストが適切に伝播されないことが原因です。
解決策として、プログラム起動時にカスタムトレースIDを生成し、NonRecordingSpanを使ってグローバルコンテキストとして明示的に設定しました。これにより、すべてのスパンが同一トレースIDを継承し、階層化されたトレース構造を実現できました。非同期処理を多用するアプリケーションでは、コンテキストの明示的な管理が重要です。
12月1日読了時間: 11分
bottom of page