Thanks — great question. I’ll clarify who handles transcription and recording, and whether you need an agent.
Short answers
• Transcription is handled by the AgentSession (the session), not the agent code itself.
• Recording (session audio, transcript logs, traces) is captured by Agent Observability / session-level recording.
• You only need an agent if you want AI-driven behavior (LLM responses, dialog logic, TTS, or tool use). If you only want STT (transcription) and recording, you can run a session without a full agent.
What each part does
• AgentSession: Orchestrates the real-time voice pipeline — it runs speech-to-text, publishes transcription text to the frontend, and wires up VAD/LLM/TTS where configured. So the session is responsible for producing transcriptions and forwarding them in real time.
• Agent: Contains the AI logic and instructions (LLM prompts, tools, responses). The agent consumes session-transcribed text if you want automated replies, reasoning, or TTS output.
• Agent Observability / session recording: Captures end-to-end session data (audio, transcripts, traces, logs) for playback and debugging.
When you don’t need an agent
• If your goal is solely to transcribe and record calls (no AI responses or TTS), you can configure the session to do STT-only. That can be a minimal “transcriber” configuration that enables transcription and recording without running an LLM or TTS agent.
When you do need an agent
• If you want the system to interpret the user, generate responses, take actions, or synthesize speech, you’ll need an agent configured (which still relies on the AgentSession for STT/TTS I/O).
If helpful, tell me:
• Are you trying to just capture transcripts and audio, or do you want automated AI responses (LLM/TTS)?
• Any specific outputs you need (real-time transcript stream, final transcript file, synchronized playback)?
I can then suggest the exact session/agent configuration or sample steps to set up STT-only vs. full agent behavior.
Sources:
Text and transcriptions | LiveKit Documentation |
Agent session | LiveKit Documentation |
LiveKit Agent Observability | Debug and optimize voice agents | LiveKit |
Streamline troubleshooting with Agent Observability | LiveKit |
How to build an agent with speech-to-text input and text-only output | Live..., with interactive elements