,

Amazon Bedrock Multi-Agent Collaboration, Supervisor and Collaborator Agents (AWS Gen AI Series, Part 21)

One supervisor agent, a few specialist collaborators, and a hard step budget. How multi-agent collaboration works on Amazon Bedrock in 2026, what it costs in latency and tokens, and why the Agents Classic cutoff changes where you should build.

AWS Gen AI Series · Part 21 of 30

Give one agent twelve tools and a four page instruction block and it starts guessing. I watched a support assistant that had to answer billing questions, look up orders, check shipping, and file a refund all from a single Bedrock agent. It worked in the demo. In production it picked the wrong action group about one call in six, because the model was choosing between too many jobs at once with no clear boundary between them.

Splitting that one agent into a small team fixed it. A supervisor agent reads the request and hands it to a specialist that does one thing. Part 13 built a single Bedrock agent with action groups. This part is about what happens when one agent is no longer enough, how Amazon Bedrock lets a supervisor coordinate collaborator agents, and the cost you pay in latency and tokens for the accuracy you gain.

Key takeaways: Multi-agent collaboration on Bedrock is one supervisor agent coordinating one or more collaborator agents, each a full Bedrock agent with its own tools, knowledge bases, and guardrails. There are two modes. Supervisor mode plans, delegates, runs collaborators in parallel or in sequence, then consolidates. Supervisor with routing sends a clear request straight to one collaborator and falls back to full planning only when the intent is unclear. You save the supervisor first, then associate collaborators. There is no separate charge for the orchestration; you pay for every model call each agent makes, so a three collaborator answer can bill four to five times the tokens of one agent replying alone. The 2026 catch: the native Bedrock Agents path is now Amazon Bedrock Agents Classic and closes to new customers on 30 July 2026, while Amazon Bedrock AgentCore, generally available since late April 2026, is where new multi-agent builds are pointed.

What multi-agent collaboration means on Bedrock

Multi-agent collaboration lets several Amazon Bedrock agents work on one request together, coordinated by a supervisor. You designate one agent as the supervisor and associate one or more collaborator agents with it. When a user prompt arrives, the supervisor reads it, decides which collaborators are needed, builds a plan, sends each collaborator its piece, and stitches the responses into one answer. Every agent on the team, the supervisor included, is a normal Bedrock agent, so each keeps its own action groups, its own knowledge base for retrieval augmented generation, which is grounding answers in your own data, and its own guardrails from Part 14.

The reason to split is boundaries. A single agent choosing among a dozen tools has to hold every job in one instruction block, and the model degrades as that block grows. Give each collaborator one narrow role and a short instruction, and the supervisor only has to answer an easier question: which specialist does this belong to. That is a routing decision, not a twelve way tool choice, and models are far more reliable at it. The mortgage assistant in the AWS docs is the canonical shape: a supervisor that decides existing mortgage, new mortgage, or general question, and three collaborators that each own one of those.

One supervisor, three specialistsEach collaborator owns one job and its own toolsUser promptSupervisorplan and routeBilling agenttools + KBOrders agenttools + KBRefunds agenttools + KBCollaborators return results; the supervisor consolidates one reply.
The supervisor never does the specialist work. It decides who does, then merges what comes back.
Who this is for: You have built a single Bedrock agent with action groups from Part 13, you know what a knowledge base and a guardrail are from Parts 12 and 14, and that one agent is now juggling too many jobs to stay reliable. You have not split an agent into a team yet. If you have never built a single agent, build one first, then come back here to divide the work.

Supervisor mode or supervisor with routing

Bedrock gives the supervisor two ways to behave, and you pick one when you configure it. In supervisor mode the supervisor always plans. It breaks the request into sub-tasks, sends them to the right collaborators, lets them run in parallel or in sequence, and consolidates every response into a final answer. That full planning pass is what you want for genuinely multi-step requests, where one question really does need billing and orders and shipping all consulted before an answer makes sense.

Supervisor with routing is the cheaper reflex. When the intent is clear, the supervisor routes the request straight to a single collaborator and skips the planning overhead entirely. Only when the request is complex, or when no clear intent is detected, does it fall back to the full supervisor pass. Most real traffic is simple, so routing mode keeps the common case fast and cheap and reserves the expensive orchestration for the requests that actually need it. My rule: start every team in routing mode, and only move a workload to always-plan supervisor mode if you can show that most of its requests truly need several collaborators at once.

Routing mode takes the short path firstFull planning only when intent is unclearRequestSupervisorintent clear?One collaboratorfast pathFull planningseveral agentsyesnocheap, low latencycostly, higher latency
Routing mode answers the easy majority on the short path and only pays for planning when it has to.
DimensionSupervisor modeSupervisor with routing
BehaviorAlways plans and consolidatesRoutes direct, plans only when unclear
Latency on simple asksHigher, full pass every timeLower, one hop
Token costHighest, supervisor reprocesses contextLower on the common case
Best forRequests that truly need several agentsMixed traffic, mostly simple

When does a second agent actually help?

Not as often as the pattern gets reached for. A team of agents earns its cost in three situations. The first is genuine domain separation, where the jobs need different tools, different knowledge bases, or different guardrails, and cramming them into one agent muddies all three. The second is parallel work, where a request fans out into independent sub-tasks that can run at the same time, so several collaborators shorten wall clock time instead of just adding hops. The third is team ownership, where different teams own different agents and you want to compose them without merging their code or their access.

When none of those hold, a single agent with a few well described action groups is faster, cheaper, and easier to debug, and you should stay there. I have seen teams reach for a supervisor because it sounds more capable, then spend a week chasing why an answer is slow, when the real problem was three model hops where one would have done. If your request is one intent handled by one tool, adding a supervisor buys you nothing but latency and a bigger bill. Split when the boundaries are real, not because a team of agents reads well on a diagram.

In practice: Keep collaborator roles from overlapping. If two agents can both plausibly answer the same request, the supervisor will sometimes pick the wrong one, and you have rebuilt the twelve way tool choice one level up. Write each collaborator instruction as a boundary the supervisor can act on: what this agent owns, and in one line, what it does not. Overlap is the failure I see most in teams that grew their agent count fast.

Wiring a supervisor to its collaborators

The order matters here and trips people up. You must create and save the supervisor agent before you can associate any collaborator, because the association attaches to a saved supervisor. So the flow is: build each collaborator as an ordinary agent and note its alias, create the supervisor with collaboration turned on, associate each collaborator by its alias with a short collaboration instruction, prepare the supervisor, then invoke it. The example uses the bedrock-agent control plane to set the mode and associate one collaborator, and the bedrock-agent-runtime client to invoke.

import boto3

agent = boto3.client("bedrock-agent")
runtime = boto3.client("bedrock-agent-runtime")

# 1. create the supervisor with routing enabled, then save it
sup = agent.create_agent(
    agentName="support-supervisor",
    agentResourceRoleArn="arn:aws:iam::123456789012:role/BedrockAgentRole",
    foundationModel="anthropic.claude-3-5-sonnet-20240620-v1:0",  # [VERIFY current model id
    instruction="Route billing, order, and refund questions to the right specialist.",
    agentCollaboration="SUPERVISOR_ROUTER",  # or SUPERVISOR, or DISABLED [VERIFY enum]
)
sup_id = sup["agent"]["agentId"]

# 2. associate a saved collaborator agent alias with the supervisor
agent.associate_agent_collaborator(
    agentId=sup_id,
    agentVersion="DRAFT",
    agentDescriptor={"aliasArn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/BILLING/LIVE"},
    collaboratorName="billing",
    collaborationInstruction="Owns billing and invoice questions only.",
)

# 3. prepare the supervisor so the change takes effect
agent.prepare_agent(agentId=sup_id)

# 4. invoke the supervisor; it routes to the billing collaborator
resp = runtime.invoke_agent(
    agentId=sup_id,
    agentAliasId="TSTALIASID",
    sessionId="demo-session-1",
    inputText="Why was I charged twice this month?",
)
for event in resp["completion"]:
    if "chunk" in event:
        print(event["chunk"]["bytes"].decode())

Expected output: create_agent returns an agentId, associate_agent_collaborator returns the collaborator association, prepare_agent moves the supervisor to PREPARED, and invoke_agent streams the billing collaborator's answer as decoded chunks.

Failure mode: a ValidationException if you try to associate a collaborator before the supervisor is saved, or if agentCollaboration is left DISABLED. A ResourceNotFoundException if the collaborator alias ARN is wrong or points at an unprepared agent. Confirm the exact enum values, the associate call signature, and the current model id against the bedrock-agent API before you script this. [VERIFY API field names and model id]

Disclaimer: This changes a live agent configuration. Associating or removing a collaborator and re-preparing the supervisor alters how production traffic is routed. Test on a draft alias, invoke it with real prompts, watch the trace to confirm the right collaborator answers, and only then point your live alias at the new version. Keep the previous version so you can roll back.

What it costs to run a team of agents

There is no line item for multi-agent orchestration. Bedrock does not charge you for the supervisor coordinating, for the routing decision, or for the plan. You pay for exactly one thing: the model invocations every agent makes, input tokens plus output tokens, at each agent's model rate. That sounds cheap until you count the hops. In full supervisor mode a single user question can trigger a planning call on the supervisor, a call on each collaborator it fans out to, and a consolidation call on the supervisor that reprocesses all the collaborator output. Every one of those is billed.

Worked example

Take one support question. A single agent answers it with about 1,800 input and 400 output tokens, roughly 2,200 tokens, in about 2.4 seconds. Send the same question through a supervisor in full mode with two collaborators consulted: the supervisor plans at about 2,000 in and 300 out, each collaborator runs at about 1,500 in and 500 out, and the supervisor consolidates at about 2,500 in and 450 out. That totals near 9,250 tokens, about 4.2 times the single agent, and the latency stacks to roughly 6.5 seconds because the plan and the consolidation are sequential even when the collaborators run in parallel. Routing mode on a clear request skips the plan and consolidation, landing near 3,600 tokens and 3.5 seconds. The numbers below are an illustrative model, not a quote; price them against your own model rates.

Latency by pattern, same questionIllustrative model, seconds. Lower is better02468Single agent2.4sRouting mode3.5sFull supervisor6.5s
Full orchestration nearly triples the single agent latency because planning and consolidation are sequential.
Billed callFull supervisor modeRouting mode, clear intent
Supervisor planYes, every requestSkipped
Collaborator callsOne per agent consultedOne, the routed agent
Supervisor consolidationYes, reprocesses outputSkipped
Rough token multipleAbout 4x to 5x one agentAbout 1.5x to 2x one agent
Token bill grows with each collaboratorFull mode, tokens relative to one agent. Illustrative modelTokens vs one agentCollaborators consulted0x2x4x6x12342.5x3.5x4.5x5.5x
Each collaborator adds roughly one agent of tokens on top of the supervisor overhead. Count the hops before you fan out.

The practical read: routing mode is the default because it keeps the common request near a single agent cost, and full supervisor mode is a deliberate choice you make for the workloads that need it. Give the supervisor a smaller, cheaper model than the collaborators where the supervisor only routes, since routing is an easy task and you are paying for it on every request. And set a hard cap on how many collaborators a supervisor can fan out to, because an unbounded plan is an unbounded bill.

Agents Classic, AgentCore, and which to build on now

This is the part that changes the recommendation in 2026, and it is easy to miss. The native Bedrock Agents service that everything above is built on has been renamed Amazon Bedrock Agents Classic, and it closes to new customers on 30 July 2026. If your account has not used it, you are nearly out of the window to start on it. That does not delete existing agents, but it is a clear signal about where AWS is investing, and it should stop you from building a brand new estate on the Classic path today.

Where AWS is pointing is Amazon Bedrock AgentCore, which reached general availability in late April 2026. AgentCore is a serverless platform for hosting and running agents built in any framework, on any model, with a Runtime that supports sessions up to 8 hours for long agent work. For multi-agent specifically, it leans on open protocols rather than a fixed supervisor object: agents talk to other agents and to tools through the Model Context Protocol, MCP, which standardizes how an agent calls a tool, and Agent to Agent, A2A, which standardizes how two agents talk. That is a different shape from the managed supervisor and collaborator model, more building blocks and less turnkey, and Part 13 covered the start of that shift.

My take: If you already run Bedrock Agents Classic, the supervisor and collaborator model in this part is still the fastest way to split an overloaded agent, and it keeps working. If you are starting fresh in mid 2026, do not build a new multi-agent estate on Classic when it is closing to new customers this month. Prototype the same team on AgentCore with A2A and MCP instead, accept that it is more assembly, and you will not be migrating off a closed path in a year. The concepts here, supervisor, routing, bounded fan out, carry straight over. [VERIFY exact AgentCore GA date and Classic cutoff terms]

Two collaborators before you build a network

Here is the verdict I give teams. Split a single agent into a team when the boundaries are real, when different jobs need different tools, knowledge, or guardrails, or when work fans out into parallel sub-tasks. Start in supervisor with routing mode so the easy majority of requests stay near a single agent cost, and reserve full supervisor mode for the workloads you can show actually need several agents at once. Keep collaborator roles from overlapping, give the supervisor a cheaper model when it only routes, and put a hard cap on fan out so one plan cannot run up ten model calls.

Do not start with a network of ten agents. Start with a supervisor and two collaborators, prove the routing is picking the right specialist by reading the trace, and add a third only when a measured request genuinely needs it. And if you are building this new in 2026, prototype on AgentCore rather than on the Classic path that is closing to new customers, because the pattern is the same and the platform is where AWS is headed.

Part 22 turns from agents you build to agents AWS ships, with Amazon Q Business and Q Developer, where the multi-agent plumbing is hidden and you consume the result. If you work across clouds, the same supervisor and specialist pattern appears as the Azure AI Agent Service, and the guardrails that every one of these collaborators still needs are in Part 14 on Bedrock Guardrails. This week, take your most overloaded single agent, list its jobs, and draw the two or three boundaries where a specialist would own each cleanly. That drawing tells you whether a team is worth building, before you spend a token on it.

AWS Gen AI Series · Part 21 of 30
« Previous: Part 20  |  Guide  |  Next: Part 22 »

References

Use multi-agent collaboration with Amazon Bedrock Agents
Amazon Bedrock announces general availability of multi-agent collaboration
Create multi-agent collaboration
Amazon Bedrock AgentCore

About The Author


Discover more from Journal of Intelligent Infrastructure – By Dr Pranay Jha

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *

Architect’s Toolkit

About the Author

Dr. Pranay Jha is a Cloud and AI Consultant with 18+ years of experience in hybrid cloud, virtualization, and enterprise infrastructure transformation. He specializes in VMware technologies, multi-cloud strategy, and Generative AI solutions. He holds a PhD in Computer Applications with research focused on Cloud and AI, has published multiple research papers, and has been a VMware vExpert since 2016 and a VMUG Community Leader.

Discover more from Journal of Intelligent Infrastructure - By Dr Pranay Jha

Subscribe now to keep reading and get access to the full archive.

Continue reading