Workflow Design (in LangGraph)
Once you know nodes, edges, and state, the real skill is shaping the graph. Workflow design is choosing the topology — sequential, branching, looping, parallel, or multi-agent — that fits your problem. The right shape makes an agent predictable and debuggable; the wrong one makes it wander or deadlock.
💡 In one line: Workflow design is choosing the graph topology — sequential, conditional, cyclic, parallel, or multi-agent — that fits the task.
Nodes & Edges Recap
- Node — a step (a Python function, or a whole sub-agent).
- Normal edge — always go A → B.
- Conditional edge — a router function picks the next node at runtime.
Design is mostly about where the conditional edges go.
The CoreÂ
| Pattern | Shape | Use for |
|---|---|---|
| Sequential | A → B → C | Fixed pipelines (basic RAG) |
| Conditional | Router picks a branch | Routing by intent or quality |
| Cyclic | Loop back | Agent loops, retries, re-planning |
| Parallel | Fan-out → fan-in | Independent subtasks |
| Hierarchical | Graphs inside graphs | Multi-agent teams |
Sequential
The simplest shape — a fixed pipeline:
If this is all you need, an LCEL chain may be simpler.
Conditional Routing
A router function inspects state and returns the name of the next node:
Cycles (the Agent Loop)
The defining LangGraph pattern: agent → tools → back to agent, until the model stops requesting tools. Always bound your loops — a step cap or a state counter — or the agent can spin forever.
Parallel Execution
Fan out to several nodes at once, then fan in to merge. Two rules:
- The merge node runs after all branches complete.
- Parallel writes to the same state key need a reducer — otherwise branches overwrite each other.
Subgraphs
A compiled graph can be a node in another graph. This gives you modularity and reuse — and it's the basis of hierarchical multi-agent systems (a supervisor graph whose nodes are agent graphs).
Design Principles
- Start simple — add nodes only when needed.
- One responsibility per node — small nodes are easier to debug.
- Make routing explicit; bound every cycle.
- Guard parallel writes with reducers.
- Design for failure — retries and fallback paths.
Common Pitfalls
- Unbounded loops → runaway cost.
- Parallel branches overwriting shared state.
- Over-engineering — a graph where a chain would do.
- Giant nodes that hide logic and defeat debuggability.
Choosing a Shape
- Fixed steps → sequential (or LCEL).
- Depends on input → conditional.
- Repeat until done → cyclic.
- Independent subtasks → parallel.
- Multiple specialists → hierarchical / subgraphs.
Summary
- Workflow design = choosing the graph topology for the task.
- Core patterns: sequential, conditional, cyclic, parallel, and hierarchical.
- Conditional edges route at runtime; cycles power agent loops — always bound them.
- Parallel branches need reducers to merge state safely.
- Subgraphs give modularity and enable multi-agent systems.Â