Урок 05

Память диалога

По умолчанию агент не помнит предыдущие сообщения. RemembersConversations добавляет память.

Трейт

use Laravel\Ai\Concerns\RemembersConversations;

class SupportAgent implements Agent
{
    use Promptable, RemembersConversations;
}

Использование

// Первый запрос
$response = SupportAgent::make(user: $user)->prompt('Привет!');
$conversationId = $response->conversationId;

// Продолжение
$response = SupportAgent::make(user: $user)
    ->continue($conversationId)
    ->prompt('Что я только что сказал?');

SDK сохраняет историю в БД.

Ручное управление

Для кастомного хранения — Conversational интерфейс:

use Laravel\Ai\Contracts\Conversational;

class CustomAgent implements Agent, Conversational
{
    public function messages(): array
    {
        // возвращает историю из Redis, API, etc.
    }
}

Итоги

  • RemembersConversations для памяти
  • continue($id) для продолжения
  • История в БД
  • Conversational для кастомного хранения