Documentation Index
Fetch the complete documentation index at: https://docs.agno.com/llms.txt
Use this file to discover all available pages before exploring further.
Most research work is independent. The fundamental analyst does not need the technical analyst’s output to do its job. Run them at the same time. A Parallel block in a Workflow does exactly that: every step inside it runs concurrently, and the pipeline waits for all of them before moving on.
from agno.workflow import Parallel, Step, Workflow
workflow = Workflow(
id="review",
name="Deep Dive Review",
steps=[
Step(name="Market Assessment", agent=market_analyst),
Parallel(
Step(name="Fundamental Analysis", agent=financial_analyst),
Step(name="Technical Analysis", agent=technical_analyst),
name="Deep Dive",
),
Step(name="Risk Assessment", agent=risk_officer),
],
)
result = workflow.run("Run a full review on NVDA")
final = result.content # the last step's output
# Gotcha: result.step_results is positional, and a Parallel block is one
# nested list, not flattened:
# [ StepOutput("Market Assessment"),
# [ StepOutput("Fundamental Analysis"), StepOutput("Technical Analysis") ],
# StepOutput("Risk Assessment") ]
The market assessment runs first because risk and the deep dive depend on it. Fundamental and technical analysis have no dependency on each other, so they run together. Risk waits for both.
Two ways to fan out
| Shape | Use when |
|---|
Parallel step in a Workflow | The set of investigations is fixed and the pipeline is auditable |
| Broadcast Team | A lead should synthesize independent opinions on one question |
A Broadcast team is the adaptive version: every member evaluates the same question simultaneously and the lead reconciles them. See Orchestration patterns.
Sequence only what depends
The skill is dependency analysis, not maximum parallelism. Put a step in Parallel only when it does not read another step’s output. Keep the genuine dependencies sequential.
| Step | Depends on | Runs |
|---|
| Market assessment | Nothing | First, alone |
| Fundamental analysis | Market context | In parallel with technical |
| Technical analysis | Market context | In parallel with fundamental |
| Risk assessment | Both analyses | After the parallel block |
Why this matters for deep research
Deep research is slow because it is thorough. Parallelism is what keeps thoroughness affordable in wall-clock time. A five-specialist review that runs the three independent specialists at once finishes in roughly the time of the longest one, not the sum of all five.
Next steps
| Task | Guide |
|---|
| Choose the orchestration shape | Orchestration patterns |
| Ground each parallel specialist | Grounding research |
| Synthesize into one artifact | Structured deliverable |
Developer Resources