Память диалога
По умолчанию агент не помнит предыдущие сообщения. 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для кастомного хранения