> Source: https://laravilt.com/docs/ai/agents/introduction

# AI Agents

AI assistants with resource capabilities and tool calling.

## Overview

| Topic | Description |
|-------|-------------|
| [Resource Agents](https://github.com/laravilt/laravilt/blob/HEAD/docs/ai/agents/resource-agents) | Per-resource AI |
| [AI Columns](https://github.com/laravilt/laravilt/blob/HEAD/docs/ai/agents/ai-columns) | Column definitions |
| [Configuration](https://github.com/laravilt/laravilt/blob/HEAD/docs/ai/agents/configuration) | Agent settings |

## Basic Agent

```php
<?php

use Laravilt\AI\Agent;

$agent = Agent::make('product_assistant')
    ->description('AI assistant for product management')
    ->instructions('You help users manage products.')
    ->tools([
        // Add tools here
    ]);
```

## Resource Agent

```php
<?php

use Laravilt\AI\ResourceAgent;
use App\Models\Product;

$agent = ResourceAgent::make('product_agent')
    ->model(Product::class)
    ->autoGenerateTools()
    ->description('Manage products via AI');
```

## AI Manager

```php
<?php

use Laravilt\AI\AIManager;

$ai = app(AIManager::class);

$response = $ai->provider('openai')->chat([
    ['role' => 'user', 'content' => 'Hello!'],
]);

// Check configuration
if ($ai->isConfigured()) {
    $providers = $ai->getProviders();
}
```

## Related

- [Resource Agents](https://github.com/laravilt/laravilt/blob/HEAD/docs/ai/agents/resource-agents) - CRUD capabilities
- [AI Columns](https://github.com/laravilt/laravilt/blob/HEAD/docs/ai/agents/ai-columns) - Column definitions
