Agent Fundamentals: Roles, Goals & Tools
AI agents don't just chat — they plan, reason, and take action. Learn how to define agent roles, set goals, design conversation tracking, and configure tool schemas in Microsoft Foundry.
What makes an agent different?
A chat model answers questions. An agent gets things done.
Think of the difference between asking a colleague “How do I book a meeting room?” (chat) versus asking “Book Meeting Room B for Tuesday at 2pm, invite the marketing team, and send them the agenda” (agent). The agent understands the goal, figures out the steps, uses the right tools, and completes the task.
In Foundry, an agent is a model + instructions + tools + memory, working together to achieve goals autonomously.
The four pillars of an agent
New here? This course follows four teams: 🏥 NeuralMed (health-tech startup), 🏦 Atlas Financial (enterprise bank), 🚀 MediaForge (content ops platform), and 👨💻 Kai (AI engineer at a logistics company). They’re introduced in Module 1.
| Pillar | What It Defines | Example |
|---|---|---|
| Role | The agent’s identity, expertise, and personality | ”You are a senior compliance analyst at Atlas Financial. You are thorough, cautious, and always cite regulations.” |
| Goals | What the agent should achieve | ”Review loan applications for regulatory compliance and produce assessment reports.” |
| Conversation tracking | How context is maintained | Thread-based — each loan review is a separate thread with its own history |
| Tool schemas | What actions the agent can perform | search_regulations, check_applicant_history, generate_assessment, flag_for_review |
Defining agent roles (system instructions)
The role definition is the most critical part of an agent. It sets:
| Component | Purpose | Example |
|---|---|---|
| Identity | Who is this agent? | ”You are NeuralMed’s patient information assistant.” |
| Expertise | What does it know about? | ”You specialise in general health information from our medical knowledge base.” |
| Boundaries | What should it NOT do? | ”Never provide specific diagnoses. Always direct patients to their doctor for medical advice.” |
| Tone | How should it communicate? | ”Be empathetic, clear, and use simple language. Avoid medical jargon.” |
| Rules | Operational constraints | ”Always cite the source article. If unsure, say so.” |
Exam tip: Role vs goal
The exam distinguishes between:
- Role = WHO the agent is (system instructions defining identity, expertise, boundaries)
- Goal = WHAT the agent should accomplish (the outcome it works toward)
A well-defined role prevents the agent from going off-script. A clear goal keeps it focused on the task.
Tool schemas
A tool schema tells the agent what functions it can call, what parameters they accept, and what they return:
| Schema Element | What It Specifies | Example |
|---|---|---|
| Function name | What the tool is called | search_knowledge_base |
| Description | When the agent should use it | ”Search the medical knowledge base for articles matching the query” |
| Parameters | Input the function accepts | query (string, required), max_results (integer, optional) |
| Return type | What comes back | Array of articles with title, content, and relevance score |
| Feature | Good Tool Schema | Poor Tool Schema |
|---|---|---|
| Name | search_regulations(query, jurisdiction, year_range) | search(q) |
| Description | Search regulatory database for compliance regulations matching the query within specified jurisdiction and year range | Search stuff |
| Parameters | query: string (required) — the regulatory topic to search for | q: string |
| Why | Agent understands exactly when and how to use it | Agent guesses when to use it and may pass wrong arguments |
Conversation tracking approaches
| Approach | How It Works | Best For |
|---|---|---|
| Thread-based | Each conversation gets a unique thread ID with its own history | Multi-turn interactions, customer service |
| Stateless | No history preserved — each request is independent | One-shot tasks, high-volume processing |
| Session-based | History preserved for a session duration, then cleared | Time-limited interactions |
| Persistent | History and learned facts preserved across sessions | Personal assistants, long-term relationships |
Real-world example: Kai's logistics agent design
Kai designs a shipping assistant agent:
- Role: “You are a shipping logistics assistant for the operations team. You are precise with numbers, proactive about delays, and always confirm actions before executing.”
- Goal: “Help operations staff track shipments, estimate costs, and resolve delivery issues.”
- Conversation tracking: Thread-based — each support ticket gets its own thread
- Tools:
track_shipment(tracking_id)— returns current status and locationestimate_cost(origin, destination, weight, service_level)— calculates shipping costflag_delay(shipment_id, reason)— alerts the dispatch teamsearch_policies(query)— searches shipping policy docs
Key terms
Knowledge check
NeuralMed's patient assistant sometimes provides specific diagnoses despite being told not to. Which agent component should they strengthen?
Atlas Financial's compliance agent needs to call a function that searches regulations. The agent sometimes passes the wrong parameters, causing errors. What's the most effective fix?
🎬 Video coming soon