Skip to main content

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

ShapeUse when
Parallel step in a WorkflowThe set of investigations is fixed and the pipeline is auditable
Broadcast TeamA 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.
StepDepends onRuns
Market assessmentNothingFirst, alone
Fundamental analysisMarket contextIn parallel with technical
Technical analysisMarket contextIn parallel with fundamental
Risk assessmentBoth analysesAfter 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

TaskGuide
Choose the orchestration shapeOrchestration patterns
Ground each parallel specialistGrounding research
Synthesize into one artifactStructured deliverable

Developer Resources