MODULE 7  ·  DAY 2

The Multi-Agent Incident Crew

One agent grows into a crew of four.

Triage Investigate Fix Review each role has exactly one job. No single agent decides everything

Gourav Shah  ·  School of DevOps & AI  ·  Hands-on

M7·01

What you'll learn

What this module locks in before the lab.

12 34 Why go multi-agent — specialisation, separation, review loops When a single declarative agent is already enough Two paths: declarative profiles vs an orchestration framework Wire the Incident Crew as Compose services on one model
M7·02

1 · The analogy: a hospital, not a superhero

M7·03

One agent doing everything gets unfocused

One prompt for everything blurs every role.

One agent classify + retrieve + fix + review, all at once overloaded context · blurred roles · hard to audit tight prompt small context one clear job easy to audit
M7·04

A hospital, not a superhero

No single doctor does every step alone.

Triage nurse Doctor Pharmacist Attending routes you investigates writes remedy reviews & signs Triage Investigator Fixer Reviewer
M7·05

2 · Why multi-agent?

M7·06

Three things a single agent can't replicate

What earns the extra prompts and latency.

Specialisation Separation Review loop one tight prompt per role, small context — the small model stays reliable each agent sees only what it needs — less chance to hallucinate across lanes a dedicated role checks the fix before it ships — the safety net
M7·07

When is a single agent enough?

Don't reach for a crew by default.

Does the task produce a consequential action? NO YES Single declarative agent one use case end-to-end no separate safety review no command or deploy to sign Reach for a crew a command / deploy / API call review is a distinct job specialisation lifts reliability
M7·08

3 · The incident crew's pipeline

M7·09

The Incident Crew pipeline

A pipeline with one relevance gate.

Triage Investigate gate? Fixer Reviewer APPROVED ESCALATE NO runbook found → escalate
M7·10

The relevance gate: nearest isn't relevant

Vector search always returns something.

Kafka incident stopped processing payments runbook closest, wrong topic covers this incident? REJECTED escalate nearest chunk relevance gate: one YES/NO question NO without the gate, the crew proposed a payments restart for a Kafka outage
M7·11

4 · Two paths to multi-agent

M7·12

Two paths to multi-agent

Markdown profiles by default, a framework when needed.

Declarative (default) Four Markdown profiles, one per agent One Python pipeline, stdlib only Predictable sequential flow Change behaviour = Markdown edit The laptop-friendly 2B crew Framework LangGraph — supervisor graph, checkpointing, audit trails pause / inspect / resume any node CrewAI — role-based alternative agents.yaml + tasks.yaml routing for dynamic, non-sequential work
M7·13

Swap the orchestrator, not the tools

One shared layer under every orchestrator.

Declarative LangGraph CrewAI pick one — the layer below never changes the shared standards layer MCP tools ChromaDB memory Ollama model
M7·14

5 · One model, four agents

M7·15

One model, four agents

Agents are cheap, the model is shared.

Ollama qwen3.5:2b native · ~3.5 GB Triage Investigator Fixer Reviewer embed ~0.3 GB + crew ~15 MB + ChromaDB ~15 MB ≈ 4 GB total a CrewAI crew on gemma3:4B instead: ≈ 4.5 GB
M7·16

Wire the crew with the Compose Spec

Two services: the crew and ChromaDB, one native model.

compose.yaml — containers crew (Triage · Investigator · Fixer · Reviewer) ChromaDB 1.5.9 chroma_data volume one-shot: docker compose run --rm crew Model server Ollama — NATIVE :11434 host.docker.internal
M7·17

6 · The Reviewer as human-in-the-loop proxy

M7·18

The Reviewer, human-in-the-loop proxy

Decides if the fix is safe to show.

Reviewer when in doubt, REJECT gets the fix + the runbook passage APPROVED non-destructive + verbatim runbook REJECTED destructive · secrets · not in runbook Human decides
M7·19

TO THE LAB

Swap the orchestrator, keep the crew

Run both incidents, watch the gate work.

Triage Investigate Fix Review 503 → APPROVED Kafka → ESCALATE

Then Module 8 — harden & ship.  ·  Gourav Shah · School of DevOps & AI

M7·20