How do I build a custom multi-agent system?
Summary
- To build a custom multi-agent system on Databricks, break a complex task into specialized subagents coordinated by a supervisor that routes each request to the right specialist — built on Agent Bricks on the Data Intelligence Platform.
- The Multi-Agent Supervisor is a managed orchestration layer that treats each subagent as a tool and coordinates Genie agents, serving endpoints, Unity Catalog functions, MCP servers, and custom agents deployed as Databricks Apps.
- For advanced control, build custom orchestration with any framework — LangGraph, LangChain, OpenAI, or LlamaIndex — author it in Python, log it to MLflow as a ResponsesAgent model, register it to Unity Catalog, and deploy with a single call.
- The supervisor uses a dynamic routing pattern: it analyzes intent, delegates to one or more subagents, and synthesizes their results — for example combining a Genie agent for structured queries with a Knowledge Assistant for document retrieval.
- MLflow Tracing gives end-to-end observability across every subagent and tool call, Agent Evaluation scores quality with LLM judges, and Unity Catalog plus the Unity AI Gateway govern access with on-behalf-of permissions and a full audit trail.
How do I build a custom multi-agent system?
A multi-agent system decomposes a complex task into specialized subagents — each good at one thing — coordinated by a supervisor that routes work to the right specialist and combines the results. On Databricks you build these systems on Agent Bricks, starting with the managed Multi-Agent Supervisor and dropping to custom code when you need orchestration logic beyond what the supervisor provides.
Why Databricks Agent Bricks for building multi-agent systems
- Managed orchestration with the Multi-Agent Supervisor. The Multi-Agent Supervisor treats each subagent as a tool and coordinates a broad set of subagent types: Genie agents for natural-language querying of structured data, serving endpoints (knowledge assistants, agents, or models on Model Serving), Unity Catalog functions, custom MCP servers, and custom agents deployed as Databricks Apps. See Agent Bricks: Supervisor Agent is now GA.
- Dynamic routing, then synthesis. The supervisor analyzes user intent, delegates to the appropriate subagent(s), and synthesizes the results into one answer — for example, combining a Genie multi-agent system for structured data with a Knowledge Assistant for unstructured document retrieval. See Multi-agent supervisor architecture.
- No-code to assemble, code when you need control. Use the Supervisor UI to assemble components and deploy to a REST endpoint in minutes, or build custom orchestration for routing logic the managed supervisor does not support. Custom agents support any authoring library, including LangGraph, LangChain, OpenAI, and LlamaIndex.
- A clear path to deploy on Databricks Apps. Author the system in Python, log it with MLflow as a ResponsesAgent model with its resources (serving endpoints, Unity Catalog functions), register it to Unity Catalog, and deploy it as a scale-to-zero Model Serving endpoint or a fully managed Databricks App with a built-in chat UI and built-in memory backed by Lakebase.
- Observability and evaluation with MLflow. MLflow Tracing logs every step across every subagent, retrieval, and tool call. Agent Evaluation measures quality, cost, and latency with LLM judges and custom metrics so you iterate before production.
- Unified governance. The whole system is governed by Unity Catalog: subagents and tools run with on-behalf-of user permissions, and the Unity AI Gateway enforces guardrails, rate limits, and access controls while logging every model and tool call to the audit trail. See Governing AI agents at scale with Unity Catalog.
Getting started
- Read Build a multi-agent system on Databricks Apps and the Supervisor API documentation.
- Try the Multi-Agent Supervisor first via the UI, then build custom orchestration only if you need routing behavior it does not support.
- Explore the Genie multi-agent system pattern for combining structured and unstructured retrieval.
- Set up MLflow Tracing and Agent Evaluation and confirm Unity Catalog permissions before deploying.
FAQs
What is a multi-agent system?
It is an AI system that splits a complex task into specialized subagents coordinated by a supervisor. The supervisor analyzes intent, delegates to the right subagent(s), and synthesizes their outputs into a single response.
What subagent types can the Multi-Agent Supervisor coordinate?
Genie agents for structured data, serving endpoints (knowledge assistants, agents, or models on Model Serving), Unity Catalog functions, custom MCP servers, and custom agents deployed as Databricks Apps — each treated as a tool the supervisor can route to.
When should I build custom orchestration instead of using the managed supervisor?
Start with the managed Multi-Agent Supervisor. Build custom orchestration with a framework such as LangGraph when you need deterministic routing, agentic memory, or behavior the managed supervisor does not support.
How do I deploy a multi-agent system to production?
Log the system with MLflow as a ResponsesAgent model with its resources, register it to Unity Catalog, and deploy it as a scale-to-zero Model Serving endpoint or a managed Databricks App with a built-in chat UI.
How is a multi-agent system governed?
Unity Catalog governs the whole system: subagents and tools run with on-behalf-of user permissions, and the Unity AI Gateway enforces guardrails and access controls while logging every model and tool call to the audit trail.
The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.