Build a Multi-Agent Research Assistant

A nine-lesson, project-first course on AI agents and multi-agent systems. Every lesson adds one capability to the same codebase, no video, no slides, just code running in your browser.

Updated 24 days ago

Build a Multi-Agent Research Assistant

This course has one rule: you build one thing, lesson by lesson.

By Lesson 9 you will have a working multi-agent research assistant, a system where a planner breaks down a research question, parallel executors gather information, a synthesiser combines results, and a critic validates quality. You build it from scratch, in Python, running entirely in your browser.

Every lesson adds exactly one capability. Concepts appear at the moment you need them, not before.


The arc

LessonWhat you addWhat breaks without it
1Bare LLM loopNothing runs yet
2Tool useAgent hallucinates facts it can't verify
3ReAct reasoningComplex queries produce incoherent rambling
4PlannerAgent answers shallowly, misses sub-topics
5Parallel executorsSequential research is too slow for N sub-questions
6Shared memoryAgents duplicate work and contradict each other
7CriticOutput has unchallenged contradictions
8Full wiringAgents talk past each other at integration
9ObservabilityNo way to tell which agent is the bottleneck

What you need

  • A browser (Chrome or Firefox recommended)
  • No API key, no installation, no accounts
  • Python runs directly in the browser via Pyodide

We use a MockLLM for the first lessons, scripted, deterministic, offline. Later lessons will show you exactly how to swap in a real model (one line of code, nothing else changes).


What this course is not

It does not teach LangChain, CrewAI, or any other framework. It teaches the underlying patterns, ReAct, message passing, shared state, critic loops, so that when you look at any agentic framework, you already understand what it is doing and why it makes the tradeoffs it does.


Test your understanding

Prof is ready

Prof will ask you questions about AI agents and multi-agent systems, course overview — not explain it. You'll be surprised what you don't know until you have to say it.