> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pipecat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipecat Subagents

> A distributed multi-agent framework for building coordinated voice AI systems with Pipecat.

Pipecat Subagents is a distributed multi-agent framework for [Pipecat](/pipecat/get-started/introduction). Each agent runs its own pipeline and communicates with other agents through a shared message bus. The programming model stays the same whether agents run locally in a single process or distributed across machines.

<Card title="Quickstart" icon="rocket" href="/subagents/quickstart">
  Build a multi-agent voice bot with agent handoff in under 10 minutes
</Card>

## What You Can Build

<CardGroup cols={3}>
  <Card title="Agent Handoff" icon="arrows-repeat">
    A greeter routes to support, support routes back. The user talks to one agent at a time with seamless transfers.
  </Card>

  <Card title="Parallel Workers" icon="users">
    A moderator dispatches a topic to multiple workers in parallel, collects their
    perspectives, and synthesizes a response.
  </Card>

  <Card title="Mixed Agent Types" icon="diagram-project">
    Combine a free-form LLM agent with a structured Flows agent for form-like
    interactions like bookings and reservations.
  </Card>

  <Card title="Custom Voices" icon="microphone">
    Give each agent its own TTS voice so users hear a different voice when
    transferred to a different agent.
  </Card>

  <Card title="Distributed Agents" icon="server">
    Run agents across separate processes or machines, sharing the same bus and
    scaling each independently.
  </Card>

  <Card title="Proxy Agents" icon="globe">
    Connect agents on different buses for point-to-point communication.
  </Card>
</CardGroup>

## How It Works

Every subagent system has a main agent that owns the transport (audio I/O) and routes frames to specialized agents through the bus:

```
AgentRunner
  └── Main Agent (transport + BusBridge)
        ├── Voice Agent A (LLM, bridged)
        └── Voice Agent B (LLM, bridged)
```

* The **main agent** handles STT, TTS, and places a `BusBridgeProcessor` where an LLM would normally go
* **Voice agents** run their own LLM pipelines and receive frames from the bus
* Only one agent is **active** at a time -- agents transfer control with `handoff_to()`
* **Worker agents** can run tasks in the background and return results

## Ready to Build?

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/subagents/quickstart">
    Build a multi-agent voice bot with agent handoff
  </Card>

  <Card title="Learn the Concepts" icon="book-open" href="/subagents/learn/overview">
    Walk through agents, the bus, handoff, and task coordination step by step
  </Card>

  <Card title="Fundamentals" icon="wrench" href="/subagents/fundamentals/understanding-the-bus-bridge">
    Deep dives into the bus bridge, tools, Flows, distributed setups, and more
  </Card>

  <Card title="Examples" icon="code" href="/subagents/examples/overview">
    Complete working examples for every pattern
  </Card>
</CardGroup>
