Back to Blog
Published:
Last Updated:
Recently Updated
AWS & Google Agent FrameworksFoundational guide

Multi-Agent Orchestration on AWS Bedrock AgentCore

9 min read
1,800 words
medium priority
Mudassir Marwat

Mudassir Marwat

Founder & CEO, Cognilium AI

Diagram of supervisor-specialist multi-agent orchestration on AWS Bedrock AgentCore.

TL;DR

The supervisor + specialist pattern is the most reliable way to ship multi-agent systems on AWS — here is how to wire it, observe it, and bound its cost.

Multi-agent systems fail in two ways. The first is obvious — the model picks the wrong tool, or hallucinates a parameter, or returns malformed output. Those failures are loud. You see them in your eval suite. The second mode is the dangerous one: the system silently runs up a 50x cost on a query that should have been a no-op, and you find out when the bill arrives.

This post is about the production-grade orchestration pattern that protects against both. It is what we ship when a client asks for a multi-agent system on AWS, and it is what we have walked teams back to after their bespoke graph-of-agents architecture started losing requests.

The supervisor + specialist pattern

One coordinator (the supervisor) takes the full user request, decomposes it into sub-tasks, and routes each to a specialist agent. Each specialist has a narrow toolset, a narrow system prompt, and visibility only into the sub-task it owns. The supervisor reassembles the results into a final answer.

This is not the most flexible architecture. It is, however, the most reliable. It separates planning from execution. It gives you a single place to enforce budgets and rate limits. It produces traces that humans can actually read.

What goes in the supervisor

  • Task decomposition. The supervisor turns the user prompt into a sequence of typed sub-tasks.
  • Routing. Each sub-task gets assigned to one specialist by capability match.
  • Budget enforcement. Per-call token limits, per-session step limits, and a circuit breaker on tool latency.
  • Result aggregation. Specialists return structured outputs; the supervisor assembles the final response.

What goes in the specialists

  • A narrow system prompt scoped to the sub-task type.
  • A small set of tools — usually 1-4. More than that and you are starting to need another specialist.
  • Memory scoped to the sub-task. Specialists don't share session memory directly.
  • Per-tool retry and fallback semantics, configured per specialist not globally.

Wiring it on AgentCore

AgentCore gives you primitives for each piece. The supervisor is an agent with a routing tool. Each specialist is a separate agent. AgentCore's gateway handles tool registry, IAM scoping, and request signing; the runtime handles session memory and trace emission.

typescript
// Supervisor agent definition (sketch)
const supervisor = await agentCore.createAgent({
  name: 'supervisor',
  instructions: 'Decompose the user task. Route each sub-task to one specialist by capability.',
  tools: [routeToSpecialist, returnFinalAnswer],
  budget: { maxTokensPerCall: 8000, maxStepsPerSession: 12 },
  memory: { strategy: 'session', maxItems: 50 },
})

The budget block is what most teams skip and then regret. Without `maxStepsPerSession` and a hard timeout, a single recursive routing decision can spawn an unbounded chain. We have seen sessions consume $400 of inference before tripping a manual kill switch.

Observability — the part teams cut and regret

A multi-agent system is a distributed system. If you cannot trace a session end-to-end, you cannot debug it. The minimum bar for production is one trace per session, with one span per tool call, LLM hop, and retry. Annotate spans with the supervisor decision, the specialist used, the input/output token counts, and the latency.

On AWS the cleanest path is OpenTelemetry → CloudWatch. AgentCore emits spans natively; you bridge them into the same trace context as your application. Within a week of having traces, the team will stop arguing about whether the supervisor or a specialist is making bad decisions — they will see it.

What to alert on

  • Sessions exceeding 80% of the step budget. Usually a sign of a routing loop.
  • Per-specialist tool error rate above 2%. Usually a sign that the system prompt drifted or the tool contract changed.
  • p99 latency on the supervisor decision step. If this grows, the supervisor system prompt has gotten too long.
  • Cost per session p99. Catches the silent runaways before the bill does.

What we would do differently

In our first deployment we let specialists call each other directly when the supervisor was "obviously" the wrong layer for a particular hop. We regretted it. The implicit specialist-to-specialist graph was invisible to our traces, our budgets, and our retry logic. When a downstream specialist started timing out, we had no way to tell which upstream specialist was responsible.

Route everything through the supervisor. The 50ms of extra hop latency is cheap. The operational clarity is not.

Where this fits in the broader stack

Multi-agent orchestration is one piece of a production agent system. The retrieval layer (often GraphRAG by the time you are running multi-agent), the observability layer, and the deployment substrate all matter as much as the orchestration pattern. The agentic AI implementation framework covers the full stack; the AgentCore observability and monitoring guide goes deep on the trace + alert side specifically.

Share this article

The work behind this series

Framework-agnostic agent deployment with memory persistence and observability.

Mudassir Marwat

Mudassir Marwat

Founder & CEO, Cognilium AI

Mudassir Marwat's argument is that ERP systems record decisions they never optimise.

Founder & CEO of Cognilium AI; 37 AI agents in production across four products; 4 production AI products built and operated; three clouds in production (AWSGCPAzure)
Agentic AIRAG → GraphRAG retrievalVoice AIMulti-Agent Orchestration
In short

Key takeaways

  • The supervisor and specialist split is the reliable shape: the supervisor owns routing and termination, each specialist owns one narrow job.
  • A specialist should be replaceable without touching the supervisor. That boundary is what keeps the system debuggable under failure.
  • Per-hop tracing is not optional. Without it a wrong answer is unattributable, and you are guessing which agent caused it.
  • Bound cost at the supervisor, because that is where loops and retries originate.
What goes wrong

Common mistakes to avoid

  • Cutting observability to ship sooner, then having no way to explain a wrong answer after it reaches a user.
  • Letting specialists call each other, which turns a tree into a graph and makes termination a guess.
  • Shipping without an explicit termination condition, so the supervisor retries until the budget runs out.

Frequently Asked Questions

Find answers to common questions about the topics covered in this article.

A coordinator agent (supervisor) decomposes the user task into sub-tasks, routes each to a specialized agent with tools and context narrowed to that sub-task, and reassembles the result. It separates planning from execution and gives you a clean place to enforce limits.
AgentCore handles session memory, tool gateway, observability, and IAM scoping out of the box. LangGraph is more flexible but you build the operations layer yourself. For enterprise workloads, the AWS integration usually pays for itself in compliance time alone.
Three layers: per-call token budgets enforced in the supervisor, per-session step limits with hard fail-stop, and a circuit breaker on tool latency. Without these, a single bad query can consume 50x its expected budget.
Avoid it. Direct specialist-to-specialist calls create implicit graphs that are hard to observe and reason about. Route everything through the supervisor; the latency cost is small and the operational benefit is large.
Distributed tracing per session is non-negotiable — every tool call, LLM hop, and retry must emit a span. CloudWatch + OpenTelemetry is the minimum on AWS. Without traces, post-hoc debugging of a multi-agent failure is essentially impossible.

Still have questions?

Get in touch with our team for personalized assistance.

Contact Us

Still have a question this did not answer?

The person who wrote this article answers these. Describe your setup and what you are stuck on — you will get a straight answer, including where we think the approach is wrong.

Related Articles

Continue exploring related topics and insights from our content library.

Surviving Partial Failure in a 3,300-Call Agent Pipeline
8 min
1
Mudassir Marwat
May 5, 2026

Surviving Partial Failure in a 3,300-Call Agent Pipeline

Two-tier retries, atomic DynamoDB chunk claims, and checkpoint-based cancellation — the failure-recovery layer that lets a multi-agent contract review pipeline finish even when 5% of LLM calls fail.

words
Read Article
Supervisor-Router on Google ADK with Per-Org Tool Registration
9 min
2
Mudassir Marwat
May 5, 2026

Supervisor-Router on Google ADK with Per-Org Tool Registration

Building a multi-tenant agent platform on Google ADK where the supervisor binds only the tools each org has paid for and integrated — without forking the agent definition per tenant.

words
Read Article
Bias-Detection Alerts on a 4-Agent Candidate Evaluation Pipeline
7 min
3
Mudassir Marwat
May 5, 2026

Bias-Detection Alerts on a 4-Agent Candidate Evaluation Pipeline

A four-agent hiring pipeline is a regulated decision system. Continuous monitoring with alerts at the four-fifths-rule disparity-impact threshold.

words
Read Article

Explore More Insights

Discover more expert articles on AI, engineering, and technology trends.

Personalized for You

Curated content recommendations based on your current reading and interests.

Surviving Partial Failure in a 3,300-Call Agent Pipeline — Cognilium AI
Trending
119%

Surviving Partial Failure in a 3,300-Call Agent Pipeline

Same topic cluster: AWS & Google Agent Frameworks
Same author: Mudassir Marwat

Two-tier retries, atomic DynamoDB chunk claims, and checkpoint-based cancellation — the failure-recovery layer that lets a multi-agent contract review pipeline finish even when 5% of LLM calls fail.

Mudassir Marwat
8 min read
AWS & Google Agent Frameworks
Read Article
Trending
38%

Why do received goods sit uninvoiced, and what can an agent actually do about it?

High priority content
Related topic cluster: Procure-to-Pay Agent Operations

Dynamics 365 already matches product receipts to invoices hourly or daily. The balance that will not clear is the residue the automation cannot resolve.

Ali Ahmed
7 min read
Procure-to-Pay Agent Operations
Read Article
Supervisor-Router on Google ADK with Per-Org Tool Registration — Cognilium AI
Trending
119%

Supervisor-Router on Google ADK with Per-Org Tool Registration

Same topic cluster: AWS & Google Agent Frameworks
Same author: Mudassir Marwat

Building a multi-tenant agent platform on Google ADK where the supervisor binds only the tools each org has paid for and integrated — without forking the agent definition per tenant.

Mudassir Marwat
9 min read
AWS & Google Agent Frameworks
Read Article
When to Mix SQS FIFO and Standard Queues in an Agent Pipeline — Cognilium AI
For You
109%

When to Mix SQS FIFO and Standard Queues in an Agent Pipeline

Same topic cluster: AWS & Google Agent Frameworks
Same author: Mudassir Marwat

FIFO for chunk ordering, Standard for parallel analysis fan-out. Why a single queue type for the whole pipeline is the wrong default, with the dead-letter and retry settings that make the split work.

Mudassir Marwat
7 min read
AWS & Google Agent Frameworks
Read Article
Your multi-agent system is a black box. A broken microservice returns a 500, but a broken agent returns a 200 OK and a confident wrong answer, so your dashboard stays green while the system is wrong. Four things you cannot see without instrumenting the run: who spent the tokens, where it broke, whether the run is healthy, and whether the brakes tripped. Instrument it, or you are flying blind and calling it production.
Trending
71%

Your Multi-Agent System Is a Black Box

Same author: Mudassir Marwat
Preferred author

You gave the agents brakes in the last chapter. Brakes stop a runaway, but they do not tell you which agent is dragging, what a run costs, or why last night's batch tripled. Most multi-agent systems ship to production as a black box: the team can see that a run happened and returned, and nothing in between. Worse, agent failures are silent, they return a 200 OK with a confident wrong answer, so uptime and error rate read green while the output is wrong. This chapter builds the instrument panel: the trace tree as the unit of observability, per-span cost attribution that finds the one agent owning two-thirds of the bill, structural sampling that keeps every run worth investigating, and continuous semantic evaluation, the only signal that catches a wrong answer no system metric will flag. Brakes stop a runaway. Instruments show it coming.

Mudassir Marwat
11 min read
Multi-Agent Systems in Production
Read Article
Your multi-agent system has no brakes. You designed which agents exist and how they connect, but not the thing that decides when they stop, and in most systems nothing does. Control is emergent: it falls out of agents calling each other, so the system stops only when something runs out. Four ways control fails: non-termination, where the loop never ends; premature stop, where an agent's "done" was not actually done; mis-routing, where the task orbits and never lands; and no budget, where the rare tail run wrecks the bill. The fix is explicit control, not a smarter agent.
Trending
71%

Your Multi-Agent System Has No Brakes

Same author: Mudassir Marwat
Preferred author

A multi-agent system with no termination condition does not fail, it spends. The stopping criteria that actually hold, and the ones that only look like limits.

Mudassir Marwat
9 min read
Multi-Agent Systems in Production
Read Article

Smart Recommendations

Our AI analyzes topic clusters, author expertise, and content relationships to surface the most relevant articles for you.

Topic Matching
Author Expertise
Content Quality
Personal Interests

Questions on this?

Talk to an engineer

Schedule a call