Skip to content

parallel

parallel runs a fixed, pre-defined list of agents simultaneously. All workers receive the same input. Results are collected into a map before the next step.

  • Independent analyses of the same input (financial, reputational, technical)
  • Voting or consensus between multiple specialized agents
  • Running different models or prompting strategies simultaneously
  • Any task where you want multiple independent perspectives
---
name: due-diligence
description: Runs financial and reputational analysis in parallel.
version: "1.0.0"
pattern: parallel
workers:
- finance-analyst
- reputation-analyst
- legal-analyst
call:
model:
role: thinker
---

No body needed — the parallel pattern doesn’t make its own LLM call. It delegates to the listed workers.

Terminal window
tama add parallel my-agent
Input → all workers simultaneously:
finance-analyst receives input
reputation-analyst receives input
legal-analyst receives input
All workers run concurrently.
Runtime waits for all to complete.
Results collected:
{
"finance-analyst": "Financial analysis...",
"reputation-analyst": "Reputation analysis...",
"legal-analyst": "Legal analysis..."
}

The result JSON is passed as the value to whatever comes next (the parallel node’s output key is "done").

parallelscatter
WorkersDifferent agents, heterogeneousSame agent, homogeneous
Input per workerSame input for allDifferent item for each
Worker listStatic, defined at design timeDynamic, decided by map agent at runtime
Reduce stepNone (just collects)reduce.md synthesizes results

parallel by itself just collects results. To do something with them, nest it in an fsm:

---
name: investment-analyzer
description: Runs parallel analyses then synthesizes a recommendation.
version: "1.0.0"
pattern: fsm
initial: analyze
states:
analyze: synthesize # parallel step
synthesize: # terminal
---
# agents/analyze/AGENT.md
---
name: analyze
description: Runs parallel due diligence analyses.
version: "1.0.0"
pattern: parallel
workers:
- finance-analyst
- reputation-analyst
---
# agents/synthesize/AGENT.md
---
name: synthesize
description: Synthesizes parallel analysis results into a recommendation.
version: "1.0.0"
pattern: oneshot
call:
model:
role: thinker
---
You receive a JSON map of parallel analyses.
Synthesize them into a single investment recommendation: BUY, HOLD, or SELL.
Justify your recommendation with specific points from each analysis.