Урок 08

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

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

Трейт

use Laravel\Ai\Concerns\RemembersConversations;
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Promptable;

class SupportAgent implements Agent
{
    use Promptable, RemembersConversations;

    public function instructions(): string
    {
        return 'Ты — агент поддержки.';
    }
}

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

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

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

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

Таблица conversations

Миграция создаётся автоматически. В ней:

  • id — ID диалога
  • user_id — пользователь
  • messages — история
  • steps — шаги с tools

Итоги

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