Building AI Agents — A Course for Software Engineers & Architects
About This Course
Who This Is For
Software engineers and architects who can already code and design systems, and want to add agentic AI systems to their toolkit — not AI beginners.
How to Use This
Read sequentially — each chapter assumes the architectural vocabulary built in the ones before it. Key terms are called out for quick reference.
Estimated Time
Approximately 60–80 hours of self-paced study, plus hands-on time prototyping agents alongside each chapter.
What You’ll Build
The architectural judgment to design, build, secure, and ship reliable single- and multi-agent systems in production.
Chapter Road Map
Foundations
What an agent actually is, and the LLM mechanics every agent builder must know.
Core Capabilities
Giving agents hands (tool use) and a mind that persists (memory).
Reasoning & Knowledge
How agents plan multi-step work and ground themselves in real, current data.
Architecture & Tooling
Composing agents into systems, and the frameworks engineers actually use to build them.
Production Readiness
Testing, observability, cost control, security, and how to ship agents that don’t fall over.
Before writing a single line of agent code, you need a precise mental model of what an “agent” is, how it differs from the chatbots and scripts you’ve already built, and the architectural vocabulary the rest of this course relies on.
An agent is only as reliable as your command of the model underneath it. This chapter covers the LLM mechanics that directly determine whether your agent behaves predictably in production — not theory for its own sake.
Tools are what turn a text generator into an agent that affects the real world. This chapter is about designing tools the way you’d design any API surface — with discipline, validation, and failure handling.
An agent without memory re-derives everything from scratch every turn. This chapter covers how to give agents state — within a session, across sessions, and across users — without blowing the context budget or leaking data between users.
The orchestration pattern you choose determines how an agent breaks a goal into steps, recovers from mistakes, and knows when it’s done. These are the load-bearing design patterns of agentic systems.
Agents that need current, private, or large volumes of knowledge can’t rely on what’s baked into model weights. This chapter covers retrieval architecture — and specifically how it changes when retrieval is driven by an autonomous agent rather than a fixed pipeline.
A single agent with too many responsibilities becomes unreliable. This chapter covers decomposing work across multiple specialised agents — the distributed-systems design problem hiding inside “multi-agent AI.”
Frameworks trade control for velocity. This chapter gives you the engineering criteria to evaluate them honestly, rather than adopting whichever one trends this month.
A demo agent and a production agent are different engineering problems. This chapter covers the testing, observability, and operational discipline that makes the difference.
Agents that take autonomous action introduce a threat model that traditional application security doesn’t fully cover. This final chapter is about deploying agents you can trust with real authority.