glamorous-kitchen-68628
08/15/2025, 3:52 PMtall-airline-16756
08/15/2025, 3:52 PMtall-airline-16756
08/15/2025, 3:52 PMAgent
class to create your Orchestrator, Safety, and Domain agents.
2. Kick off the session with the Orchestrator as your starting agent.
3. Use function_tool
so the Orchestrator can smoothly switch between agents depending on what the user needs or the context.
4. Keep the conversation flowing by sharing info across agents using context.userdata
.
5. Make sure all user messages go through the Orchestrator—it’ll handle delegating tasks and putting together the final responses.
This setup helps keep things organized, safe, and smooth for your users. If you’d like, I’m happy to share some code examples or help you out further—just let me know!
Sources: Building voice agents | LiveKit Docs | Workflows | LiveKit Docs | examples/voice_agents/multi_agent.pyglamorous-kitchen-68628
08/15/2025, 3:56 PM5. Make sure all user messages go through the Orchestrator—it’ll handle delegating tasks and putting together the final responses.This is the main concern that I'm not sure can do with livekit. The workflow and handoff logic of LiveKit is great, but it seems not do-able if I don't want domain-agents to speak, they just return their payload to Orchestrator so Orchestrator can speak. Do you have any sample implementation to do so?
tall-airline-16756
08/15/2025, 3:56 PMAgentSession
with the Orchestrator as the first point of contact. This way, all communication starts and ends with the Orchestrator.
3. Domain Agents Return Payloads: Have domain agents work on their tasks and send their outputs (payloads) back to the Orchestrator instead of replying directly to the user. The Orchestrator then uses these outputs to craft the final response.
4. RunResult Handling: Use RunResult
to gather responses from the domain agents. The Orchestrator can then combine these and create a smooth, unified reply for the user.
5. Workflow Configuration: Set up your workflows so that every handoff between agents loops back to the Orchestrator for the final processing and response.
This way, the Orchestrator stays as the main point of contact with your users, while the domain agents quietly do their part behind the scenes. If you’d like, I’m happy to share a detailed code example for any part of this—just let me know!
Sources: Agents Core Architecture | livekit/livekit_composite | DeepWiki | livekit-agents/livekit/agents/llm/_provider_format/anthropic.pyglamorous-kitchen-68628
08/15/2025, 3:58 PM3. Domain Agents Return Payloads: Have domain agents work on their tasks and send their outputs (payloads) back to the Orchestrator instead of replying directly to the user. The Orchestrator then uses these outputs to craft the final response.
4. RunResult Handling: Useto gather responses from the domain agents. The Orchestrator can then combine these and create a smooth, unified reply for the user.RunResult
5. Workflow Configuration: Set up your workflows so that every handoff between agents loops back to the Orchestrator for the final processing and response.
tall-airline-16756
08/15/2025, 3:59 PMglamorous-kitchen-68628
08/15/2025, 4:19 PMglamorous-kitchen-68628
08/15/2025, 4:25 PM