- Home
- AI agents
- What is an AI agent?
- Anatomy of an AI agent
Plan · What is an AI agent?
Anatomy of an AI agent: the parts and where each one lives
An AI agent is built from a model, instructions, tools, knowledge, memory and the orchestration that runs the loop, with an identity, a human approval step, guardrails and observability around them. Each part lives in a named product on Microsoft, AWS and Google. Developers add skills, which package instructions for a task, and AGENTS.md files for coding agents.
In this guide: 83 pages
Key takeaways
- The minimum anatomy is three parts, model, tools and instructions, and the enterprise anatomy adds knowledge, memory, orchestration, identity and human approval. Each maps onto a product you can name on all three clouds.
- The model never runs a tool. Your runtime does, which is where policy, identity and logging belong.
- Identity is now part of the anatomy: AgentCore Identity has been generally available since 13 Oct 2025, Copilot Studio has created a Microsoft Entra Agent ID for every new agent since July 2026, and Google issues a SPIFFE-based identity.
- Skills package the instructions and files for one task so an agent loads them only when needed; AGENTS.md is the file at the root of a repository that tells coding agents how to work there. Both are now Agentic AI Foundation projects under the Linux Foundation.
What are the parts of an AI agent?
Ten, if you count the controls. Inside the agent: model, instructions, tools, knowledge, memory and orchestration. Around it: runtime, identity, human approval, and observability with evaluation and a registry record. OpenAI’s minimum anatomy is the first three; Anthropic calls the model with retrieval, tools and memory added the augmented LLM.
The ten parts, the decision each one forces, and what goes wrong without it.
| Part | What it is | The decision you make | What goes wrong without it |
|---|---|---|---|
| Model | The reasoning engine that reads the situation and writes the next tool call | Which model plans, which cheaper one handles routine steps, and whether a router picks per request | No way to trade cost against quality per step |
| Instructions | The system prompt: goal, rules, persona, forbidden actions | What the agent must never do, and how it hands off | The model fills the gaps with its own defaults |
| Tools | Named operations with a description and a JSON schema the model can request | Which tools, how many at once (vendors say under 20 active), and which need approval | Wrong tool or wrong arguments, which Anthropic reports as the most common failure |
| Knowledge | Search over company content, returning only what the user may see | Indexed or live retrieval, and whose permissions apply | Confident answers from documents the user should never have seen |
| Memory | What the agent keeps within a session and across sessions | What to remember, for how long, and who can read it | Repeated questions, or a memory poisoned through ordinary queries |
| Orchestration | The loop, a fixed workflow, or several agents | Single agent first; a workflow for fixed steps; multi-agent only for broad parallel work | Token cost about 15 times a chat for multi-agent, and conflicting decisions between agents |
| Runtime | Isolated sessions, scaling and state | A managed runtime or your own containers | Shared sessions, and state lost after a crash |
| Identity | The agent’s own login, acting for a user or as itself | Delegated or autonomous access per tool; no shared credentials | Unattributable actions, and Conditional Access that never applies |
| Human approval | A pause on risky steps with the tool and its arguments shown | Which tools need it, who approves, and what happens on timeout | Irreversible actions with nobody accountable, or approval fatigue |
| Observability, evaluation and registry | Traces of every call, tests against acceptance criteria, a record with an owner | What to log (content off by default), what the pass bar is, who owns the agent | Failures with no error signal, and an agent nobody can switch off |
How do the parts work together on one request?
A request can touch every part in a single turn. The runtime starts a session under the agent’s identity, the model reads instructions, memory and the tool list, picks a tool, the call passes guardrails and policy, the runtime runs it, the result returns to the model, and the trace records all of it.
Take the illustrative order-change agent in the diagram. A service representative pastes a customer email into Teams. The runtime opens a session under the agent’s identity, acting on behalf of that representative, so every downstream call carries her permissions and no more. The model reads its instructions (find the order, propose the change, never touch price), the email, and the definitions of the tools it may call.
It asks for the order-lookup tool with the order number it extracted. Before the call runs, two checks happen outside the model: a guardrail on the tool call (is this tool allowed for this agent, with these arguments?) and the identity check at the system of record (may this representative read this order?). The runtime runs the call, appends the result, and the model proposes a change. The order-change tool is marked as needing approval, so the run pauses with the exact arguments shown to the representative. She approves, the runtime executes the change through a deterministic flow, and the trace records the model calls, the tool calls, the approval and the tokens used.
Memory decides what the next request looks like. Session memory keeps the conversation within the task. Cross-session memory, if the design allows it, would let the agent recall that this customer always ships to the same warehouse. Most first agents should run without it, because what the agent remembers is data that needs retention rules and access control, and because the MINJA paper (March 2025, revised February 2026) showed an agent’s memory can be poisoned through ordinary queries alone, with no write access.
What are agent skills and AGENTS.md?
Both are files that carry instructions for an agent. A skill is a folder with a SKILL.md file (a name, a description and instructions, plus optional scripts and reference files) that an agent loads only when a task matches its description. AGENTS.md is a Markdown file at the root of a code repository that tells coding agents how to work in that project.
Skills solve a context problem: an agent that knows many procedures would otherwise carry all of them in its prompt on every call. With skills it loads only each skill’s name and description at startup, reads the full SKILL.md when a task matches, and runs any bundled scripts as it goes; the format calls this progressive disclosure. Anthropic released the format as an open standard, and on 22 Oct 2026 the Agentic AI Foundation, under the Linux Foundation, took it in as a project alongside MCP and A2A. The platforms followed: Microsoft Foundry Toolboxes carry skills (preview), Google’s Skill Registry entered preview on 19 May 2026, AWS Agent Registry stores skills as a record type, and the AgentCore managed harness is configured with a model, tools, skills and instructions.
AGENTS.md started with OpenAI and became a founding project of the Agentic AI Foundation on 9 Dec 2025, together with MCP and goose. The file sits at the root of a repository, with nested files in subprojects taking precedence, and holds setup commands, code style, testing and pull-request instructions, and security notes. The project site lists Codex, GitHub Copilot’s coding agent, Cursor, Gemini CLI, goose and others as readers, and says more than 60,000 open-source projects carry one. OpenAI’s current model guide notes that GPT-6 Astra is more sensitive to instructions in skills and AGENTS.md files than earlier models, which is the practical reason to version both as code and rerun the evaluation set when they change.
For an IT leader the two matter for one reason: they are instructions that change the agent’s behaviour without a release of the agent itself. Treat them as configuration under change control, with an owner and a review, the same as a prompt.
Which parts of an agent need controls of their own?
Four: identity, human approval, guardrails and observability. They sit outside the model because the model can be steered by what it reads, so the limit has to be enforced by software the model cannot edit.
Identity: each agent gets its own identity object, from an identity blueprint in Microsoft Entra, a workload identity in the AgentCore Identity directory, or a SPIFFE-based principal on Google Cloud. Per tool you decide whether it acts for a user (the token is exchanged for one scoped to the downstream system, so the agent can never exceed the user’s rights) or as itself. Microsoft’s docs say reusing user accounts for agents breaks Conditional Access, ID Protection and governance.
Human approval: a tool marked as needing approval pauses the run with the tool name and arguments. Microsoft Agent Framework uses approval_mode set to always_require, the Foundry MCP tool defaults require_approval to always, the OpenAI Agents SDK uses needs_approval, LangGraph uses interrupt, and Google ADK uses require_confirmation (experimental). Approval responses must be bound to the pending request, or a replayed message can approve a privileged call.
Guardrails: checks on input from every untrusted channel, including tool results, and a deterministic policy on tool calls. AgentCore Policy (GA 3 Mar 2026) evaluates Cedar rules on every tool request through the Gateway; Foundry agent guardrails add tool-call and tool-response intervention points (preview); Google Agent Gateway is the policy point every tool call passes through, with Model Armor inline.
Observability: OpenTelemetry spans for each agent invocation, model call and tool call (the GenAI conventions are still in Development status), with token counts and latency recorded by default and prompts, arguments and results captured only by opt-in. The registry record ties the traces to an owner, a risk tier and an approval state, so an incident starts from the record. The guardrails, identity, observability and registry topics each have their own pages.
How do Microsoft, AWS and Google implement it?
Where each part lives on the three clouds, with statuses as the vendor pages showed on 2 Nov 2026.
Capability, Microsoft, AWS, Google
| Capability | Microsoft | AWS | |
|---|---|---|---|
| Model | Foundry Models catalog with the model router; Copilot Studio model picker | Amazon Bedrock models; Intelligent Prompt Routing (GA 22 Apr 2025) | Gemini 4 Argon (GA 13 Oct 2026) and Model Garden |
| Instructions and definition | Prompt agents in Foundry (configuration only); agent instructions in Copilot Studio; immutable agent versions | AgentCore harness configuration; Runtime immutable versions with named endpoints | ADK agent definitions; Agent Runtime revisions with traffic splitting (preview since 19 May 2026) |
| Tools | Foundry Toolboxes (one MCP endpoint, preview); Power Platform connectors; MCP in Copilot Studio (GA 29 May 2025) | AgentCore Gateway turns OpenAPI, Lambda and MCP targets into tools (GA 13 Oct 2025) | Agent Gateway (GA 18 Jun 2026); Gemini function calling |
| Knowledge | Foundry IQ knowledge bases (GA 2 Jun 2026); Azure AI Search; SharePoint; Copilot connectors | Bedrock Knowledge Bases; managed knowledge bases on AgentCore (17 Jun 2026) | Agent Search and Agent Retrieval in the Agent Platform; Gemini Enterprise connectors |
| Memory | Foundry memory (preview); Copilot Studio memory on the GitHub Copilot harness | AgentCore Memory (GA) with semantic, summary, user-preference and episodic strategies | Agent Platform Memory Bank; memory profiles GA 15 Jul 2026 |
| Orchestration | Copilot Studio harnesses; Microsoft Agent Framework 1.0 (GA 3 Apr 2026); Foundry multi-agent workflows (preview since 25 Nov 2025) | AgentCore harness (GA 17 Jun 2026); Strands Agents 1.0; Step Functions for fixed steps | ADK Python 2.0 graph workflows (GA 19 May 2026) |
| Identity | Microsoft Entra Agent ID (GA); created automatically for new Copilot Studio agents since July 2026 | AgentCore Identity (GA 13 Oct 2025), with on-behalf-of token exchange since April 2026 | Agent Identity, SPIFFE-based; API in preview since 18 Jun 2026 |
| Human approval | Agent Framework approval_mode; Foundry MCP tool require_approval; Copilot Studio multistage approvals (preview) | Harness return-of-control and human-in-the-loop tools; Step Functions callbacks | ADK require_confirmation (experimental); computer use tool safety policy (GA 30 Oct 2026) |
Google’s release notes carry two labels for Agent Identity, so this page calls the API a preview. Foundry memory and Toolboxes were preview on 2 Nov 2026.
Frequently asked questions
What is the minimum an AI agent needs?
A model, instructions and tools, which is OpenAI’s minimum anatomy, plus a loop to run them. For an enterprise add knowledge with the user’s permissions, an identity of its own, an approval step on writes, and traces. Memory and multi-agent orchestration come later, if the evaluation results ask for them.
What is the difference between a tool, a skill and an MCP server?
A tool is one operation the model can request, defined by a name, a description and a schema. An MCP server is a service that exposes tools over the Model Context Protocol, so any agent with an MCP client and the right authorization can call them. A skill is a folder of instructions and files that teaches the agent how to do a task, often by using several tools in order.
Does every agent need memory?
No. Session memory within a task comes with the runtime or framework. Cross-session memory is a design choice with retention and access rules attached, because what the agent remembers is data. Start without it and add it when the evaluation set shows the agent repeating questions it should already know the answer to.
What is AGENTS.md, and should we use it?
A Markdown file at the root of a repository that tells coding agents how to build, test and submit changes in that project. Codex, GitHub Copilot’s coding agent, Cursor, Gemini CLI, goose and others read it, and the Agentic AI Foundation stewards it. If your developers use coding agents, write one, keep it short, and review it like code.
Where should the limits on an agent be enforced?
Outside the model: identity at token issuance, policy at the tool call, approval before a write, and checks on every input channel. Instructions tell the model what you want; the controls make sure of it when the model is wrong or has been talked into something.
More in What is an AI agent?
Sources
Each source was read on 2 November 2026. The date shown is the date on the page, or the page’s ms.date for Microsoft Learn; an undated page shows the date it was read.
- A practical guide to building agents (PDF)
- Building effective agents
- What is Microsoft Foundry Agent Service?
- Toolbox overview (Microsoft Foundry)
- What’s new in Microsoft Foundry, Build 2026
- Harnesses in Copilot Studio
- What’s new in Copilot Studio
- Microsoft Entra Agent ID key concepts
- Tool approval (Microsoft Agent Framework)
- Model Context Protocol tool (Microsoft Foundry Agent Service)
- Guardrails and controls in Microsoft Foundry
- Introducing multi-agent workflows in Foundry Agent Service
- Microsoft Agent Framework 1.0
- AgentCore harness
- AgentCore Memory strategies
- Amazon Bedrock AgentCore is now generally available
- Top announcements of the AWS Summit in New York, 2026
- AgentCore Identity key features and benefits
- Amazon Bedrock AgentCore release notes
- Policy for Amazon Bedrock AgentCore generally available
- Use Amazon Bedrock Intelligent Prompt Routing for cost and latency benefits
- Agent Identity overview (Google Cloud IAM)
- Gemini Enterprise Agent Platform release notes
- Tool confirmation (Google ADK)
- Human in the loop (OpenAI Agents SDK)
- Function calling guide
- Latest model guide (GPT-6 family)
- Interrupts (LangGraph)
- Advanced tool use
- How we built our multi-agent research system
- Memory Injection Attacks on LLM Agents via Query-Only Interaction (MINJA, arXiv 2503.03704)
- Semantic conventions for GenAI agent spans
- Semantic conventions for GenAI spans (content capture is opt-in)
- Don’t Build Multi-Agents
- AGENTS.md: a simple, open format for guiding coding agents
- Agent Skills overview
- Agentic AI Foundation announces four new projects: Agent Skills, Open Responses, OpenEnv and OpenSandbox
- Linux Foundation announces the formation of the Agentic AI Foundation
Planning an AI program?
Talk to the team that builds it and runs it after launch.
- Built to SOC 2, HIPAA and GDPR standards
- EU AI Act-aligned delivery
- Microsoft Solutions Partner