# multi-agentic system

> Source: <https://dev.to/tejas_rahane/multi-agentic-system-eei>
> Published: 2026-10-11 08:09:54+00:00

*This post is my submission for [DEV Education Track: Build Multi-Agent Systems with ADK](https://dev.to/deved/build-multi-agent-systems).*

A distributed multi-agent system that researches a topic, has the research

critiqued, loops until an editor approves it, then writes a course module.

The Agent Development Kit and the Agent-to-Agent protocol are both open source,

so the multi-agent design itself is unchanged — three agents still run as

independent HTTP services that discover each other through A2A agent cards.

This starts the three A2A servers, waits for their agent cards, runs the

pipeline, writes results to `output/`, and shuts the servers down.

The codelab ships a browser front end; this is the local equivalent. One command

brings up the whole system — the web process starts the three A2A servers on

launch and stops them on exit, so there is nothing else to run:

```
.venv\Scripts\python.exe scripts\run_web.py        # then open http://localhost:8080
```

Type a topic and press **Build the course**. The page shows the three agents as a

live pipeline diagram: each box is a separate process, and it lights up as its

A2A reply arrives — `researcher` researching → done, `judge` reviewing → approved

(or looping the researcher back for another pass), `content_builder` writing →

done. An event log timestamps each step, and the finished module renders as

formatted markdown in the "paper" pane on the right.

Progress is pushed to the browser over Server-Sent Events

(`GET /api/runs/{id}/events`); a 5-second poll for the finished document is the

fallback if the stream hiccups. The same backend the CLI uses drives it, so a run

here is identical to `run_all.py` — it just does not write to `output/`.

Other endpoints: `GET /api/health` (model + which agent cards are up) and

`POST /api/runs` (start a run, returns `{"run_id": ...}`).
