Where Each Option Belongs

Which options belong on AgentTeam and which belong on each Agent

AgentTeam (also exported as PraisonAIAgents) applies autonomy at the team level; the feature options belong on each Agent.

Diagram

autonomy

guardrails, web, reflection,
caching, learn, knowledge

Anything else

Which option is this?

Pass to AgentTeam / PraisonAIAgents

Pass to each Agent

Quick Start

  1. Put feature options on each Agent

    Give every agent its own web, knowledge, or other feature options.

    python
    from praisonaiagents import Agent, AgentTeam
    
    researcher = Agent(
        name="Researcher",
        instructions="Research the topic.",
        web=True,                    # Feature options live on the Agent
        knowledge=["notes.txt"],
    )
    writer = Agent(
        name="Writer",
        instructions="Write a summary.",
        reflection=True,
    )
    
    team = AgentTeam(agents=[researcher, writer])
    team.start("Summarise the latest AI safety research")
  2. Put autonomy on the team

    autonomy is the one option the team applies for you.

    python
    from praisonaiagents import Agent, AgentTeam
    
    team = AgentTeam(
        agents=[Agent(name="Worker", instructions="Do the task.")],
        autonomy=True,               # Applied at the team level
    )
    team.start("Plan and execute the task")

How It Works

AgentTeam accepts six feature options for API symmetry with Agent, but does not apply them at the team level. Passing them logs a warning and ignores the value.

OptionBelongs onPassing it to the team does…
autonomyAgentTeamApplies at the team level
guardrailsEach AgentWarns and is ignored at the team level
webEach AgentWarns and is ignored at the team level
reflectionEach AgentWarns and is ignored at the team level
cachingEach AgentWarns and is ignored at the team level
learnEach AgentWarns and is ignored at the team level
knowledgeEach AgentWarns and is ignored at the team level

Common Patterns

Move the option down from the team onto each agent.

Before (warns, ignored)
from praisonaiagents import Agent, AgentTeam

team = AgentTeam(
    agents=[
        Agent(name="Researcher", instructions="Research."),
        Agent(name="Writer", instructions="Write."),
    ],
    web=True,          # Warns and is ignored
)
After (works)
from praisonaiagents import Agent, AgentTeam

team = AgentTeam(
    agents=[
        Agent(name="Researcher", instructions="Research.", web=True),
        Agent(name="Writer", instructions="Write.", web=True),
    ],
)

Best Practices

Set feature options per role

Each agent has a different job. Give the researcher web=True and the writer reflection=True rather than forcing one option across the whole team.

Reserve the team for autonomy

autonomy is the only feature option the team propagates. Keep team-level configuration to autonomy, process, and manager_llm.

Watch the logs

A warning on construction means an option landed in the wrong place. Move it onto the Agent(...) instances it was meant for. Passing the single-agent ExecutionConfig to the team warns and adapts what it can — use MultiAgentExecutionConfig instead. See ExecutionConfig vs MultiAgentExecutionConfig.


Related