Lee Yih Ven
AI Project

Course Creator (A2A multi-service ADK)

Multi-agent course generator splits across Cloud Run services via A2A protocol.

Course Creator is an AI agent system that researches a topic, judges the research for completeness, and generates structured course material. The technically interesting part isn't the workflow — it's that each agent runs as its own Cloud Run microservice and talks to the others over Google's A2A protocol.

Most multi-agent demos run inside one Python process. One script imports all the agents, they share memory, one runtime, one container. It's how almost every tutorial does it.

The downside in production is that one bug crashes the whole pipeline. You can't scale only the slow agent. Swapping an agent for a different model means rewriting imports across the codebase. Tight coupling.

So Course Creator went the other direction. Each specialized agent — Researcher, Judge, Content Builder, Orchestrator — runs as a separate Cloud Run service. They communicate over A2A (Agent-to-Agent), which is JSON-RPC over HTTP. Each agent publishes an "agent card" at /.well-known/agent-card.json describing what it does, what inputs it takes, and what it returns.

The architecture:

The hardest part wasn't the agent logic. It was the auth between services — RemoteA2aAgent needs httpx clients carrying the right Cloud Run service-account token, not API keys. That took longer than building all the agent prompts combined.

What the architecture buys is replaceability. Swapping the Gemini Researcher for a Claude Researcher next quarter is one URL change in the Orchestrator. No rewrite anywhere else.

Live demo →
#GoogleADK #A2A #MultiAgent