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

# Agent Concepts

> Core concepts for agent workflows, schemas, tools, and versions

## What is an Agent in Bud?

An agent is a managed prompt-driven runtime configuration that combines instructions, model/deployment selection, optional schema definitions, and optional tool integrations.

```mermaid theme={null}
graph TB
    A[Agent Definition] --> B[Prompt + Messages]
    A --> C[Model or Deployment]
    A --> D[Schemas]
    A --> E[Tools]
    B --> F[Execution]
    C --> F
    D --> F
    E --> F
```

## Key Building Blocks

### 1) Sessions and Workflows

Agent creation is session-based in a guided drawer. Workflow metadata preserves progress and supports resumed flows.

### 2) Prompt Configuration

Agents can include system prompts and role-based message templates for consistent instruction patterns.

### 3) Structured vs Unstructured I/O

* **Structured**: Define explicit variable schemas for predictable integrations.
* **Unstructured**: Keep input/output freeform for faster iteration.

### 4) Model/Deployment Binding

Agents are configured against model/deployment targets so inference behavior maps to operational endpoints.

### 5) Tool Connectivity

Agents can call connected tools via MCP-style connector flows, including OAuth-capable providers.

### 6) Versions

Each agent can have a current default version and multiple previous versions, enabling safe, incremental improvements.

## Execution Model

```mermaid theme={null}
sequenceDiagram
    participant U as User
    participant A as Agent Builder
    participant T as Tools/Connectors
    participant M as Model/Deployment

    U->>A: Configure prompt, schema, settings
    A->>T: Resolve available connectors (optional)
    A->>M: Run test execution
    M-->>A: Return output
    A-->>U: Review and save version
```

## Operational Considerations

* Use project-scoped creation for ownership and access control.
* Prefer explicit schemas for production API integrations.
* Use versioning for changes that may alter output quality/shape.
* Keep tool access least-privileged and auditable.
