Multi-Agent Output

Control how a team of agents displays its work — silent, minimal, or verbose

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.

python
from praisonaiagents import Agent, AgentTeam

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

team = AgentTeam(agents=[researcher, writer])
team.start("Research and write about AI")

The user runs a team; output mode controls whether progress stays silent, minimal, or verbose.

Diagram

Multi-Agent Output Flow

silent

minimal

verbose

👤 User

🤝 AgentTeam

⚙️ Output Config

🔇 No Display

📝 Status Lines

📊 Rich Panels

Quick Start

  1. Default Silent Mode
    python
    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
    python
    team = AgentTeam(
        agents=[researcher, writer], 
        output="verbose"
    )
    team.start("Research and write about AI")  # Rich display
  3. Streaming Output
    python
    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

—Multi-agent output controls how an AgentTeam displays its progress and results.

python
from praisonaiagents import Agent, AgentTeam

researcher = Agent(name="Researcher", instructions="Research topics")
writer = Agent(name="Writer", instructions="Write content")
team = AgentTeam(agents=[researcher, writer], output="verbose")
team.start("Research and write about AI")

The user picks silent, minimal, or verbose output; the team streams progress accordingly.

Diagram
DisplayAgentsOutput ConfigAgentTeamUserDisplayAgentsOutput ConfigAgentTeamUserloop[Each Agent]start(“task”)Resolve output settingsverbose, stream settingsExecute taskEmit progress (if verbose > 0)Show formatted outputReturn final result

Presets

PresetverbosestreamUse case
"silent"0FalseProgrammatic / API / batch
"minimal"1TrueShort status lines
"verbose"2TrueRich panels, full trace (default)

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

python
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):

python
team = AgentTeam(
    agents=[researcher, writer],
    output=["verbose", {"stream": False}],
)

Choosing the right preset

Diagram

Yes

Yes

Yes

Yes

No

How do you run the team?

Programmatic/API?

Live demo?

Batch processing?

🔇 output=None
Silent mode

📊 output=’verbose’
Rich display

📝 output=’minimal’
Status logging

Provider supports
sync streaming?

✨ Add stream=True
for real-time tokens

⚡ Keep stream=False
for compatibility


Common Patterns

Pattern 1: Programmatic team (default)

python
from praisonaiagents import Agent, AgentTeam

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

Pattern 2: Verbose terminal demo

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

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

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

Best Practices

Use 'silent' for production APIs

output="silent" (the default) has zero display overhead and works on every provider.

Test streaming with single agent first

Sync streaming is not supported by every provider. Verify with a single agent before enabling for teams.

Choose 'verbose' for demos, 'minimal' for logs

verbose is great for live terminal walkthroughs; minimal keeps log files readable.

Use async for broader streaming support

If you use astart() (async), streaming is more widely supported because async adapters handle sync-only providers via background threads.


Related