Supervisor, peer collaboration, or hierarchy — and on whose runtime? This playbook designs the multi-agent topology first, then maps it onto managed runtimes (Bedrock AgentCore, Azure AI Foundry Agent Service) versus frameworks (LangGraph), with platform churn treated as a design input rather than a surprise.
Tier: Advanced · Hands-on time: ~40 minutes
"Multi-agent orchestrations" is verbatim posting language, and AWS's own multi-agent guidance centers on supervisor routing to domain specialists. But the sharpest lesson in this area is the churn itself: Bedrock Agents classic closes to new customers in July 2026, pushing workloads toward AgentCore — teams that coupled their designs tightly to the first-generation service are now migrating. Topology is the durable decision; runtime is the replaceable one, and the design should encode that asymmetry.
Justify multi-agent at all. Write the single-agent failure concretely: context window exhausted by combined tool schemas, irreconcilable personas, or separable failure domains. If the justification is "the diagram looks better," stop here.
Choose the topology from the three families. Supervisor/router — a coordinating agent classifies and delegates to specialists; the default for heterogeneous requests, and the shape AWS's multi-agent-orchestration guidance documents. Peer collaboration — agents hand off directly without a coordinator; fits pipelines with clear sequential ownership. Hierarchical — supervisors of supervisors; justified only at genuine scale of domains. Prefer the supervisor pattern until measured coordination overhead argues otherwise.
Design the interaction contracts before picking a runtime. For each edge in the topology: what is passed (structured payloads beat free prose between agents), what each specialist may assume, how failures propagate upward, and where the human gates from pb-38 sit. These contracts are portable; runtime APIs are not.
Map to candidate runtimes with lock-in explicit. Rajesh is solutioning Meridian Retail's support copilot plus order-status agent:
I have a supervisor topology: router agent -> two specialists
(order-status agent with read-only order APIs; support-KB agent with
RAG retrieval). Interaction contracts attached.
Map this onto three candidates: Bedrock AgentCore, Azure AI Foundry
Agent Service, and self-managed LangGraph on our container platform.
For each: (1) which parts of my topology map to native constructs vs
custom code; (2) what state/memory the runtime owns vs what I own;
(3) exit cost — concretely, what would migrating this topology OFF the
platform in 18 months require, given the Bedrock Agents classic ->
AgentCore transition as the reference case for how these platforms churn;
(4) a VERIFY list of capability claims I must confirm in current docs.
Do not recommend. Surface trade-offs and unknowns.
Weigh managed vs framework on the real axes. Managed runtimes buy session management, scaling, and identity plumbing at the price of platform coupling and roadmap dependence; frameworks like LangGraph buy portability and control at the price of owning the operational surface (the DevOps track's problem, but your design creates it). Regulated or client-tenancy constraints can decide this outright before preferences enter.
Design for the churn you just studied. Keep interaction contracts and specialist prompts in your repo, not only in platform configuration; isolate runtime-specific glue in a thin adapter layer; record in the ADR which parts of the design are portable and which are hostage. The AgentCore transition is the case study to cite when a reviewer asks why the adapter layer exists.
Write the topology ADR and diagram. Topology chosen with the single-agent failure that justified it, runtime chosen with exit costs stated, the contracts appendix, and revisit triggers — including "platform announces successor product," which is no longer hypothetical.
Topology design is client-safe when abstracted — specialist roles, contracts, and failure paths described without client names or API details work in any approved assistant. Runtime selection often is not: client MSAs may mandate the client's cloud, subscription tenancy, or on-prem execution, which collapses the candidate list before trade-offs matter — extract those constraints first. For restricted builds, LangGraph self-hosted inside the client boundary with client-tenancy model endpoints (Bedrock or Azure OpenAI in their subscription) is the standard pattern; a local Ollama-served model can stand in for development and topology testing at reduced capability.
Topology and contracts are the durable design; the runtime is a mapping with an exit sketch attached — and the Bedrock-Agents-to-AgentCore churn is the standing reason your ADR keeps them separable.