Getting Started: AI Agents in C#

Learn how to use AI Agents that can reason, use tools and take action to build products.

About This Course

AI Agents are applications that can reason, use tools, manage memory, and take action to achieve goals. In this course you�ll learn how to build them in C#. Starting with the fundamentals of Large Language Models (LLMs) and prompt engineering, you�ll progress to implementing tool use, reasoning loops, and context management, before creating full agents that automate tasks like managing invoices. You�ll also learn how to integrate OpenAI, Anthropic Claude, and Google Gemini into your .NET projects using Microsoft.Extensions.AI, and finish by building a Model Context Protocol (MCP) server to connect your agents with clients like Claude.ai. By the end of this course, you�ll have the skills and source code to create your own powerful AI agents in C#.

Course Curriculum

5h 40m 8 sections
Welcome
01:04 Free preview
What will you learn in this course?
01:20 Free preview
Who is the course for and prerequisites
01:26 Free preview
What is an LLM?
07:19
Prompt Engineering And AI Agents
04:02
Context Windows And Conversation History
03:21
Making A Completion Request from C#
10:53
Understanding Messages And Roles
21:12
Overview of AI Service Providers
08:54
Microsoft.Extensions.AI
15:31
Chatting With OpenAI From C#
10:31
Chatting With Gemini From C#
06:49
Chatting With Claude From C#
04:40
What Is Tool Calling?
09:49
Defining a Tool in JSON
08:27
Handling Tool Call Responses
03:44
Mapping C# Functions To Tools
22:24
Picking The Right Tool For The Job
12:14
Handling Tool Errors
08:25
What makes something an agent?
02:49
ReAct pattern (Thought, Action, Observation)
08:25
Completion Models vs Reasoning Models
05:25
Adding Actions To Your Agent
11:43
Why memory matters
02:42
Session memory and working memory
06:59
Episodic Memory and Semantic Memory
09:24
Summarising long chats automatically
10:37
Caching On The Provider
05:21
Agents For The Real World
03:06
A Chatbot For An Invoicing Platform
27:55
Reading Data Over An API
10:50
Reading a Knowledge Base (without RAG)
17:29
Automating Invoice Management
15:36
Introduction to Model Context Protocol (MCP)
10:31
A Remote MCP Server In C#
12:49
Adding Prompts For The User
05:09
Adding MCP Resources
05:02
Testing Your Remote Server In Claude
06:43

Meet Your Instructor

James Charlesworth

James Charlesworth

James is a Director of Engineering, O'Reilly author, speaker, and YouTuber with 20 years of experience in the tech industry. He has worked across startups and publicly listed tech companies, helping to build and scale software products. James focuses on teaching product skills to engineers, building high-performing product engineering teams, and defining the "Product Engineer" career path. He shares practical advice on software engineering, product development, and career growth through his Train to Code YouTube channel.

View all courses by James Charlesworth

What's New

Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn More
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn More
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn More
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn More
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn More