This is the pattern used by the Agentic Universe pipeline itself — see architecture notes for the full stage-by-stage breakdown.
When to use: Deterministic workflows where each step is predictable.
Example: News aggregation pipeline, data processing, ETL with LLM enrichment.
Implementation: Plain async/await + direct API calls. No framework needed.
A classifier routes input to different processing paths based on content.
[Input] → [Router LLM] → Path A (simple) → Path B (complex) → Path C (special handling)
When to use: Different inputs need fundamentally different processing.
Example: Customer support (billing vs technical vs general), content moderation.
Implementation: One cheap LLM call to classify, then route to appropriate handler.
[Input Items] → [Map: Process Each] → [Reduce: Combine]
When to use: Independent items that need individual processing, then synthesis.
Example: Multi-document summarization, batch article processing.
Implementation:Promise.allSettled() for map, single LLM call for reduce.
The agent decides what to do next based on observations.
[Observe] → [Think] → [Act] → [Observe] → ...
When to use: Open-ended tasks where the next step depends on previous results.
Example: Coding agents (Claude Code, Cursor), research assistants.
Implementation: LangGraph, CrewAI, or custom loop with tool calling.
When to use: Quality-critical output that benefits from iteration.
Example: Code generation with test verification, content with style checking.
Implementation: Custom loop with separate judge prompt.
Most production AI systems are Pattern 1 (Sequential Pipeline). If your workflow is:
A straight line (A then B then C)
Deterministic (same input = same path)
No branching or looping
Then plain code is simpler, faster, and easier to debug than any framework. Reserve frameworks for Patterns 4-6 where agent autonomy is genuinely needed.