Главная / Статьи

Карта экосистемы ИИ Laravel: Prism, LarAgent, Neuron AI и Boost

От простых вызовов LLM до полноценных агентов в Laravel: что делают Prism, LarAgent, Neuron AI, AI SDK и Boost, с примером использования RAG для вопросов, связанных с политикой в области управления персоналом.

Издатель: REACTAPP.TOP9 мин чтения2160 слов

Источники: From Calling an LLM to Building an Autonomous Agent: Mapping Laravel’s AI Ecosystem in 2026

Если поискать в Packagist пакеты с названием «laravel ai», результаты просто ошеломляют. За прошедший год появилось десятки таких пакетов, каждый из которых заявляет, что представляет собой самый простой способ создания ИИ-агентов в Laravel. Названия пакетов сливаются в одну кашу, а файлы README кажутся убедительными, но после установки нескольких из них оказывается, что они решают совершенно разные задачи.

Многие разработчики пострадали из-за этого. Кто-то хочет простую функцию генерации текстового резюме, но в итоге приходится использовать целую платформу для создания агентов с механизмами управления памятью, вызовом инструментов и многократной организацией операций, в которых эта функция вообще не нуждается. В результате получается куча шаблонного кода и процесс настройки, занимающий больше времени, чем сама функция.

Далее рассматриваются три основных участника экосистемы агентов Laravel: Prism, LarAgent и Neuron AI. Также разбираются два часто путаемых понятия — Laravel AI SDK и Laravel Boost, — а в конце приводится практический пример: ассистент, отвечающий на вопросы на основе внутренних корпоративных документов.

От простых вызовов API к полноценной экосистеме

Несколько лет назад для интеграции ИИ в приложение Laravel существовал только один способ: использовался HTTP-клиент, данные отправлялись в конечную точку OpenAI вручную, а JSON-ответ анализировался самостоятельно. Переход на Anthropic уже на следующий день требовал переписывания всего этого кода.

Ситуация с изображениями теперь изменилась. По сообщениям, команда разработчиков Laravel выпустила официальный SDK для ИИ в начале 2026 года, включающий поддержку Boost и MCP в рамках более широкого набора инструментов Laravel AI. Увеличение выбора приводит к усталости от принятия решений, поэтому важно иметь четкую картину: когда необходима платформа для агентов, а когда достаточно самого простого инструмента?

Экосистема также развивается быстро. Инструмент, популярный в этом месяце, через шесть месяцев может потерять актуальность, в то время как другой станет фаворитом сообщества. Вместо того чтобы запоминать названия, изучайте категорию проблем, с которыми справляется каждый инструмент. Если вы правильно определите категорию, выбор инструмента будет простым, даже если в следующем месяце появится что-то новое.

Вызов LLM против использования агента

Большинство недопониманий возникает именно здесь. Многие разработчики считают, что использование ИИ означает использование агента, однако эти два подхода относятся к совершенно разным уровням сложности.

  • Запуск LLM — процесс простой: один вводной запрос, один ответ. Это похоже на создание описания продукта или краткое изложение статьи в трех предложениях. Обмен информацией происходит в одном направлении, и по пути ничего не решается.
  • Агент принимает решения на нескольких этапах. Он определяет, когда вызвать инструмент, когда задать дополнительный вопрос, когда получить данные из базы данных перед ответом и когда задача выполнена. Это цикл принятия решений, а не просто цикл запрос-ответ.

Если требуется первый вариант, использование фреймворка агента подобно аренде грузового контейнера для перевозки продуктов на неделю. Это сработает, но это пустая трата усилий, и именно здесь проявляет себя ценность Prism.

Prism: базовый слой для взаимодействия с LLM

Prism — самый легкий из трех. Это чисто слой абстракции. Вы пишете код один раз, а затем меняете поставщиков — будь то OpenAI, Anthropic, Gemini, Mistral, Ollama или другие — без изменения структуры кода. Основная процедура генерации текста выглядит следующим образом:

use Prism\Prism\Facades\Prism;
use Prism\Prism\Enums\Provider;

$response = Prism::text()
    ->using(Provider::Anthropic, 'claude-3-7-sonnet-latest')
    ->withSystemPrompt('You are an assistant who explains technical terms in plain language.')
    ->withPrompt('Explain what dependency injection is.')
    ->asText();

echo $response->text;

Его преимущество заключается в единообразном интерфейсе у всех поставщиков. Переход с Anthropic на OpenAI подразумевает изменение только вызова using(), больше ничего. Он также обеспечивает структурированный вывод, базовый вызов инструментов, а также ввод изображений и документов.

Однако следует помнить о его ограничениях. Prism не предназначен для управления долгосрочным состоянием или автономными многоэтапными рабочими процессами. Если вам нужен ИИ, который кажется «живым», обладающим памятью и способностью принимать решения в цепочке действий, один только Prism этого не сделает. Именно здесь на сцену выходит LarAgent.

LarAgent: агенты, построенные по принципу моделей Eloquent

LarAgent использует подход, знакомый разработчикам Laravel: агент определяется примерно так же, как модель Eloquent. Существует команда artisan, классовая структура и конфигурация с явно выраженным стилем Laravel.

namespace App\AiAgents;

use LarAgent\Agent;
use LarAgent\Attributes\Tool;

class SupportAgent extends Agent
{
    protected $model = 'gpt-4o';
    protected $history = 'in_memory';
    protected $provider = 'default';

    public function instructions()
    {
        return 'You are a support agent that helps users track their order status.';
    }

    #[Tool('Get order status by invoice number')]
    public function getOrderStatus($invoiceNumber)
    {
        return Order::where('invoice', $invoiceNumber)->first()?->status ?? 'Order not found';
    }
}

После этого можно вызвать агента для конкретного пользователя, причем история разговоров сохраняется автоматически:

use App\AiAgents\SupportAgent;

SupportAgent::forUser(auth()->user())->respond($userMessage);

Сравните это с Prism. Здесь инструмент регистрируется с помощью атрибута #[Tool], и сам агент решает, когда его вызвать, исходя из того, что говорит пользователь. Это и есть поведение агента, описанное ранее — слой принятия решений, а не одна единственная операция обмена данными.

LarAgent отлично подходит в тех случаях, когда агенту нужна четкая идентичность, связанная с определенной функцией, такой как обслуживание клиентов, помощник по вводу данных или внутренний инструмент, к которому один и тот же пользователь постоянно обращается с контекстом, который должен сохраняться. История операций обрабатывается отдельно для каждого пользователя, поэтому не требуется разрабатывать специальную схему для нее. Вы выбираете механизм хранения истории, например память или кэш, а LarAgent занимается всем остальным. Для небольших команд, которым необходимо быстро внедрить функцию агента с минимальной настройкой, это действительно значительное преимущество.

Neuron AI: для работы с несколькими агентами

Когда проект требует решений уровня производства для работы с RAG, скоординированной работы нескольких агентов или детального отслеживания каждого шага, который выполняет агент, Neuron AI — это вариант, который стоит рассмотреть.

Он не предназначен исключительно для Laravel. Это чистая фреймворковая среда для агентов на PHP, которая легко интегрируется в проекты Laravel без проблем. Её архитектура напоминает настоящий фреймворк: объект SystemPrompt, задающий структуру промптов, механизм RAG, реализованный с помощью класса RAG, хранилища векторов, начиная с простого внутреннего хранилища и заканчивая Pinecone и Elasticsearch, а также инструмент Inspector для мониторинга, отображающий реальное время выполнения действий агента. Пример базового определения агента:

namespace App\Neuron;

use NeuronAI\Agent;
use NeuronAI\SystemPrompt;
use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\Providers\Anthropic\Anthropic;

class DataAnalystAgent extends Agent
{
    protected function provider(): AIProviderInterface
    {
        return new Anthropic(
            key: env('ANTHROPIC_API_KEY'),
            model: 'claude-3-7-sonnet-latest',
        );
    }

    public function instructions(): string
    {
        return (string) new SystemPrompt(
            background: ['You are a data analyst helping the marketing team understand sales trends.'],
            steps: [
                'Fetch sales data using the available tool.',
                'Analyze the trends and patterns that emerge.',
                'Communicate the insight in plain, easy-to-understand language.',
            ],
        );
    }
}

Видите, насколько здесь всё более чётко определено по сравнению с LarAgent. Системное указание чётко разделяет фон, шаги и результат, и это сделано намеренно. Neuron AI предназначен для случаев, когда сложность уже возросла, и требуется чёткая структура, чтобы агент не сбился с курса в процессе выполнения задачи.

Laravel AI SDK и Laravel Boost: распространённое путаница

Многие разработчики считают их двумя названиями одного и того же инструмента. На самом деле они решают совершенно разные проблемы, и, как сообщается, команда Laravel опубликовала специальную статью, чтобы прояснить эту путаницу.

  • Laravel AI SDK (laravel/ai) — это официальный SDK от основной команды. Его задача — внедрять функции искусственного интеллекта в ваше приложение с помощью единого API, обрабатывающего текст, структурированные данные, изображения, аудио и эмбеддинги. Он построен на базе Prism, поэтому тем, кто знаком с Prism, будет легко освоить его. Кроме того, официальный пакет включает фиктивные данные для тестирования, возможность выполнения задач в фоновом режиме и автоматическую замену поставщиков услуг.
  • Laravel Boost — это совершенно другой инструмент. Это сервер MCP, работающий в вашей среде разработки, который помогает ассистентам по программированию на основе ИИ, таким как Claude Code или Cursor, писать код на Laravel, соответствующий конвенциям фреймворка. Boost никогда не влияет на производственное приложение. Это зависимость, активная только во время разработки, и она не является частью функций ИИ, с которыми сталкиваются конечные пользователи.

Проще говоря, AI SDK помогает вам создавать функции искусственного интеллекта, а Boost помогает искусственному интеллекту помочь вам писать лучший код на Laravel. Они работают параллельно, и ни один из них не заменяет другой.

Пример применения: ответы на вопросы из внутренних документов

Вот типичная рабочая задача. Команда по управлению персоналом устала отвечать на одни и те же вопросы о политике отпусков и хочет чат-бота, который будет отвечать на основе уже существующих документов с этой политикой. Это классический случай применения технологии RAG, то есть ответы основаны на собственных документах компании, а не только на информации, полученной моделью во время обучения.

Для этого требуется хранилище векторов, эмбеддинги и автоматический поиск, что делает Neuron AI идеальным решением:

namespace App\Neuron;

use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\Providers\Anthropic\Anthropic;
use NeuronAI\RAG\RAG;
use NeuronAI\RAG\Embeddings\EmbeddingsProviderInterface;
use NeuronAI\RAG\VectorStore\VectorStoreInterface;
use NeuronAI\RAG\VectorStore\MemoryVectorStore;

class HrPolicyAgent extends RAG
{
    protected function provider(): AIProviderInterface
    {
        return new Anthropic(
            key: env('ANTHROPIC_API_KEY'),
            model: 'claude-3-7-sonnet-latest',
        );
    }

    protected function vectorStore(): VectorStoreInterface
    {
        return new MemoryVectorStore();
    }

    protected function embeddings(): EmbeddingsProviderInterface
    {
        // your preferred embeddings provider, e.g. OpenAI or Voyage
    }
}

Пошаговый процесс примерно таков:

  1. Документы с правилами HR в формате PDF или обычного текста делятся на более мелкие фрагменты, преобразуются в эмбеддинги и сохраняются в хранилище векторов.
  2. Когда сотрудник спрашивает, сколько дней неиспользованного ежегодного отпуска переходит в следующий год, этот вопрос также преобразуется в эмбеддинг.
  3. Neuron AI ищет фрагменты с наиболее близким значением, а не только по ключевым словам, и включает их в качестве дополнительного контекста для LLM.
  4. LLM отвечает на основе этих конкретных фрагментов, а не на основе общих знаний.

Результатом является чат-бот, ответы которого основаны на реальных правилах компании, а не на общих, возможно неверных, ответах. Вы можете заставить LarAgent выполнять аналогичную функцию с помощью ручных инструментов, но тогда вам придётся самостоятельно разрабатывать логику поиска, разбиения на фрагменты и поиска сходства. Neuron AI поставляет всё это в виде готовых компонентов.

В примере достаточно MemoryVectorStore — он хранит эмбеддинги в памяти в течение сессии, требуя всего нескольких файлов с настройками. Когда набор документов увеличивается и необходимо обеспечить его работу при развертывании, замените реализацию vectorStore() на настоящую векторную базу данных, такую как Pinecone или Elasticsearch, без изменений в логике агента. Четкое абстрагирование позволяет начать с малого и расширять систему позже, избегая необходимости фиксации окончательной архитектуры с самого начала.

Частой ошибкой при работе с подобными решениями типа RAG является загрузка всего документа целиком без его разбиения на части. Длинный документ с правилами HR, переданный как один непрерывный блок, затрудняет поиск по сходству, поскольку система не может определить, какая его часть отвечает на вопрос. Разделение документа по темам или по нескольким абзацам позволяет находить нужный раздел при поиске.

Какой вариант выбрать

  • Prism: настоящий одиночный запрос и ответ, например, генерация текста, кратких изложений или описаний, при котором необходимо без проблем переключаться между поставщиками.
  • Laravel AI SDK: официальный вариант, поддерживаемый основной командой, с тестовыми данными, фоновыми задачами и механизмом аварийного переключения поставщиков, особенно подходящий для проектов, которыми ваша команда будет заниматься годами.
  • LarAgent: агент с четко определенной идентичностью, к которому один и тот же пользователь обращается снова и снова, обеспечивающий опыт разработки, схожий с Eloquent, и инструменты, задаваемые с помощью простых атрибутов.
  • Neuron AI: проект вырос за пределы простых агентов и требует использования сложных решений типа RAG, нескольких взаимодействующих агентов, тщательного отслеживания действий или рабочего процесса, состоящего из взаимозависимых шагов.
  • Laravel Boost: он не предназначен для реализации ИИ-функций в вашем приложении, а служит для создания собственного помощника-программиста, который пишет более чистый код на Laravel в соответствии с установленными стандартами.
  • Ни один из пакетов здесь не является абсолютно лучшим — только тот, который соответствует уровню сложности, с которым вы действительно сталкиваетесь. Начните с самого простого варианта и переходите к более сложным только тогда, когда это необходимо. Лучший код — это не самый изощрённый, а тот, который подходит для решения конкретной задачи.