Agentic AI on AWS for the AIF-C01

Part 5 of 6 in the AIF-C01 exam prep series for developers. Previous: Domain 3: Applications of Foundation Models.
Agentic AI is the headline of the 2026 exam refresh. In the original guide it was a single mention of Amazon Bedrock Agents. In v1.1 it runs through four of the five domains, with a brand-new objective dedicated to agent concepts and four newly in-scope services. Most prep courses were recorded before any of this, so this is the post that closes the biggest gap.
Unlike the other posts, this one isn't organized by domain. It teaches agents once, end to end, and the domain posts link here.
Where agentic AI appears in the exam#
| Objective | Domain | What it asks | Section |
|---|---|---|---|
| 1.1.1, 1.1.2 | D1 | Define agentic AI; distinguish it from AI, ML, deep learning, GenAI | What makes an agent (definition taught in Post 2) |
| 1.2.4 | D1 | Agentic AI as a real-world application | Business applications |
| 2.1.5 | D2 | The role of context engineering | Context engineering |
| 2.1.6 | D2 | Multi-agent patterns, MCP, multi-agent communication, memory, tool usage, workflow orchestration | Tools, MCP, Memory, Multi-agent patterns |
| 2.3.1 | D2 | Strands Agents, Bedrock AgentCore, Kiro, Amazon Quick | Building agents on AWS, Agents you use |
| 3.1.6 | D3 | The role of AI agents and their business applications | Business applications |
| 3.4.4 | D3 | Evaluating agents and workflows | Evaluating agents |
| 3.4.5 | D3 | Business alignment metrics (taught in Post 4) | Evaluating agents |
| 5.1.1 | D5 | AgentCore Identity and Policy in AgentCore | Securing agents |
| 5.1.4 | D5 | Audit trails, output validation (taught in Post 6) | Securing agents |
What makes an agent#
A chatbot takes a prompt and returns text. An agent takes a goal and works toward it. It uses a model to decide what to do next, calls tools to do it, looks at the result, and repeats until the goal is met.
Every agent has four ingredients plus a loop:
| Ingredient | Role |
|---|---|
| Model | The reasoning engine: a foundation model that plans and decides |
| Instructions | The system prompt defining the agent's role, boundaries, and style |
| Tools | Functions and APIs the agent can call to get information or take actions |
| Memory | What the agent remembers within a session and across sessions |
| Orchestration (the loop) | Runs reason → act → observe until done, and handles errors and stopping |
Figure: The agent loop. The model decides the steps, which is what separates an agent from a fixed workflow. This pattern is often called ReAct (reason plus act).
Agent, chatbot, RAG, or workflow?#
The exam's most common agentic question is really a classification question: does this scenario need an agent at all?
| Pattern | What it does | Trigger words |
|---|---|---|
| Plain model call | One prompt in, one response out | "summarize," "draft," "rewrite" |
| RAG application | Retrieves documents, then answers from them. Read-only | "answer from our documents," "cite sources," "reduce hallucinations" |
| Workflow | A fixed, developer-defined sequence of steps. Deterministic | "always these steps in this order," "auditable," "predictable" |
| Agent | The model decides which steps and tools to use, and can take actions with side effects | "multi-step," "decide," "take action," "update the system," "adapt when something fails" |
| Multi-agent system | Several specialized agents coordinate on a larger task | "specialists," "hand off," "supervisor," "different departments" |
Tools#
A tool is a function the agent can call, described by a schema: a name, a description of what it does, and its parameters. The model reads those descriptions to decide which tool to call and with what arguments. That makes tool descriptions part of the prompt. Vague descriptions cause wrong tool choices.
On AWS, tools are typically backed by:
- AWS Lambda functions
- REST APIs described with OpenAPI
- MCP servers
- built-in capabilities such as a code interpreter or a web browser
Tool results feed back into the loop, and a failed call is information the model can reason about and recover from.
Human-in-the-loop fits naturally here: for high-impact actions, the agent pauses and returns control to a person for approval before executing.
MCP: connecting agents to external systems#
The Model Context Protocol (MCP) is an open standard, introduced by Anthropic and now widely adopted, including by AWS, for connecting agents to external tools and data.
- Hosts, clients, and servers. An agent application (the host) runs MCP clients. Each client connects to an MCP server.
- What a server exposes: tools (actions), resources (data), and prompts (reusable templates).
- The problem it solves. Without a standard, connecting M agents to N systems means M × N custom integrations. With MCP, each side implements the protocol once: M + N.
Figure: MCP standardizes how agents reach tools. AgentCore Gateway turns existing Lambda functions and APIs into MCP tools without rewriting them.
Agent-to-Agent (A2A) is the complementary protocol for agents talking to other agents, including across vendors. Agents publish an "Agent Card" describing their capabilities, so others can discover them and delegate work.
Memory management#
| Short-term memory | Long-term memory | |
|---|---|---|
| Scope | One session or conversation | Across sessions |
| Holds | Recent turns, working state, intermediate results | User preferences, learned facts, summaries of past interactions (episodic memory) |
| Lost when | The session ends | Deliberately deleted or expired |
| Example | "The order number you mentioned earlier" | "This customer prefers email over SMS" |
Memory is not a knowledge base.
- Knowledge Bases hold organizational knowledge: shared, curated, and updated in batches.
- Memory holds interaction state: usually scoped to one user and written continuously as the agent works.
Context engineering#
Objective 2.1.5 is new, and the distinction it rests on is narrow but real.
- Prompt engineering is writing a better instruction.
- Context engineering is deciding everything that occupies the model's context window at each step: system prompt, retrieved documents, conversation history, tool definitions, tool results, and memory.
Prompt engineering is a subset of it.
It matters because context is scarce and expensive, and agents are especially hungry for it. Every loop iteration re-sends a growing context, so:
- Cost rises with every token (see token pricing in Post 3).
- Latency rises, because longer input means a slower first token.
- Quality eventually falls. Relevant details get buried in noise before you hit the hard token limit, a failure sometimes called context rot.
Techniques:
| Technique | What it does |
|---|---|
| Retrieve selectively | Only the top relevant chunks, not whole documents |
| Summarize or trim history | Keep recent turns verbatim; compress older ones |
| Curate tools | Expose only the tools relevant to the task, or search tools semantically instead of listing hundreds |
| Offload to memory | Store facts in long-term memory and retrieve them when needed, instead of re-sending everything |
| Divide the work | Split into specialized agents, each with a smaller, focused context |
| Cache the stable parts | Prompt caching for the fixed prefix |
Multi-agent patterns and orchestration#
| Pattern | Shape | Use when |
|---|---|---|
| Single agent | One model, one tool set | The task fits one domain. Start here |
| Supervisor (hierarchical) | A coordinator agent delegates to specialists and assembles the result | Distinct sub-domains that need central control |
| Agents as tools | Specialist agents exposed to a parent agent as ordinary tools | The simplest form of hierarchy |
| Swarm | Peer agents hand off to each other through shared context, with no central boss | Exploratory work where the next specialist isn't known in advance |
| Graph / workflow | A predefined sequence or graph of agent steps | Auditability and repeatability matter more than flexibility |
Figure: Three multi-agent shapes: central delegation, peer hand-offs, and a fixed path.
Communication patterns follow from the shape:
- Hierarchical delegation: the supervisor sends tasks down and gets results back.
- Peer hand-off: agents pass control and context to each other.
- Shared state: agents read and write a common memory.
- Protocol-based messaging: A2A, for agents across systems or vendors.
Workflow orchestration is the control layer that decides who runs when, passes context between steps, and handles retries, time limits, and stopping.
Why split into multiple agents?
- Smaller, focused contexts improve tool selection.
- Each agent gets its own permissions.
- Parts can be developed and scaled independently.
- Simple roles can run on cheaper models.
Why not? Every hand-off adds latency and cost, and can lose context. Debugging gets harder. Start with one agent; split only when tool selection degrades or when trust boundaries genuinely differ.
Building agents on AWS#
AWS's agent stack has distinct layers, and many exam questions test whether you can tell them apart.
Figure: Strands is how the agent thinks. AgentCore is where it runs and how it's governed. The model is the brain it borrows. Kiro, Quick, and Transform are finished agentic products.
Strands Agents#
Strands Agents is an open-source SDK (Apache 2.0, for Python and TypeScript) created by AWS for building agents in code. Its philosophy is model-driven: you provide a model, a system prompt, and tools, and the model drives its own loop, rather than you hardcoding a flowchart.
- Tools: any Python function becomes a tool with the
@tooldecorator, and MCP servers plug in directly. - Model-agnostic: Amazon Bedrock by default, and also Anthropic, OpenAI, and others.
- Runs anywhere: your laptop, AWS Lambda, containers, or AgentCore Runtime.
- Multi-agent built in: agents as tools, swarm, graph, and workflow.
- Observability: emits OpenTelemetry traces.
Here's the smallest meaningful agent: a model, instructions, and one tool.
from strands import Agent, tool
@tool
def get_order_status(order_id: str) -> str:
"""Look up the current shipping status of a customer order.
Args:
order_id: The order identifier, for example "A-1042".
"""
return orders_db.lookup(order_id) # your real system goes here
agent = Agent(
system_prompt="You are a support agent. Check facts with tools; never guess.",
tools=[get_order_status], # the model decides when to call this
) # the model defaults to one on Amazon Bedrock
agent("Where is my order A-1042?")
Illustrative only; the exam never asks you to read code. The docstring is the tool description the model reads when choosing tools.
Amazon Bedrock AgentCore#
AgentCore is a managed platform for running agents securely at scale. Three properties come up repeatedly:
- Framework-agnostic: Strands, LangGraph, CrewAI, LlamaIndex, and others.
- Model-agnostic: models inside or outside Bedrock.
- Composable: each service works on its own or together with the others.
| Service | What it does | Scenario trigger |
|---|---|---|
| Runtime | Serverless hosting for agents, with session isolation (each session in its own microVM), fast cold starts, long-running sessions, and MCP and A2A support | "Deploy our existing LangGraph agent," "sessions must not leak," "long-running" |
| Harness | A managed agent loop: declare model, prompt, and tools in one API call, with no orchestration code | "Config-only agent," "no code for the loop," migrating from Bedrock Agents Classic |
| Memory | Managed short-term and long-term memory | "Remember this user's preferences next month" |
| Gateway | Turns Lambda functions and APIs into MCP tools, connects existing MCP servers, and offers one secure endpoint with semantic tool search | "Expose our internal APIs to agents," "too many tools" |
| Identity | Agent identity plus inbound and outbound authentication; works with identity providers such as Amazon Cognito, Okta, and Microsoft Entra ID; stores tokens in a secure vault | "Act on behalf of the user in Slack or Google" |
| Policy | Deterministic rules on actions, written in Cedar (AWS's open-source policy language), enforced at the Gateway before any tool call executes | "Must never issue a refund over 500 USD," "enforce outside the agent's code" |
| Observability | Step-by-step traces of reasoning and tool calls, OpenTelemetry-compatible, sent to CloudWatch | "Why did the agent do that?" |
| Evaluations | Scores agent sessions, traces, and tool calls with built-in evaluators (helpfulness, correctness, goal success) and custom ones | "Is the agent choosing the right tools?" |
| Code Interpreter | Sandboxed code execution | "Analyze this CSV," "calculate reliably" |
| Browser | Managed cloud browser for sites with no API | "The legacy portal has a web UI but no API" |
| Optimization | Recommends prompt and tool-description improvements from real traces, and A/B tests them | "Improve the agent using production data" |
Figure: How AgentCore's services fit together around a running agent. Policy sits in front of every tool call, outside the agent's own reasoning.
Bedrock Agents Classic#
Amazon Bedrock Agents, the original managed agent service from 2023, is now Bedrock Agents Classic. It's in maintenance mode and closed to new customers from July 30, 2026. Existing workloads keep running, and AWS recommends migrating to AgentCore; the AgentCore Harness is the closest equivalent.
Its concepts are still worth knowing because they reappear generically:
- Instructions: the agent's role, in natural language.
- Action groups: tools defined by OpenAPI schemas or function definitions, executed by Lambda.
- Knowledge bases: attached for RAG.
- Orchestration: the model plans steps and executes them.
- Traces: show each reasoning step and tool call.
Agentic services you use rather than build#
| Service | What it is | Persona |
|---|---|---|
| Kiro | AWS's agentic IDE (and CLI) built around spec-driven development: a prompt becomes requirements, a design, and a task list you approve before agents write the code. Adds hooks (event-triggered agent tasks), steering files (project conventions the agent must follow), and MCP support | Developers |
| Amazon Quick | Agentic workspace for business users. It evolved from Amazon QuickSight and absorbed Amazon Q Business's role, combining BI dashboards, research over company data, and no-code automation flows | Analysts, business teams |
| AWS Transform | Agentic modernization of legacy workloads: mainframe (COBOL), Windows and .NET, VMware migrations, and code upgrades | Modernization and migration teams |
| Amazon Nova Act | Builds agents that operate web browsers to automate UI workflows | Developers automating web tasks |
Business applications of agents#
| Area | What an agent does |
|---|---|
| Customer service | Resolves the case end to end: looks up the order, checks policy, issues the refund within limits, updates the ticket |
| IT operations | Triages incidents, queries logs and metrics, runs approved remediation steps |
| Insurance and finance | Gathers documents, extracts data, checks rules, and routes claims or applications for approval |
| Sales operations | Researches accounts, drafts outreach, updates the CRM |
| Software development | Plans features, writes and tests code, opens pull requests (Kiro) |
| Research and analysis | Searches multiple sources and synthesizes findings (Amazon Quick) |
| Legacy modernization | Analyzes and refactors legacy code (AWS Transform) |
The common thread is multi-step work that crosses systems and requires decisions along the way. If the steps never vary, a workflow is cheaper and more predictable. If nothing needs to change in any system, RAG is enough.
Evaluating agents#
An agent can produce a good final answer by a wasteful or dangerous path. So agent evaluation looks at the trajectory, not just the output:
| Level | Questions | Examples |
|---|---|---|
| Trajectory | Did it pick the right tools, with correct arguments, in a sensible order? Did it recover from errors? Did it avoid loops? | Tool selection accuracy, step count, error recovery |
| Outcome | Did it achieve the goal correctly and helpfully? | Goal success, correctness, helpfulness |
| Business | Was it worth it? | Task completion rate, user satisfaction, cost per interaction, escalation rate |
On AWS:
- AgentCore Observability captures every step.
- AgentCore Evaluations scores sessions, traces, and tool calls, on demand or continuously.
- Optimization proposes and A/B-tests improvements.
| To evaluate… | Use |
|---|---|
| A model's responses | Bedrock Model Evaluation |
| A RAG application | Bedrock Knowledge Base evaluation |
| An agent's tool use and task completion | AgentCore Evaluations |
Securing agents#
An agent can do things, so its security model goes beyond content filtering. Know which layer controls what:
| Control | Governs | Question it answers | Deterministic? |
|---|---|---|---|
| Bedrock Guardrails | Content of model inputs and outputs | Is this safe to say? | No; probabilistic filtering |
| Policy in AgentCore | Tool calls and their arguments, at the Gateway | Is this action allowed right now? | Yes |
| IAM | AWS resources the agent's role can access | Can this workload touch that resource? | Yes |
| AgentCore Identity | Who the agent is and on whose behalf it acts | Is the caller allowed in, and which user's permissions apply outbound? | Yes; a token is valid or it isn't |
AgentCore Identity handles two directions:
- Inbound: is this user or app allowed to invoke the agent?
- Outbound: the agent needs to call a third-party service, such as Google Calendar, as a specific user. Identity brokers that user's OAuth tokens from a secure vault, so the agent never holds long-lived credentials and can only do what that user is allowed to do.
Agent-specific risks to be able to name:
| Risk | What it is | Mitigation |
|---|---|---|
| Indirect prompt injection | Malicious instructions arrive through a retrieved document, web page, or tool result, not from the user | Enforce authorization outside the model (Policy at the Gateway); never let prompt text alone authorize an action; validate outputs |
| Excessive agency | The agent has more permissions or tools than its job needs | Least privilege: one tightly scoped role per agent; minimal tool set |
| Confused deputy | The agent uses its own broad privileges to do something the user couldn't | Act on behalf of the user with scoped identity, not agent-wide credentials |
| Cross-session leakage | One user's data bleeds into another's session | Session isolation (AgentCore Runtime's per-session microVMs) |
| Lack of auditability | No record of what the agent did and why | CloudTrail for AWS API calls; AgentCore Observability for reasoning and tool traces; Bedrock model invocation logging for prompts and responses |
Commonly confused#
| If the scenario says… | Answer | Not… | Because |
|---|---|---|---|
| Answer questions from internal manuals, read-only | Bedrock Knowledge Bases | An agent | No actions or decisions needed |
| Same five steps, same order, every time | Workflow (for example, Bedrock Flows) | An agent | Deterministic beats autonomous |
| Take multi-step actions across systems | An agent | RAG | Requires tools and decisions |
| Deploy an existing LangGraph agent with session isolation | AgentCore Runtime | Strands Agents | Hosting is a platform job |
| Define agent logic in open-source Python | Strands Agents | AgentCore | Framework layer, not platform layer |
| Config-only agent, no orchestration code | AgentCore Harness | AgentCore Runtime | AWS runs the loop |
| Expose 200 internal APIs to agents securely | AgentCore Gateway | Writing custom integrations | Converts APIs to MCP tools, with auth and tool search |
| Standard way to connect agents to tools and data | MCP | A2A | A2A is agent-to-agent |
| Agents from different vendors delegate tasks to each other | A2A | MCP | MCP is agent-to-tool |
| Remember a user's preferences across sessions | AgentCore Memory (long-term) | Knowledge Bases | Interaction state, user-scoped |
| See each step the agent took and why | AgentCore Observability | CloudTrail | CloudTrail records AWS API calls, not reasoning |
| Test whether the agent picks the right tools | AgentCore Evaluations | Bedrock Model Evaluation | Model Evaluation scores models, not trajectories |
| Developers want an AI IDE that plans before coding | Kiro | Amazon Quick | Quick is for business users |
| Modernize a COBOL mainframe application | AWS Transform | Kiro | Transform owns legacy modernization |
Practice questions#
Q1 (ordering). Put the steps of a single-agent loop in order.
- A. Observe the tool's result
- B. Reason about the goal and plan the next step
- C. Return the final answer
- D. Call the selected tool
- E. Receive the user's goal
Show answer
E → B → D → A → C.
In practice, B → D → A repeats until the model decides the goal is met.
Q2 (matching). Match each requirement to the AgentCore service that meets it.
| Requirement | |
|---|---|
| 1. Host an existing CrewAI agent with isolated sessions per user | |
| 2. Remember each customer's preferences between conversations | |
| 3. Expose internal REST APIs to agents as MCP tools | |
| 4. Let the agent access a user's calendar with that user's permissions | |
| 5. Block any refund above a fixed limit, regardless of what the model decides |
Services: Memory, Policy, Runtime, Identity, Gateway.
Show answer
1 → Runtime, 2 → Memory, 3 → Gateway, 4 → Identity, 5 → Policy.
Q3. A company wants its agents to connect to many internal and third-party systems through a single open standard, so each integration is built once and reused by any agent. What should they use?
- A. Agent-to-Agent (A2A) protocol
- B. Model Context Protocol (MCP)
- C. Amazon Bedrock Flows
- D. Amazon Bedrock Knowledge Bases
Show answer
Answer: B. MCP standardizes how agents connect to tools and data sources, turning M × N integrations into M + N.
- A connects agents to other agents.
- C orchestrates fixed workflows.
- D provides retrieval, not a general integration standard.
Q4. A development team wants an open-source SDK to define an agent's model, instructions, and tools in Python, and to be able to run it locally or on AWS. What should they use?
- A. Amazon Bedrock AgentCore Runtime
- B. Strands Agents
- C. Amazon Quick
- D. Kiro
Show answer
Answer: B. Strands Agents is AWS's open-source, model-driven agent SDK.
- A hosts agents but doesn't define their logic.
- C is a business-user workspace.
- D is an IDE for writing application code.
Q5. A marketing manager with no coding experience wants to analyze campaign data, research competitors across company documents, and automate a weekly summary report. Which service fits best?
- A. Kiro
- B. Strands Agents
- C. Amazon Quick
- D. Amazon SageMaker AI
Show answer
Answer: C. Amazon Quick is the agentic workspace for business users: BI, research, and no-code automation.
- A, B, and D are developer or data science tools.
Q6. A support agent performs well in short tests. In production, long conversations make it slower, more expensive, and less accurate, and with 60 available tools it often calls the wrong one. What is the best approach?
- A. Switch to a larger model with a bigger context window
- B. Apply context engineering: summarize older turns, curate the tools exposed per task, and retrieve only relevant context
- C. Increase the temperature
- D. Fine-tune the model on past conversations
Show answer
Answer: B. The context window is filling with noise. Trimming history, curating tools, and selective retrieval improve accuracy, cost, and latency together.
- A adds cost and doesn't fix the noise.
- C increases randomness.
- D doesn't address what's in the context window.
Q7. An airline's customer service agent can issue refunds through a tool. The business rule is that the agent must never issue a refund above 500 USD, and the rule must hold even if the model is manipulated. Which control fits best?
- A. Add the rule to the agent's system prompt
- B. Bedrock Guardrails denied topics
- C. Policy in Amazon Bedrock AgentCore
- D. A larger, more capable model
Show answer
Answer: C. Policy enforces deterministic rules on tool calls at the Gateway, outside the model's reasoning, so a manipulated model can't talk its way past it.
- A lives inside the prompt, which prompt injection can override.
- B filters content, not actions.
- D doesn't enforce anything.
Q8. An agent summarizes customer documents. One document contains hidden text instructing the agent to email its tool credentials to an external address. What kind of attack is this, and which mitigation is most effective?
- A. Jailbreaking; use a higher temperature
- B. Indirect prompt injection; enforce least privilege and authorize actions outside the model, for example with AgentCore Policy
- C. Data poisoning; retrain the model
- D. Model inversion; encrypt the documents
Show answer
Answer: B. The attack arrives through content the agent processes, not from the user. The defense is to make sure the agent can't take the harmful action: scoped permissions, a minimal tool set, and authorization enforced outside the model.
- A misnames the attack, and temperature is irrelevant.
- C targets training data, not runtime content.
- D misnames the attack; encryption doesn't stop the agent from following instructions it reads.
Q9. A bank is automating loan processing with several agents: document extraction, validation, risk scoring, and approval. Regulators require the same auditable sequence for every application. Which multi-agent pattern fits best?
- A. Swarm
- B. Supervisor with dynamic delegation
- C. Graph / workflow
- D. A single agent with all tools
Show answer
Answer: C. A predefined graph gives every application the same, auditable path.
- A and B let agents decide the path dynamically, which is harder to audit.
- D puts every tool and decision in one unpredictable loop.
Key takeaways#
- An agent is a model plus instructions, tools, and memory, running in a loop. GenAI creates; agents act.
- Use the simplest pattern that works: plain call → RAG (read-only) → workflow (fixed steps) → agent (model decides and acts) → multi-agent.
- MCP connects agents to tools. A2A connects agents to agents.
- Memory holds interaction state; Knowledge Bases hold organizational knowledge.
- Context engineering manages everything in the context window. It's the fix for agents that degrade over long sessions or have too many tools.
- Multi-agent patterns: supervisor for departments, swarm for exploration, graph for auditability.
- Strands builds the agent; AgentCore runs and governs it; Bedrock provides the model. Bedrock Agents is now Agents Classic.
- Kiro is for developers, Quick is for business users, Transform is for legacy modernization.
- Evaluate the trajectory, not just the answer: AgentCore Observability plus Evaluations.
- Security layers: Guardrails for what agents say, Policy for what they do, IAM for what they can touch, Identity for whose behalf they act on.
Next: Domains 4 + 5: Responsible AI, Security, and Governance.
Sources#
Originally published at https://iuriio.com/blog/posts/2026/09/aif-c01-part-5-agentic-ai

