AgentTeam Supported Params

Which AgentTeam params apply at the team level, and which warn and belong on individual agents

AgentTeam applies orchestration params at the team level, but six feature params only work when set on individual Agent(...) instances.

python
from praisonaiagents import Agent, Task, PraisonAIAgents

researcher = Agent(name="Researcher", instructions="Research the topic.")
writer = Agent(name="Writer", instructions="Write a summary.")

team = PraisonAIAgents(agents=[researcher, writer])
team.start()
Diagram

⚠️ Accepted but per-agent only — WARNS

guardrails

web

reflection

caching

learn

knowledge

✅ Applied at team level

agents / tasks / process

manager_llm / llm / name

memory / planning / context

output / execution / hooks

autonomy / run_on / variables

Quick Start

  1. Team-level params work
    python
    from praisonaiagents import Agent, PraisonAIAgents
    
    researcher = Agent(name="Researcher", instructions="Research the topic.")
    writer = Agent(name="Writer", instructions="Write a summary.")
    
    team = PraisonAIAgents(
        agents=[researcher, writer],
        process="sequential",
        memory=True,
        planning=True,
    )
    team.start()

    agents, process, memory, planning, and the other orchestration params take effect for the whole team.

  2. Feature params belong on each Agent
    python
    from praisonaiagents import Agent, PraisonAIAgents
    
    researcher = Agent(
        name="Researcher",
        instructions="Research the topic.",
        knowledge=["notes.pdf"],
        guardrails=lambda o: (True, o),
    )
    writer = Agent(name="Writer", instructions="Write a summary.")
    
    team = PraisonAIAgents(agents=[researcher, writer])
    team.start()

    Set knowledge, guardrails, web, reflection, caching, and learn on the Agent(...) that needs them.


What Applies Where

AgentTeam accepts the six feature params for API symmetry with Agent, but only stores them — it never enforces them at the team level. Only orchestration params and autonomy fan out.

ParamScopeNotes
agentsTeamTeam roster
tasksTeamNone (auto-generated) or a list / tuple of Task instances. str, bytes, non-sequences, or non-Task items raise TypeError since PR #5738. See AgentTeam Task Validation.
processTeam"sequential", "workflow", "hierarchical"
manager_llmTeamHierarchical manager’s model. Never propagated to member agents.
modelTeamCanonical name for the default model for members that never named one. AgentTeam(model="gpt-4o-mini") is now accepted. llm= is a deprecated alias — see Model Parameter. Not related to manager_llm.
llmTeamDeprecated alias for model=. Default LLM for members that never named one; an agent constructed with its own model= / llm= / auth= keeps it. Passing both llm= and model= raises TypeError. Not related to manager_llm. See Container Default LLM.
nameTeamTeam name
variablesTeamGlobal variables for substitution
memoryTeamMulti-agent memory
planningTeamMulti-agent planning
contextTeamContext management
outputTeamOutput/verbosity config
executionTeamIteration/retry limits
hooksTeamMulti-agent hooks
autonomyTeamPropagated per agent via _init_autonomy
run_onTeamShared sandbox for all agents
guardrailsPer-agent onlyWarns if passed to the team
webPer-agent onlyWarns if passed to the team
reflectionPer-agent onlyWarns if passed to the team
cachingPer-agent onlyWarns if passed to the team
learnPer-agent onlyWarns if passed to the team
knowledgePer-agent onlyWarns if passed to the team

Wrong vs Right

Passing feature params to the team compiles fine — no TypeError — but silently does nothing. Move them onto the agents that need them.

Warns — no team-level effect
from praisonaiagents import Agent, PraisonAIAgents

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

# knowledge/guardrails/etc. are NOT applied at the team level
team = PraisonAIAgents(
    agents=[researcher, writer],
    knowledge=["notes.pdf"],
    guardrails=lambda o: (True, o),
)
Correct — configure per Agent
from praisonaiagents import Agent, PraisonAIAgents

researcher = Agent(
    name="Researcher",
    instructions="Research.",
    knowledge=["notes.pdf"],
    guardrails=lambda o: (True, o),
)
writer = Agent(name="Writer", instructions="Write.")

team = PraisonAIAgents(agents=[researcher, writer])

Why It’s This Way

These six params exist on AgentTeam for parity with the Agent API surface, so the same call shape works in both places. There is no team-level orchestrator for guardrails, web, reflection, caching, learn, or knowledge yet, so the team stores the values but cannot enforce them. Each Agent already enforces them individually, which is where they belong.


Best Practices

Put feature params on the Agent that needs them

A researcher needs knowledge; a validator needs guardrails. Configure each Agent(...) for its own job instead of hoping the team fans settings out.

Watch the logs when a feature seems inactive

If knowledge or guardrails appear to do nothing on a team, check for the “does not yet apply them at the team level” warning — it means the param landed on the team, not an agent.

Use team params for orchestration only

Reserve AgentTeam(...) for process, memory, planning, context, output, execution, hooks, and autonomy — the params that actually fan out.


Related