🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛
This workshop is under active development and testing..
Please wait till this banner is removed before using it for self-guided or instructor-led delivery.
🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛🟨⬛
Overview · Quickstart · Core Labs · More Labs · Feedback
Scenario. Contoso is a fictitious enterprise retail company serving customers worldwide. Contoso Travel Concierge is their internal travel planning tool, used by employees to book flights, cars and hotels - and manage expenses - while ensuring they are in compliance with company travel policies.
Workshop. This workshop was built with the help of coding agents grounded in our docs, with human oversight and review for correctness and consistency. If you find any discrepancies or have questions, please file an appropriate issue for our attention.
Building an AI agent on Microsoft Foundry can be fairly straightforward. Create a new project, deploy a relevant model, configure agent instructions and tools - then deploy it to get an endpoint you can send requests to (from a UI-based playground or a code-based client).
But agent behaviors can be non-deterministic. Building reliable agents - that meet required cost, latency and quality targets - requires end-to-end observability. Start with evaluations that assess the quality, performance and safety of your agent with built-in and custom metrics. Use tracing (logs) to debug issues and build your intuition for where your agent incurs cost and latency. And use application insights to understand your agent performance in production, at scale.
Real-world deployments can also help identify agent drift from the desired performance targets. For instance, models may evolve or new edge cases may be revealed from actual usage. Keeping your agent operating correctly while consistemtly meeting desired criteria - requires continuous optimization, reflected by the Agent DevOps loop shown below.
flowchart LR
Plan([Plan]) --> Build([Build]) --> Evaluate([Evaluate])
Evaluate --> Deploy([Deploy]) --> Monitor([Monitor]) --> Optimize([Optimize])
Optimize --> Evaluate
Monitor --> Protect([Protect]) --> Evaluate
This repository provides a series of hands-on labs that walks you through this loop on Microsoft Foundry — from provisioning to deployment to continuous optimization — usingthe Contoso Travel Concierge multi-agent scenario.
The course is organized in three phases:
| Phase | What you do | Time |
|---|---|---|
| Fundamentals | Provision Foundry (azd or portal), deploy models, create the Prompt Agent, deploy the Hosted Agent |
~75 min |
| Core Labs | Observe → Evaluate → Optimize → Monitor on the Prompt Agent; capstone on the Hosted Agent | ~90 min |
| More Labs | Single-question deep dives against the deployed agents | 20–30 min each |
EXPERIMENTAL:
The repository is configured with a workshop-coach agent (using GitHub Copilot) that self-guided learners can use to ask for explanations or debug issues, without losing track of their progress. The coach guides you through the next step but never does the task for you, so you learn by doing.
The repository is configured with a .devcontainer/ that defines the default Python environment and dependencies required to run the exercises. The fastest way to get started and running your first lab is:
- Fork the repo to your profile to get a sandbox you can modify
- Launch the Dev Container using GitHub Codespaces (browser) or Docker Desktop (device)
This should automatically invoke the scripts to install Python dependencies, update required tooling, and initialize environment for lab execution. Wait till you see an active VS Code terminal - and use these commands to verify installation status.
# Python 3.13+
python --version
# Azure CLI ("azure-cli": "2.89.0" or higher)
az version
# Azure Developer CLI (azd version 1.30.0 or higher)
azd version
# GitHub Copilot CLI (GitHub Copilot CLI 1.0.78. or higher)
copilot version
# GitHub CLI (gh version 2.97.0 or higher)
gh --versionPrefer local setup? Create a virtual environment and install the tools manually. You will need Python 3.13+,
az,azd,copilotandghon your PATH.
The Fundamentals track gets your Foundry substrate, models, and both agents (Prompt + Hosted) provisioned and verified — so you have a green baseline before starting the Core Labs. Complete them in order; Labs 01 and 02 are alternative paths (pick one).
| # | Lab | Loop node |
|---|---|---|
| 0 | Course overview & the Agent DevOps loop | Plan |
| 1 | Provision Foundry with azd (CLI path) |
Build |
| 2 | Provision Foundry with the Portal (UI path) | Build |
| 3 | Deploy the required models | Build |
| 4 | Create the Prompt Agent | Build |
| 5 | Deploy the Hosted Agent | Deploy |
| 6 | End-to-end verification | Evaluate |
Start here → labs/fundamentals/00-overview.md.
The core labs track takes you through the steps of the Agent DevOps loop using our Contoso Travel Concierge scenario. Every lab teaches one node of the Agent DevOps loop. Complete them in order.
| # | Lab | Loop node |
|---|---|---|
| 0 | Overview | Plan |
| 1 | Observe traces in the portal | Monitor |
| 2 | Evaluate the Prompt Agent | Evaluate |
| 3 | Optimize with Foundry skills + Copilot | Optimize |
| 4 | Monitor and trace outcomes | Monitor |
| 5 | Capstone — apply the loop to the Hosted Agent | Optimize |
Fundamentals prerequisites: labs/fundamentals/.
This section provides an evolving library of labs that offer "one-question deep dives". You should be able to explore them in any order once you complete the Core Labs. Watch for frequent updates to this section to learn new features or best practies.
| # | Lab | Loop node |
|---|---|---|
| 1 | Troubleshoot a failing trace | Monitor |
| 2 | Red-team your agent | Protect |
| 3 | Continuous evaluation | Evaluate |
| 4 | Datasets from real traces | Evaluate |
| … | … see labs/more/README.md for the full index |
Have questions, contributions or feedback? Watch for updates to the CONTRIBUTING guide.