// Orchestration · ~12 min
Supervisor
Reach for it when: When workers need a referee that routes and vetoes, not a planner that drafts.
// 60-second mental model
How to hold it in your head
Workers propose; a supervisor decides who runs next and what is allowed to leave. The supervisor does not write the essay — it routes, scores, and vetoes.
A supervisor agent owns routing state: select worker → collect result → accept/reject/reassign, with a hard veto on unsafe or off-contract outputs.
// Mini architecture
Workers propose · supervisor routes and vetoes
┌──────────────┐
│ User goal │
└──────┬───────┘
▼
┌──────────────┐ route / reassign ┌────────────┐
│ Supervisor │ ─────────────────► │ Worker A/B │
│ (gate+score) │ ◄───────────────── │ result │
└──────┬───────┘ propose └────────────┘
│ veto?
├─ yes → reassign or refuse
└─ no → Final answerThe supervisor’s only writes are route, score, and veto — never the worker’s draft.
// Mini-project
Support triage with a veto gate (stub)
Supervisor + two stub workers
Goal: Route a ticket to billing or product stubs; supervisor rejects any reply that invents a refund amount.
- Accept a canned support ticket.
- Supervisor picks `worker_billing` or `worker_product` from keywords.
- Worker stubs return a draft reply (one includes a fake refund number).
- Supervisor scores against a contract: no dollar amounts unless tool-backed.
- On veto, reassign once or emit a safe refusal.
- Log route → result → accept/veto for the demo.
Stubs are enough. The lesson is the referee contract — route and veto, do not draft.
// Common failure
What goes wrong
Symptom
Supervisor writes the answer itself — workers become decorative.
Fix
Restrict the supervisor to route/score/veto tools only. Ban free-text “I’ll handle it.”
// Self-reflection
Sit with this
Where do you need a referee more than another specialist?
Session only. Nothing is saved.