All labs
Lab 16
Agentic AI

Where Does LangGraph Fit? — Orchestration vs Choreography

Run the same agent pipeline three ways. A LangGraph conductor that holds state and decides order; pure event choreography with no conductor; and the hybrid real systems actually ship — events between services, LangGraph orchestrating the reasoning inside one. See why event-driven doesn't delete the orchestrator, it relocates it.

“Do I still need LangGraph once I go event-driven?” — the question mixes up three independent choices. WHERE code runs and HOW it talks are separate dials (see Topology vs Communication). This lab is the third dial: WHO decides the order — a central conductor, or no conductor at all.
Watch the conductor dispatch each agent and fill one shared state object.
🧠
LangGraph — conductor
decides order · holds state
↓ invoke each node, in order ↓
📥
Intake
🔎
Retrieve
✍️
Answer
🔔
Notify
One brain owns the flow. Change the order = edit one graph. One trace to debug — but the conductor is a coupling point every request passes through.
Shared state (one object)
{
question:
context:
answer:
notified:
}
Only the orchestrator has this. It's the convenience you'd give up — and have to rebuild — under pure choreography.
Dimension
🧠 Orchestration (LangGraph)
📡 Choreography (events)
Who decides order
The LangGraph graph
Each agent, on its event
Shared state
One state object
None — payload per event
Change the flow
Edit one graph
Add / remove a subscriber
Debugging
One linear trace
Reconstruct from event log
Coupling
Conductor is a hub
Loosely coupled
Failure / retry
Central, built-in (+ HITL)
Per-consumer retry + DLQ
Best when
Complex branching, HITL
Many independent reactions, spikes
So — is LangGraph still required?
Not as the system's conductor — pure choreography needs none. But you rarely throw it away: it relocates inside an agent, orchestrating that agent's own reasoning (draft → critique → refine, retries, human review). Events connect the agents; LangGraph runs the thinking inside one. EDA and LangGraph are different layers, not competitors.
What just happened