Skip to main content
d-n
← Back to Agentic Design Patterns
Layer 5 — Methodology

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.

A left-to-right flowchart in which a Brief and question flow into a Phase 0 Frame step, then into Phase 1 where five parallel agents investigate, writing to a disk checkpoint that updates STATUS.md and produces a context packet; that packet dispatches Phase 2 where five parallel agents iterate; another checkpoint dispatches Phase 3 where three parallel agents synthesize; a final checkpoint dispatches Phase 4 where one unifying agent produces the final deliverable on disk.

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

SourceClaim
anthropic.comAnthropic'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.ioGoogle 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.ukThe 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

Pseudocode: No first-party TypeScript SDK (No SDK). The sketch below is illustrative.

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

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

Worked example

The analysis-funnel SKILL.md is the primary realization of the Funnel Method in this repository. The docs/agentic-bridge/funnel/ directory is the artifact tree produced by a complete analysis-funnel run: phase-1/ through phase-4/ directories, STATUS.md tracking completion across all five phases (Phase 4 COMPLETE as of 2026-05-05T02:48:00Z), and context-packets/ holding the inter-phase summaries. The run analyzed the agentic bridge documentation strategy across five investigation areas (structure, voice, prior art, audience, scope), five iteration angles, three synthesis lenses (strategic, editorial, implementation), and produced a 481-line ~6,950-word final report at phase-4/analysis-report.md. The single-message multi-Task() dispatch is the structural primitive that made Phase 1's five-investigator run a parallel fan-out rather than a sequential chain. All five Task() calls appeared in one assistant message. Claude Code executed all five tool_use blocks concurrently. Each investigator wrote its findings to phase-1/{role}-{slug}.md before the orchestrator read them back. The elapsed time was bounded by the slowest investigator, not the sum of all five. The docs/read-along-feature/ directory is a second in-repo artifact tree from an earlier analysis-funnel run (read-along feature scope and implementation analysis), demonstrating that the same artifact convention applies across different triggering domains. Both trees follow the same phase-{N}/{role}-{slug}.md naming, the same STATUS.md structure, and the same context-packet forwarding between phases. This worked example also shows where the context-packet design matters in practice. The context-packets/phase-{N}-packet.md files in docs/agentic-bridge/funnel/ are each 300–500 words — deliberately compressed from the 3,000–5,000-word phase artifact trees they summarize. The compression is not a convenience; it is what keeps Phase 2 worker contexts clean enough to produce independent iterations rather than restatements of Phase 1 content. Workers that receive raw Phase 1 transcripts tend to elaborate rather than iterate; workers that receive a context packet tend to challenge and extend.

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