The ADK Live integration requires
langsmith[google-adk-live] (separate from the langsmith[google-adk] batch integration, so non-streaming ADK users do not take on its dependencies). It is in development, so its API may change. To trace ADK’s non-streaming paths (text agents, tools, multi-agent workflows), see Trace Google ADK applications.run_live events. The integration captures each conversation as a single LangSmith trace, with a span for every meaningful event (transcripts, tool calls, turn boundaries, and interruptions). You register one plugin and do not create any spans yourself. The flood of audio chunks is played but not traced.
Runner.run_live is not covered by ADK’s standard OpenTelemetry instrumentation, so this plugin is what produces a trace for a Live voice conversation.Install
sounddevice for microphone and speaker I/O.
Set environment variables
.env
Set up tracing
ImportLangSmithLivePlugin and register it on your Runner. It runs alongside your own run_live loop, so your loop keeps doing only audio playback and UI:
thread_id_provider to supply your own.
Transcription is opt-in. Set both
input_audio_transcription and output_audio_transcription on the RunConfig, or the trace has no transcripts.Record the conversation audio
Feed the plugin your microphone and playback audio, and it attaches a single stereo recording (user left, agent right) to the trace:sample_rate, 24 kHz by default). For the underlying attachment API, see Upload files with traces.
Next steps
Voice fundamentals
Core conventions for tracing voice agents.
Upload files with traces
Attach the conversation audio recording to your trace.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

