Open-source project
microsoft/ai-agents-for-beginners avatar
microsoft/ai-agents-for-beginners

microsoft/ai-agents-for-beginners: What the 18 Lessons Actually Teach

GitHub describes it as 18 Lessons to Get Started Building AI Agents. The repository metadata lists Jupyter Notebook as its primary language. The metadata lists the MIT license. This article stays within the project description and details documented in the GitHub repository README.

76,092 stars24,989 forksJupyter NotebookMIT

At a glance

What is it?
A Microsoft course repository that teaches agent construction through Microsoft Agent Framework and Foundry, with Python notebooks for each lesson. It is free and MIT licensed, but the code path runs through Azure.
Who is it for?
Adopt this course if you already have an Azure subscription and want a structured path from agent fundamentals to multi-agent, memory, protocols, deployment and security lessons, with notebooks you can fork and run. Skip it if you need a vendor-neutral curriculum or want to run everything locally without a cloud account, because the default samples use Foundry Agent Service V2 and the setup lesson points at Azure.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

Who the 18-lesson structure is built for

The repository is a course, not a library. Its stated purpose is to teach everything you need to know to start building AI agents, and it assumes you will work through lessons rather than import a package. The README says each lesson covers its own topic and that you can start wherever you like, which is a deliberate design choice: there is no enforced prerequisite chain, so a reader who already understands tool calling can jump to lesson 08 on multi-agent systems without reading the earlier notebooks.

The audience is narrower than the title suggests. The README points readers who have never worked with generative models toward a separate course, Generative AI For Beginners, before starting this one. That is an honest boundary. If you do not already know what a chat completion is, the first lesson will not hold your hand through the model API itself.

The lesson list shows the intended arc: introduction, agentic frameworks, design patterns, tool use, agentic RAG, trustworthy agents, planning, multi-agent, metacognition, production, agentic protocols, context engineering, agent memory, Microsoft Agent Framework, browser use, deploying scalable agents, local AI agents, and securing agents. That is a broad sweep, and breadth is the trade-off. No single lesson is a deep treatment of its topic.

How the code samples are wired to Microsoft Agent Framework and Foundry

The mechanism is straightforward. Each lesson has a written README and a short video, plus Python code samples in a code_samples folder. Those samples use Microsoft Agent Framework with Microsoft Foundry Agent Service V2, and the README states that an Azure account is required. So the data flow for a typical notebook is: configuration is read from environment variables, a Foundry project endpoint and a model deployment name are used to construct a client, and the agent is defined and run against that deployment.

The requirements.txt file tells you more about the real dependency surface than the README does. It pins agent-framework-core==1.10.0 and pulls agent-framework-foundry~=1.10.0 and agent-framework-openai~=1.10.0. A comment in that file explains the pin: version 1.11.0 removed ChatMessage and HostedWebSearchTool, changed the Message constructor, and dropped the model= argument on Agent.run(), all of which the course notebooks use. That is unusually candid for a requirements file, and it means the course is coupled to a specific framework line rather than tracking the newest release.

The same file notes that agent-framework-core is pinned directly instead of through the agent-framework meta-package, to avoid the [all] extras pulling in unpinned integration sub-packages that require agent-framework-core>=1.11.0 and cause a pip conflict. If you have ever spent an afternoon on a resolver loop, this comment will read as a warning.

Some samples support alternative OpenAI-compatible providers. The README names MiniMax, which offers large-context models up to 204K tokens, and points to the course setup lesson for configuration details.

Installing the course and running your first notebook

The README's first practical instruction concerns download size, not dependencies. Because the repository ships more than 50 language translations, a plain clone is heavy. The README gives sparse checkout commands to skip the translations and translated images directories. On Bash, macOS or Linux:

bash
git clone --filter=blob:none --sparse https://github.com/microsoft/ai-agents-for-beginners.git
cd ai-agents-for-beginners
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

On Windows CMD the README gives the same three commands with double quotes around the sparse-checkout patterns. After this you have the lessons and code samples without the translation tree.

Next comes Python dependencies. The repository has a requirements.txt at the top level:

bash
pip install -r requirements.txt

Expect this to install azure-ai-projects, azure-identity, azure-search-documents, the pinned agent-framework packages, mcp[cli], openai>=1.108.1, and the lesson-specific extras foundry-local-sdk, chromadb, jcs and pynacl. The README directs you to 00-course-setup/README.md for the details of running the code.

Configuration is environment based. The repository ships a .env.example you copy and fill in. The required entries for most lessons are the Foundry project endpoint and a model deployment name:

bash
AZURE_AI_PROJECT_ENDPOINT="https://..."
AZURE_AI_MODEL_DEPLOYMENT_NAME="gpt-5-mini"
AZURE_OPENAI_ENDPOINT="https://<your-resource>.openai.azure.com"
AZURE_OPENAI_DEPLOYMENT="gpt-5-mini"

The example file advises using a non-deprecated model that supports the Responses API, and notes that gpt-4.1 and gpt-4.1-mini retire on 14 Oct 2026. It also states that the Responses API uses the stable /openai/v1/ endpoint, so no api_version is needed, and that GitHub Models is deprecated and does not support the Responses API, which is why the samples now use Azure OpenAI instead. Fill in the values, open a lesson notebook, and run the cells. If the endpoint or deployment name is wrong, the failure surfaces at client construction, before any agent logic executes.

Azure is a hard dependency for most lessons, and that is the main limitation

The README says an Azure account is required for the Foundry-based samples. That is not a footnote. A reader who wants to evaluate agent frameworks without provisioning cloud resources will hit a wall in the default path, because the code examples are built around Foundry Agent Service V2 and Azure OpenAI rather than a local model server.

The escape hatches exist but are partial. Lesson 17 covers creating local AI agents with Foundry Local and Qwen, and requirements.txt lists foundry-local-sdk and chromadb for it. Some samples support OpenAI-compatible providers such as MiniMax. But these are alternatives inside a course whose spine is Azure, not a second supported path through every lesson. If vendor neutrality is your requirement, this is the wrong course.

There is a second, quieter failure mode: version drift. The requirements.txt pin to agent-framework-core==1.10.0 exists because 1.11.0 broke the notebooks. Anyone who upgrades the framework to get a fix elsewhere will break the course code. The comment also warns that the meta-package's extras can pull sub-packages requiring >=1.11.0, producing a pip conflict. So the pin is load-bearing in two directions.

A third constraint is model retirement. The .env.example names specific deprecation dates for models, and the samples depend on the Responses API. A deployment on an older model that lacks Responses API support will not work, regardless of how correct your other configuration is.

How it compares with LangChain-based tutorials

The obvious alternative is a LangChain or LangGraph tutorial, and the difference is not cosmetic. A LangGraph walkthrough typically has you assemble an agent from graph nodes and edges in a framework-neutral way, then point it at whichever model provider you like. This course takes the opposite approach: it teaches agent concepts through one vendor's stack, with Microsoft Agent Framework as the abstraction and Foundry as the runtime, and the notebooks are written against that stack's specific classes and arguments.

That makes the course better at showing what a managed agent service looks like in practice, including deployment, model routing and security lessons, and worse at teaching transferable framework mechanics. If you learn agents here and later move to a different orchestration library, the concepts carry over but the code does not.

A second comparison is with the repository's own sibling course, Generative AI For Beginners, which the README links for readers new to generative models. The distinction is scope: that course covers building with GenAI models, this one covers agents on top of them. Reading both in sequence is the path the README implicitly suggests for a complete beginner.

Maintenance, licence and what an upgrade costs you

The repository is not archived, and the licence is MIT, which permits commercial use, modification and redistribution provided the copyright notice and permission notice are preserved. That is a permissive arrangement, and for a course repository it mostly matters if you intend to reuse the notebooks in internal training material. This is a description of the licence text, not legal advice; check the LICENSE file and your own obligations.

On maintenance, no last push date is available for this repository, so there is no basis for a claim about how actively it is updated. What can be observed is that the repository has a CHANGELOG.md, a SECURITY.md and a SUPPORT.md at the top level, and that translations are described as automated and always up to date via a GitHub Action. Those are signals of process, not proof of cadence.

The upgrade cost is the concrete part. Because requirements.txt pins agent-framework-core==1.10.0 to avoid the breaking changes in 1.11.0, moving the course forward means either waiting for the notebooks to be updated or doing that migration yourself: replacing ChatMessage, reworking the Message constructor calls, and restoring the model= argument behaviour on Agent.run(). Until that happens, treat the pin as the supported configuration. The .env.example also carries model retirement dates, so the configuration surface has its own expiry clock independent of the code.

Editorial conclusion

Adopt this course if you already have an Azure subscription and want a structured path from agent fundamentals to multi-agent, memory, protocols, deployment and security lessons, with notebooks you can fork and run. Skip it if you need a vendor-neutral curriculum or want to run everything locally without a cloud account, because the default samples use Foundry Agent Service V2 and the setup lesson points at Azure. Before committing, read 00-course-setup/README.md and confirm two things: that your Foundry project has a deployment supporting the Responses API, and that agent-framework-core==1.10.0 resolves cleanly alongside your other packages.

Frequently asked questions

What are the 5 types of AI agents?

The repository does not enumerate five agent types. It is organised into 18 lessons by topic, including agentic design patterns, tool use, planning, multi-agent systems and metacognition, so any taxonomy of agent types would have to come from the lesson content rather than the README.

How can I learn AI agents with microsoft/ai-agents-for-beginners?

Work through the lessons in order or start at whichever topic you need, since the README states each lesson covers its own topic. Each lesson has a written README, a short video and Python code samples, and the README points complete beginners at the Generative AI For Beginners course first.

How can I start using AI agents from this course?

Clone the repository, install requirements.txt, copy .env.example and fill in AZURE_AI_PROJECT_ENDPOINT and AZURE_AI_MODEL_DEPLOYMENT_NAME, then run the notebooks. The README states an Azure account is required for the Foundry-based samples, and directs you to 00-course-setup/README.md for the details.

Can you really make money with AI agents?

The repository does not discuss monetisation. It is a teaching course covering agent fundamentals, design patterns, tool use, memory, deployment and security, and it makes no claims about earning income from agents.

What are AI agents for beginners, according to microsoft/ai-agents-for-beginners?

The README frames the course as teaching everything needed to start building AI agents, with 18 lessons that move from an introduction to agentic frameworks and design patterns through to deployment and security. The code samples build agents with Microsoft Agent Framework and Microsoft Foundry Agent Service V2.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/microsoft-ai-agents-for-beginners.svg)](https://hysenlabs.com/projects/microsoft-ai-agents-for-beginners)
Community notes

Community notes