Cart
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#.
Welcome (01:04)
What will you learn in this course? (01:20)
Who is the course for and prerequisites (01:26)
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)
Course Info
Lifetime access
Add to Cart
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.
More courses by James Charlesworth© 2025 Dometrain. All rights reserved.