Funnel Method
Also known as: Phase-Funnel, Multi-Phase Agent Loop, 5+5+3+1 Funnel, Progressive Synthesis
Four-phase 5+5+3+1 agent loop with disk-anchored phase boundaries.
Decision
| Use when ✓ | Avoid when ✗ |
|---|---|
| +Apply when the problem space is broad and open-ended — a strategic question, a complex codebase audit, a multi-option decision with uncertain weights — and a single agent working sequentially will miss important facets because attention degrades inside a single context window. | −When the task has a known answer that a single well-prompted call can return — the four-phase structure adds dispatch overhead and token cost without adding investigation coverage. |
| +Use where the deliverable requires evidence from multiple independent investigation angles, iterative challenge of early findings, and synthesis through more than one analytical lens before a final judgment. | −Without a working disk-checkpoint setup (writable phase artifact directories, STATUS.md writer), the phase-boundary protocol cannot run; a lost-in-context sequential loop will produce worse results than a well-scoped single agent. |
| +Reach for it when resumability and auditability matter: the disk-artifact protocol means any phase can be re-run from the last checkpoint if a worker fails, and the artifact tree is the full audit trail of how the deliverable was produced. | −When the question is implementation-first rather than understanding-first, the funnel's investigation shape will produce analysis rather than code; prefer a sequential prompt chain or orchestrator-workers topology with explicit task decomposition. |
| +Prefer it on tasks where the analysis cost justifies parallel dispatch — the wall-clock saving from running five investigators in parallel (bounded by the slowest) rather than serially (bounded by their sum) pays the token overhead of five concurrent context windows. |
In the wild
| Source | Claim |
|---|---|
| anthropic.com → | Anthropic's multi-agent research system dispatches parallel subagents that each explore independent branches of a complex research question, with a synthesis pass that converges the branch findings — the same parallel-dispatch-then-synthesize shape the Funnel Method encodes at 5+5+3+1 cardinality. |
| google.github.io → | Google ADK's ParallelAgent primitive runs sub-agents concurrently and writes into shared session state for a downstream merger agent — the parallel fan-out and aggregation split that Phase 1 and Phase 2 waves realize in the Funnel Method. |
| designcouncil.org.uk → | The Double Diamond framework (British Design Council) names Discover, Define, Develop, and Deliver as the four moves of a design process — the same four-phase funnel shape, applied to human design teams rather than agent waves. |
Reader gotcha
The context packet between phases must be a compressed summary (1–2 K tokens), never a dump of raw phase artifacts. Passing raw artifacts forward bloats each wave's context and re-exposes details the prior wave already resolved. The context packet is a design artifact: it encodes what the next wave needs to know, not everything the prior wave produced. Analysis-funnel SKILL.md encodes this as a hard constraint — context packet is the only inter-phase payload; the raw artifact directory stays on disk but is not forwarded into worker contexts. source
Implementation sketch
// Pseudocode — the actual implementation uses the analysis-funnel SKILL.md
// and the single-message multi-Task() dispatch mechanic.
// Phase 0: frame the question, carve investigation areas
const brief = frameQuestion(input)
// Phase 1: five investigators in one assistant message (parallel dispatch)
// Each Task() runs in its own context window; all fire concurrently
const [inv1, inv2, inv3, inv4, inv5] = await Promise.all([
Task({ brief, role: 'investigator', focus: areas[0] }), // writes phase-1/investigator-{slug}.md
Task({ brief, role: 'investigator', focus: areas[1] }),
Task({ brief, role: 'investigator', focus: areas[2] }),
Task({ brief, role: 'investigator', focus: areas[3] }),
Task({ brief, role: 'investigator', focus: areas[4] }),
])
updateStatus(1, 'complete', artifactCount: 5) // synchronous STATUS.md row
const packet1 = compressToContextPacket(phase1Artifacts) // 1-2K tokens
// Phase 2: five iterators — same single-message dispatch pattern
// Each reads packet1 + its own brief; never sees Phase 1 transcripts directly
const [it1, it2, it3, it4, it5] = await Promise.all([
Task({ packet: packet1, role: 'iterator', angle: angles[0] }),
// ...
])
updateStatus(2, 'complete', artifactCount: 5)
const packet2 = compressToContextPacket(phase2Artifacts)
// Phase 3: three synthesizers
const [syn1, syn2, syn3] = await Promise.all([
Task({ packet: packet2, role: 'synthesizer', lens: 'strategic' }),
Task({ packet: packet2, role: 'synthesizer', lens: 'technical' }),
Task({ packet: packet2, role: 'synthesizer', lens: 'risk' }),
])
updateStatus(3, 'complete', artifactCount: 3)
const packet3 = compressToContextPacket(phase3Artifacts)
// Phase 4: one unifier — produces the final deliverable
await Task({ packet: packet3, role: 'unifier' }) // writes phase-4/analysis-report.md
updateStatus(4, 'complete', artifactCount: 1)
export {}
References
- Anthropic·2024
names the orchestrator-workers and parallelization primitives that the Funnel Method composes; the lead-spawns-3-5-subagents pattern is the direct computational ancestor of the parallel dispatch waves
- Anthropic·2025
production-scale parallel subagent dispatch with synthesis pass; structurally identical to the Funnel Method at larger cardinality; the claimed ~90% latency reduction relative to sequential search is the same arithmetic the 5-investigator wave buys
- British Design Council·2005·accessed
Discover / Define / Develop / Deliver four-phase shape; the Funnel Method's four phases are structurally consistent with the Double Diamond; convergent parallel-then-converge discipline
- Delbecq, Van de Ven·1971·accessed
NGT prescribes silent individual idea generation followed by group ranking — the same parallel-then-converge mechanic the Phase 1 investigator wave embodies; foundational antecedent for parallel independent work before aggregation
- LangChain team·2025·accessed
durable-state-machine framing for multi-phase agent workflows; LangGraph owns the phase-boundary-checkpoint abstraction at the framework layer that the Funnel Method realizes at the filesystem layer
- Temporal Technologies·2025·accessed
journal-based durable execution: the structural model that the disk-artifact phase-boundary protocol approximates at a simpler storage layer; Temporal owns the replay-based recovery guarantee
- Microsoft·2025·accessed
Azure Architecture Center treatment of multi-agent coordination patterns; parallel dispatch and checkpoint patterns documented separately — the Funnel Method is one specific composition
- Google·2025·accessed
ParallelAgent primitive for concurrent sub-agent dispatch with shared state; the fan-out primitive that Phase 1 and Phase 2 waves realize in Claude Code via single-message multi-Task() dispatch
Overview · 1-paragraph mechanism
The Funnel Method is a four-phase multi-agent investigation and synthesis loop. Phase 1 fans out five parallel investigators, each exploring an independent facet of the problem space. Phase 2 fans out five iterators that develop, challenge, and extend the Phase 1 findings. Phase 3 fans out three synthesizers that converge through different analytical lenses. Phase 4 runs a single unifier that produces the final deliverable. Every phase boundary writes artifacts to disk before the next wave dispatches; a STATUS.md row updates synchronously at each transition; a compressed context packet (1–2 K tokens, not raw transcripts) flows forward as the dispatch payload. The next wave reads the packet plus its own brief — never the prior wave's full transcript.
Background · context and trade-offs
The 5+5+3+1 cardinality is one specific composition of well-established antecedents. The four-phase funnel shape is consistent with the Double Diamond framework (British Design Council, 2005), which names Discover, Define, Develop, and Deliver as the four moves in a design process. The parallel-then-converge dispatch mechanic draws on Nominal Group Technique (NGT, Delbecq and Van de Ven, 1971), which prescribes silent individual idea generation followed by group ranking — the same structural logic applied to agent waves. Anthropic's multi-agent research blog describes the lead-spawns-3-5-subagents primitive that is the direct computational ancestor of the parallel dispatch waves. LangGraph and Temporal own the durable-state-machine and phase-boundary-checkpoint framing that the disk-artifact protocol realizes at a simpler storage layer.
Three Claude Code skills encode the funnel as executable configuration: analysis-funnel (open-ended investigation), decision-funnel (option evaluation), and creative-funnel (parallel creative production). The same 5+5+3+1 structure appears across all three, applied to different triggering domains. The shared shape across three independent triggering domains is the practical validation that the cardinality is stable rather than accidental. The disk-artifact protocol — STATUS.md, phase-{N}/{role}-{slug}.md artifacts, context-packets/phase-{N}-packet.md — is the shared scaffolding that makes each skill resumable, inspectable, and auditable across domains.
Realizing in Claude Code
CC primitives
- single-message multi-Task() dispatch — all five Phase 1 investigators, all five Phase 2 iterators, and all three Phase 3 synthesizers are dispatched in a single assistant message each wave; Claude Code executes all Task() calls in the message concurrently, so wall-clock is bounded by the slowest agent in the wave rather than their sum
- Task tool (sub-agent context isolation) — each investigator, iterator, and synthesizer runs in its own context window with its own brief and tool surface; agents within a wave do not see each other's intermediate work, which is the structural property that makes each wave's output an independent perspective rather than a consensus echo
- Phase-boundary disk checkpoint — each wave writes its outputs to deterministic paths (phase-{N}/{role}-{slug}.md) before the next wave dispatches; the filesystem is the checkpoint store; verify_phase.sh asserts all expected files exist before the next wave fires, so a missing artifact halts the funnel loudly rather than forwarding a silent gap
- STATUS.md synchronous update — update_status.py is called inline at each phase boundary to mark the phase complete with a timestamp and artifact count; a fresh-context session reading STATUS.md can reconstruct exactly which phase to resume from without replaying any prior transcript
- Context-packet forwarding — between waves the orchestrator assembles a 1–2 K token summary from the phase artifacts and passes it as the dispatch payload for the next wave; workers read the packet plus their own brief, never the raw prior-phase artifacts; this keeps worker contexts clean and prevents the orchestrator context from growing unbounded across phases
Scaffolding
- .claude/skills/analysis-funnel/SKILL.md — the orchestrator prompt encoding the 5+5+3+1 phase structure, the single-message dispatch constraint ("dispatching Phase 1 investigators one at a time is treated as a defect, not a style preference"), the disk-checkpoint rule, the STATUS.md synchronization contract, and the context-packet forwarding convention; the SKILL.md is the boundary-enforcement specification and the artifact-naming convention source
- .claude/skills/decision-funnel/SKILL.md — the same 5+5+3+1 structure applied to option evaluation: Phase 1 investigators explore option viability, Phase 2 iterators stress-test and develop the top options, Phase 3 synthesizers evaluate through cost/risk/timing lenses, Phase 4 unifier produces a decision recommendation; demonstrates that the cardinality is stable across triggering domains
- .claude/skills/creative-funnel/SKILL.md — the same structure applied to parallel creative production: Phase 1 produces N independent creative variants, Phase 2 iterates and develops the strongest, Phase 3 synthesizes across style/structure/voice lenses; the third domain that validates the cross-domain stability of the 5+5+3+1 shape
- phase-{N}/{role}-{slug}.md artifact convention — each worker writes its output to a deterministic file path; the path is the identity of the artifact and the checkpoint; the orchestrator never holds phase outputs in-context after the phase completes; the docs/agentic-bridge/funnel/ directory is the canonical in-repo instance of this artifact tree, with phase-1/ through phase-4/ directories and a STATUS.md tracking 5+5+3+1 completion
- context-packets/phase-{N}-packet.md — the compressed inter-phase payload; the only artifact that crosses the phase boundary into worker contexts; full phase artifact directories are available on disk but not forwarded; the packet format (1–2 K tokens, prose summary, 3–5 key findings, open questions for next phase) is encoded in the SKILL.md
Monday-morning move
Load analysis-funnel SKILL.md, dispatch all five Phase 1 investigators in one message, write artifacts to disk before Phase 2. [anchor]
See also
- Skill: .claude/skills/analysis-funnel/SKILL.md
- Article: /phase-boundary-loop
- Related patterns: orchestrator-workers · parallelization · checkpointing · context-engineering · 12-factor-agent · identity-separated-review