Skip to main content
Multi-agent output controls how an AgentTeam displays its progress and results. Streaming is on by default for responsive output — disable it explicitly if you need compatibility with sync-only providers.

Quick Start

1

Default Silent Mode

from praisonaiagents import Agent, AgentTeam

researcher = Agent(name="Researcher", instructions="Research topics")
writer = Agent(name="Writer", instructions="Write content")

team = AgentTeam(agents=[researcher, writer])
result = team.start("Research and write about AI")  # Silent by default
2

Verbose Output

team = AgentTeam(
    agents=[researcher, writer], 
    output="verbose"
)
team.start("Research and write about AI")  # Rich display
3

Streaming Output

from praisonaiagents import AgentTeam, MultiAgentOutputConfig

team = AgentTeam(
    agents=[researcher, writer],
    output=MultiAgentOutputConfig(verbose=2, stream=True)
)
team.start("Research and write about AI")  # Verbose + streaming

How It Works


Presets

PresetverbosestreamUse case
"silent"0FalseProgrammatic / API / batch
"minimal"1TrueShort status lines
"verbose"2TrueRich panels, full trace (default)
Streaming is ON by default in "minimal" and "verbose" presets. Only "silent" disables streaming. If you need compatibility with sync-only providers, explicitly set stream=False with output=["verbose", {"stream": False}] or output=MultiAgentOutputConfig(verbose=2, stream=False).

Configuration Options

MultiAgentOutputConfig API Reference

Full API reference
OptionTypeDefaultDescription
verboseint0Verbosity level (0=silent, 1=minimal, 2+=verbose)
streamboolTrueStream tokens as the team’s agents respond

Disabling streaming for a multi-agent team

from praisonaiagents import Agent, AgentTeam, MultiAgentOutputConfig

team = AgentTeam(
    agents=[researcher, writer],
    output=MultiAgentOutputConfig(verbose=2, stream=False),
)
team.start("Research and write about quantum computing")
Or via the array form (preset + override):
team = AgentTeam(
    agents=[researcher, writer],
    output=["verbose", {"stream": False}],
)
Streaming is enabled by default. If you’re using sync-only providers like the sync OpenAI adapter or Deepseek (sync), explicitly set stream=False to ensure compatibility.

Choosing the right preset


Common Patterns

Pattern 1: Programmatic team (default)

from praisonaiagents import Agent, AgentTeam

team = AgentTeam(agents=[researcher, writer])
result = team.start("Topic")  # Returns result, no display

Pattern 2: Verbose terminal demo

team = AgentTeam(agents=[researcher, writer], output="verbose")
team.start("Topic")

Pattern 3: Verbose + streaming (provider must support sync stream)

team = AgentTeam(
    agents=[researcher, writer],
    output=["verbose", {"stream": True}],
)
team.start("Topic")

Best Practices

output="silent" (the default) has zero display overhead and works on every provider.
Sync streaming is not supported by every provider. Verify with a single agent before enabling for teams.
verbose is great for live terminal walkthroughs; minimal keeps log files readable.
If you use astart() (async), streaming is more widely supported because async adapters handle sync-only providers via background threads.

Single-agent streaming (auto-detect + fallback)

Single-agent output configuration

Sequential, parallel, hierarchical patterns

Auto-generated SDK reference