> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 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`.

<Note>
  `execution` follows the same split: pass `MultiAgentExecutionConfig` at the team level and the single-agent `ExecutionConfig` on each `Agent`. Passing the single-agent `ExecutionConfig` to the team now emits a `UserWarning` listing the fields it cannot map. See [`ExecutionConfig` vs `MultiAgentExecutionConfig`](/docs/features/multi-agent-execution#executionconfig-vs-multiagentexecutionconfig).
</Note>

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph TB
    Q{Which option is this?}
    Q -->|autonomy| Team[Pass to AgentTeam / PraisonAIAgents]
    Q -->|guardrails, web, reflection,<br/>caching, learn, knowledge| Agent[Pass to each Agent]
    Q -->|Anything else| Agent

    classDef question fill:#F59E0B,stroke:#7C90A0,color:#fff
    classDef team fill:#6366F1,stroke:#7C90A0,color:#fff
    classDef agent fill:#10B981,stroke:#7C90A0,color:#fff

    class Q question
    class Team team
    class Agent agent
```

## Quick Start

<Steps>
  <Step title="Put feature options on each Agent">
    Give every agent its own `web`, `knowledge`, or other feature options.

    ```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    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")
    ```
  </Step>

  <Step title="Put autonomy on the team">
    `autonomy` is the one option the team applies for you.

    ```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    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")
    ```
  </Step>
</Steps>

***

## 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.

| Option | Belongs on | Passing it to the team does… |
| - | - | - |
| `autonomy` | `AgentTeam` | Applies at the team level |
| `guardrails` | Each `Agent` | Warns and is ignored at the team level |
| `web` | Each `Agent` | Warns and is ignored at the team level |
| `reflection` | Each `Agent` | Warns and is ignored at the team level |
| `caching` | Each `Agent` | Warns and is ignored at the team level |
| `learn` | Each `Agent` | Warns and is ignored at the team level |
| `knowledge` | Each `Agent` | Warns and is ignored at the team level |

<Warning>
  Passing `guardrails`, `web`, `reflection`, `caching`, `learn`, or `knowledge`
  to `AgentTeam` / `PraisonAIAgents` triggers:

  ```text theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  AgentTeam received ['web'] but does not yet apply them at the team level;
  pass these to individual Agent(...) instances instead.
  ```
</Warning>

***

## Common Patterns

Move the option down from the team onto each agent.

<CodeGroup>
  ```python Before (warns, ignored) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  from praisonaiagents import Agent, AgentTeam

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

  ```python After (works) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  from praisonaiagents import Agent, AgentTeam

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

***

## Best Practices

<AccordionGroup>
  <Accordion title="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.
  </Accordion>

  <Accordion title="Reserve the team for autonomy">
    `autonomy` is the only feature option the team propagates. Keep team-level
    configuration to `autonomy`, `process`, and `manager_llm`.
  </Accordion>

  <Accordion title="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`](/docs/features/multi-agent-execution#executionconfig-vs-multiagentexecutionconfig).
  </Accordion>
</AccordionGroup>

***

## Related

<CardGroup cols={2}>
  <Card title="Knowledge Quick Start" icon="book" href="/docs/knowledge/quickstart">
    Give each agent its own documents
  </Card>

  <Card title="Multi-Agent Pipelines" icon="users" href="/docs/features/multi-agent-pipelines">
    Coordinate multiple agents
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.