One-Line Summary: Plan-driven harnesses (ruflo, LangGraph) build a structured plan upfront and execute against it; reactive harnesses (Cursor, Codex CLI in default mode) decide each next step based on what just happened — both are valid; the choice is mostly about task horizon and the cost of upfront planning.
Prerequisites: Plan-and-execute, plan graphs vs plan strings
What Is the Distinction?
A plan-driven harness produces an explicit plan (graph or annotated list) before any execution, then runs the plan as a state machine, replanning on divergence. The plan is a first-class artifact; you can inspect, save, and replay it.
A reactive harness produces only one decision at a time — what tool to call next — based on the current state. There is no upfront plan. The agent's "plan" lives in its chain-of-thought, never separately materialized.
The distinction is a spectrum, not a binary. ReAct-style agents are reactive. Plan-and-execute agents are plan-driven. Hybrid agents (most production systems) plan loosely upfront and re-decide reactively turn-to-turn.
How They Differ in Practice
| Property | Plan-driven | Reactive |
|---|---|---|
| Planning artifact | Explicit graph or annotated plan | Implicit in chain-of-thought |
| Best at | Long-horizon, multi-stage tasks | Short-horizon, single-track tasks |
| Failure mode | Plan obsolescence — execution diverges, plan no longer applies | Wandering — agent forgets the goal mid-task |
| Cost shape | High upfront, low per-step | Low upfront, higher per-step variance |
| Debuggability | High — plan is inspectable | Low — must read transcript |
| Latency | Higher first-token; lower total for complex tasks | Lower first-token; can drift on long tasks |
| User mental model | "I told the agent the strategy" | "I'm watching the agent figure it out" |
Why It Matters
For tasks where the right answer is unknown — debugging, exploration, tight feedback loops — reactive is faster and often more pleasant. The agent and user adapt together turn by turn.
For tasks where the strategy is clear but execution is long — multi-file refactor, end-to-end research, complex CI pipeline — plan-driven amortizes the upfront cost across many execution steps and is more reliable.
Key Technical Details
- Cursor and Codex CLI default modes are reactive; explicit "plan mode" or "agent mode" tilts them toward plan-driven.
- Ruflo's autopilot is plan-driven: GOAP planner upfront, replan on divergence.
- LangGraph is structurally plan-driven: the graph is the plan.
- Hybrid is the dominant practical pattern: a coarse plan upfront, reactive within each plan node.
- The model's chain-of-thought is itself a plan: just an unstructured one. Plan-driven systems extract that plan into a structured form so it can be inspected.
- Reactive systems benefit from frequent goal restating: Without an explicit plan, the prompt has to remind the agent of the goal often, or it drifts.
When to Pick Which
- Pick reactive when: the task is short (≤ 5–10 steps), you want tight user-in-the-loop control, the task is exploratory, latency matters more than total compute.
- Pick plan-driven when: the task is long, the strategy is clear upfront, you want replay/audit, you'll run autopilot, you want to evaluate plans separately from execution.
- Pick hybrid when: the task has both phases — a coarse strategy that decomposes into reactive subtasks. This is most production tasks.
How Harnesses & Frameworks Implement This
| Harness / Framework | Default mode | Notes |
|---|---|---|
| Claude Code | Reactive (chain-of-thought) | Plan-driven possible via plugins |
| Claude Agent SDK | Either | Programmatic |
| ruflo | Plan-driven (autopilot) | ruflo-goals produces explicit plans |
| LangGraph | Plan-driven | Graph is the plan |
| AutoGen | Reactive (group chat) | |
| CrewAI | Plan-driven (sequential/hierarchical task list) | |
| OpenAI Agents SDK | Reactive default; handoffs add coarse plan structure | |
| Codex CLI | Reactive default; --plan mode opts in | |
| Cursor | Reactive (chat); agent mode is hybrid |
Connections to Other Concepts
goal-oriented-action-planning.md— The strongest plan-driven pattern.plan-graphs-vs-plan-strings.md— Graphs are plan-driven's substrate.adaptive-replanning.md— Plan-driven systems' counter to plan obsolescence.topology-as-design-decision.md— Topology choice and plan-mode often correlate.
Further Reading
- ReAct paper (Yao et al., 2022) — The foundational reactive pattern.
- "Plan-and-Execute" papers (Wang et al., 2023) — Foundational plan-driven pattern.