BXUP Track progress & test yourself — free
Cloud & Solutions Architecture · Module · ~13 min read
CLOUD & SOLUTIONS ARCHITECTURE · MODULE

Designing Agentic Systems

"Build us an agent" is a requirement the way "build us a database" is a requirement. This module gives you the design vocabulary — five composable patterns, topology choices, memory, MCP tool integration, blast-radius control and tenancy — to turn agent hype into architecture, starting with the question of whether you need an agent at all.

The posting evidence sets the bar plainly: "multi-agent orchestrations" and "orchestration, tool calling, memory, planning" now appear verbatim in senior architect JDs. But the most valuable judgment this module installs is the opposite of enthusiasm — knowing when a deterministic workflow beats an autonomous agent, and being able to defend that call to a client who asked for the buzzword.

The scenario — the client asked for an agent; half the scope is a workflow

  1. THE RFP LINE

    Meridian Retail's RFP reads: "an AI agent that handles order status, returns initiation, and support escalations." Rajesh's solution team reads "agent" and starts drawing.

  2. DAY 1

    The first draft is a swarm. Five collaborating agents, a planner, shared memory, autonomous tool use end to end. Impressive diagram. Rajesh asks one question per box: what decision does this component make that a lookup can't?

  3. DAY 2

    Pattern mapping. He maps each requirement to Anthropic's five composable patterns. Order status is fetch → summarize → respond: prompt chaining with a routing front end. Escalation triage is routing. Only returns initiation — judgment over policy, then a state-changing action — justifies an agent, and a bounded one.

  4. DAY 3

    The platform lesson. The team's draft targeted Bedrock Agents classic — which closes to new customers in July 2026, with AgentCore as the successor. One slide in Rajesh's deck now reads: agent platforms churn; architect for replaceable runtimes.

  5. DAY 4

    The tool layer. All agent access to Meridian's order APIs flows through one MCP server with tiered authorization: reads are free, refund-issuing writes require human approval. The client's risk team, skeptical of "AI agents," approves this slide first.

  6. THE PITCH

    Rajesh presents a workflow for roughly 70% of the scope and one narrowly scoped, approval-gated agent for the rest. Cheaper to run, testable in CI, and the client's own words come back: "this is the first agent proposal our risk team didn't kill."

The deliverable Rajesh sold was not an agent — it was a defensible boundary between deterministic workflow and model autonomy, with the autonomy priced, gated and revocable. That boundary is this module.

What You'll Learn

  • Workflow-vs-agent judgmentapply the five composable patterns (prompt chaining, routing, parallelization, orchestrator–workers, evaluator–optimizer) and use the simplest one that works, reserving full autonomy for problems that genuinely need dynamic planning.
  • Multi-agent topology designchoose supervisor, peer, or hierarchical topologies, and decide between managed runtimes (Bedrock AgentCore, Foundry Agent Service) and frameworks (LangGraph, CrewAI) with platform churn priced in.
  • Memory and state architectureseparate session state from long-term memory, design checkpointing for resumability, and choose managed memory services against self-managed stores.
  • MCP integration architecturedesign the tool surface on the Linux Foundation-governed standard, with OAuth resource-server auth and read/write authorization tiering.
  • Blast-radius and approval architectureallowlists, approval tiers by irreversibility, kill switches and audit trails, expressed as an autonomy ladder with written exit criteria.
  • Multi-tenant and interoperability strategypooled vs siloed runtimes, per-tenant identity propagation to tools, and how to place standards bets while the registry layer is still churning.

Workflow or agent — the first decision

Anthropic's "Building Effective Agents" taxonomy is the industry's de-facto design vocabulary — mirrored in Spring AI's docs and aligned with the AWS Agentic AI Lens design principles. It matters because it gives you five composable workflow patterns to exhaust before you reach for autonomy:

  • Prompt chainingdecompose a task into fixed sequential LLM calls, each consuming the last one's output. Deterministic control flow, model judgment only inside each step.
  • Routingclassify the input, dispatch to a specialized handler. The classifier is a model; the routes are yours.
  • Parallelizationfan a task out (sectioning) or run the same task multiple times (voting), then aggregate. Buys speed or confidence, not autonomy.
  • Orchestrator–workersa model dynamically decomposes the task and delegates to workers. The first pattern where the structure of the work is model-decided.
  • Evaluator–optimizerone model generates, another critiques, loop until the critique passes. A quality ladder, still bounded.

An agent, in this vocabulary, is the step beyond: the model plans its own path, chooses tools in a loop, and decides when it's done. That flexibility costs you predictability, testability, latency, tokens, and a much harder review with the client's risk team — so the design rule is blunt: use the simplest pattern that meets the requirement, and make autonomy earn its place per capability, not per project.

Here is Rajesh's Meridian mapping — the worked example this module's lab repeats across six scenarios:

RequirementWhat it actually needsPatternWhy not an agent?
Order status queriesFetch order, summarize statePrompt chaining behind routingDeterministic path; nothing to plan
FAQ / policy answersRetrieve policy, answer with citationRouting → RAG chainRetrieval quality problem, not autonomy problem
Escalation triageClassify severity, route to queueRoutingThe routes are business rules
Returns initiationJudge eligibility, then act on the order systemBounded agentPolicy judgment + state change; gated by approval
Exam Tip

When an assessment scenario says the stakeholder "wants an agent," the scored skill is pattern selection — the correct answer names the cheapest of the five patterns that satisfies the requirement, and reserves the word "agent" for scope that needs dynamic planning plus tool use.

Multi-agent topologies — and the platform churn lesson

When one agent's context or tool surface grows too broad, you split it — and the split has a shape. Three topologies cover practice:

  • Supervisor (router)one agent owns the conversation and delegates to domain specialists. AWS's own multi-agent orchestration guidance uses exactly this shape: supervisor routing to specialists. Easiest to reason about, easiest to gate — the supervisor is your single audit and approval point.
  • Peer collaborationagents hand work to each other without a boss. Flexible, and the hardest to debug or bound; a message from a peer is untrusted input if that peer processed anything untrusted.
  • Hierarchicalsupervisors of supervisors, for genuinely large scopes. Rare in first systems; if your first agent design needs it, revisit the workflow question.

The runtime decision runs on a familiar axis — managed runtimes (Bedrock AgentCore, Azure AI Foundry Agent Service, Vertex's agent platform) give you sessions, memory, identity and gateway integration off the shelf; frameworks (LangGraph, CrewAI, Strands) give you portability and control with the ops bill attached. But this market adds a twist the RAG module didn't have: churn is structural. The case study is first-party: Bedrock Agents classic closes to new customers in July 2026, with AgentCore as the successor — teams that coupled their agent logic to the classic service's abstractions inherited a migration. The design consequence:

  • Keep agent logic portableprompts, tool contracts and orchestration graphs live in your repo, not encoded exclusively in a vendor's console.
  • Standardize the tool layer on MCP (next section) — tools survive runtime swaps when the integration standard is vendor-neutral.
  • Record the runtime choice as an ADR with a revisit datea platform bet in this market has a shelf life, and writing that down is what makes the eventual migration a plan instead of a surprise.

Memory and state architecture

Agents fail without memory design the way web apps fail without session design — and the JD bar names memory explicitly. Separate three concerns:

  • Session statethe working context of one task: conversation turns, tool results, intermediate plans. Managed runtimes bound this for you — AgentCore Runtime holds session state for up to 8 hours — and that bound is a design input: any task that must survive longer needs explicit persistence, not a hope.
  • Long-term memorywhat persists across sessions: user preferences, case history, learned facts. Managed options (AgentCore Memory offers short- and long-term context) trade convenience for another platform coupling; self-managed Redis or Postgres state keeps it portable. Either way, the Security track's warning travels with it: memory writes are a trust boundary, memory reads are untrusted input, and memory is scoped per user — a poisoned memory is a persistent injection.
  • Checkpointing and resumabilitylong-running agent work dies mid-flight: timeouts, quota exhaustion, restarts. LangGraph-class checkpointers persist the graph state so work resumes instead of restarting — which also gives you replayable audit trails and a natural place to pause for human approval.

Context-window budget is the fourth, quieter concern: an agent that stuffs its entire history into every call burns tokens quadratically and degrades its own reasoning. Decide at design time what gets summarized, what gets retrieved on demand, and what gets dropped.

Note

Every memory decision is also a compliance decision — long-term memory containing personal data inherits DPDP/GDPR retention and deletion obligations, so the "can we delete one user's memory?" question belongs in the design review, not the incident review.

MCP is the integration layer — design the tool surface

The tool surface is where an agent touches your real systems, and it now has a standard worth betting on: the Model Context Protocol was donated to the Linux Foundation's Agentic AI Foundation in December 2025 with AWS, Google, Microsoft and OpenAI backing — vendor-neutral governance is exactly the signal an architect waits for before standardizing. The 2025-06-18 specification added the pieces enterprise designs need: structured tool output, OAuth resource-server authorization, and RFC 8707 resource indicators.

Designing the tool surface means four decisions:

  • One gateway, not N integrations. Route all agent tool access through an MCP layer (self-hosted servers or a managed gateway like AgentCore Gateway) so authorization, audit and rate limits live in one place. The DevOps track operates this gateway; you design its placement.
  • Authorization tiering by verb. Classify every tool as read or write, and every write by blast radius. Reads flow; low-risk writes execute with logging; high-risk writes (refunds, deletions, external communications) require approval. This tiering is what made Rajesh's risk-team slide land.
  • OAuth resource-server auth, per the spectools authenticate the agent's delegated identity, not a shared god-token. The agent should act as someone, with that someone's permissions.
  • Tool results are untrusted input. A compromised or spoofed MCP server is an injection channel; provenance on which server returned what, and an allowlist of approved servers reviewed like any third-party dependency, are part of the architecture.

A tool-tier table is the artifact — one row per tool, and the lab grades it:

ToolVerbBlast radiusTierGate
get_order_statusreadnone1log only
search_policiesreadnone1log only
update_ticket_prioritywritereversible2allowlist + log
initiate_returnwritecustomer-visible3human approval
issue_refundwriteirreversible, financial3human approval + dual control

Blast radius, approvals, and the autonomy ladder

The blast radius of a hijacked or simply wrong agent is everything it can do — so what it can do is a designed, written-down quantity. Four mechanisms compose the architecture that the DevOps track's guardrail operations then run:

  • Action allowliststhe agent's possible actions are enumerated, not open-ended; anything off-list doesn't exist, enforced by policy (OPA-class engines), not by prompt.
  • Approval tiers by irreversibilitythe tool-tier table above, generalized: the more irreversible the action, the higher the gate. Reversibility, not convenience, sets the tier.
  • Kill switchesa way to stop the agent class, per tenant and globally, that works when the agent is misbehaving because of its inputs. Designed in from day one; retrofitting one during an incident is the bad timeline.
  • Audit trailsevery tool call, input provenance and approval recorded, replayable. This is also your evidence base for promoting autonomy.

Autonomy itself is a setting you write down and revisit — never a property that drifts upward because the agent has been reliable lately:

TIER 1 · START HERE

Advise only

The agent proposes actions; humans execute them. Every proposal is logged and graded against what the human actually did.

TIER 2 · EARN IT

Act with approval

Allowlisted actions execute after a human clicks yes. Anything derived from untrusted input always routes through the gate.

TIER 3 · BOUNDED

Autonomous, narrowly

The agent acts without waiting — on reversible, low-blast-radius, allowlisted actions only, under kill switch and sampling review.

Warning

An agent design without a kill switch, an allowlist and written promotion criteria is not "autonomous" — it is unsupervised, and the ARB (and the client's risk team) will be right to kill it.

Multi-tenancy and the interoperability bet

Two org-level decisions close out the module.

Tenancy. A customer-facing agent serving many tenants forces the pooled-vs-siloed choice. AWS's first-party pattern for AgentCore — a pooled runtime behind a centralized MCP gateway — is the economical shape: one runtime, with per-tenant identity propagated through every tool call, tenant-scoped memory, and per-tenant cost metering. The discipline that makes pooled safe: the tenant's identity, not the platform's, is what each tool sees — so a confused or hijacked agent still can't cross a tenant boundary the tools enforce. Siloed (per-tenant) runtimes trade cost for structural isolation, and regulated tenants may contractually require exactly that; noisy-neighbor behavior and per-tenant kill switches push the same direction. This is the RAG tenancy decision again, one layer up — and the same bias applies: the more regulated the data, the more structural the isolation.

Interoperability and registries. Agent-to-agent protocols (A2A-class), internal MCP registries, discovery and capability versioning are consolidating under the Linux Foundation umbrella — but registry practice is young, and honest guidance says so. The strategy that survives churn: standardize on MCP for tools now (governance and backing justify it), keep an internal catalog of approved servers and agent capabilities (a reviewed allowlist is a registry seed), version tool contracts like any API, and treat cross-org agent-to-agent interop as a quarterly-revisit ADR rather than a commitment. Place small bets on standards, big bets on portability.

Where this lands in your week

  • In requirements meetingswhen the word "agent" appears, you run the five-pattern mapping before anyone draws boxes; most scope resolves to chaining and routing, and you can show why.
  • In the design doctopology, runtime, and memory land as ADRs with revisit dates, because this platform market churns and your document should admit it.
  • In the tool reviewthe tool-tier table is the artifact you walk the security and risk teams through; it is the slide that gets agent proposals approved.
  • In the ARB packthe autonomy ladder with written exit criteria turns "how much can it do on its own?" from a fear into a governed setting.
  • In client conversations"we scoped the agent down to where it earns its autonomy" is a differentiator in 2026 RFP responses, not a concession.
Key Takeaway:

Agentic design is subtraction — exhaust the five workflow patterns before granting autonomy, route every tool call through a tiered MCP layer, bound every action by allowlist and approval tier, and treat runtime choice as a churn-priced, revisitable ADR — because the agent that survives review is the one whose blast radius was designed, not discovered.

Your playbooks & labs

Take this module into Lab 09 (agent pattern selection workshop) — six scenarios, from support triage to pricing approval, each mapped to one of the five patterns or "no agent needed," with your justification graded — and Lab 10 (multi-agent POC with an MCP tool layer), where you'll build a supervisor plus two specialists with every tool call flowing through one MCP server with read/write authorization tiering, and demonstrate a blocked unauthorized write as the completion artifact.

Companion playbooks: pb-34 (Workflow vs Agent — the Five Composable Patterns), pb-35 (Multi-Agent Topology Design on Managed Runtimes vs Frameworks), pb-36 (Agent Memory & State Architecture), pb-37 (Tool-Calling & MCP Integration Architecture), pb-38 (Agent Blast-Radius & Human-Approval Architecture), pb-39 (Multi-Tenant Agent Architecture), and pb-40 (Agent Interoperability & Registry Strategy).

This is the free reading view. Open BXUP to track your progress, run the hands-on labs, and prove it with original, exam-pattern assessments.
© Anvi Innovate · BXUP — Be Exponentially Upskilled · BXUP is an independent learning platform, not affiliated with or endorsed by AWS, Microsoft, Google, NVIDIA, IBM, Salesforce, Databricks, Oracle or Anthropic. All trademarks belong to their respective owners. · bxup.in