Mapeo del ecosistema de IA de Laravel: Prism, LarAgent, Neuron AI y Boost
De simples llamadas a LLM a agentes completos en Laravel: qué hacen Prism, LarAgent, Neuron AI, el SDK de IA y Boost, con un ejemplo de RAG para preguntas sobre políticas de recursos humanos.
Fuentes: From Calling an LLM to Building an Autonomous Agent: Mapping Laravel’s AI Ecosystem in 2026
Busca “laravel ai” en Packagist y la lista es abrumadora. Decenas de paquetes han aparecido en el último año, cada uno presentándose como la forma más sencilla de crear agentes de IA en Laravel. Los nombres se confunden y los archivos README suenan convincentes, pero una vez que instalas algunos, resulta que resuelven problemas muy diferentes.
Muchos desarrolladores han sufrido las consecuencias de esto. Alguien quiere una función sencilla de resumen de texto y termina utilizando todo un framework de agentes con gestión de memoria, llamadas a herramientas y orquestación de múltiples pasos que la función en realidad no necesita. El resultado es un montón de código genérico y una configuración que lleva más tiempo que la propia función.
Lo que sigue explica a los tres actores principales en el ecosistema de agentes de Laravel: Prism, LarAgent y Neuron AI. También aclara dos nombres que se confunden constantemente, el Laravel AI SDK y Laravel Boost, y finaliza con un caso práctico: un asistente que responde preguntas a partir de documentos internos de la empresa.
De llamadas API básicas a un ecosistema
Hace un par de años, para incorporar inteligencia artificial a una aplicación Laravel solo existía un método: se utilizaba el cliente HTTP, se enviaban solicitudes manualmente al endpoint de OpenAI y se analizaba el JSON por cuenta propia. Pasar al siguiente día a Anthropic significaba reescribir todo ese código.
La situación ha cambiado ahora. Se informa que el equipo principal de Laravel lanzó un SDK oficial de IA a principios de 2026, incluyendo soporte para Boost y MCP como parte de un conjunto más amplio de herramientas de IA de Laravel. Cuantos más opciones existen, mayor es la fatiga por decisión, por lo que es importante tener un modelo mental claro: ¿cuándo se necesita un framework de agentes y cuándo basta con la herramienta más sencilla?
El ecosistema también evoluciona rápidamente. Un paquete popular este mes podría quedar obsoleto en seis meses, mientras que otro se convierte en el favorito de la comunidad. En lugar de memorizar nombres, aprenda la categoría de problemas que aborda cada herramienta. Si identifica bien la categoría, elegir la herramienta será sencillo, incluso cuando aparezca una nueva el mes siguiente.
Llamar a un LLM versus tener un agente
La mayor parte de la confusión surge aquí. Muchos desarrolladores asumen que usar IA implica usar un agente, pero ambos se encuentran en niveles de complejidad muy diferentes.
- Llamar a un LLM es sencillo: se ingresa un prompt y se obtiene una respuesta. Piense en generar una descripción de producto o resumir un artículo en tres oraciones. El intercambio ocurre en una sola dirección y no se toman decisiones durante el proceso.
- Un agente razona a través de varios pasos. Decide cuándo usar una herramienta, cuándo hacer una pregunta adicional, cuándo obtener datos de una base de datos antes de responder y cuándo el trabajo está completo. Existe un ciclo de toma de decisiones y no un único ciclo de solicitud-respuesta.
Si la necesidad es del primer tipo, recurrir a un marco de trabajo de agentes es como alquilar un contenedor de transporte para llevar la compra de una semana. Funciona, pero es un esfuerzo desperdiciado, y ahí es exactamente donde Prism resulta útil.
Prism: la capa base para comunicarse con un LLM
Prism es el más ligero de los tres. Es puramente una capa de abstracción. Escribe el código una vez y cambia los proveedores, ya sea OpenAI, Anthropic, Gemini, Mistral, Ollama u otros, sin modificar la estructura de tu código. La generación básica de texto se ve así:
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;
Su calidad positiva radica en una interfaz consistente entre los proveedores. Pasar de Anthropic a OpenAI implica modificar únicamente la llamada using() y nada más. También abarca salida estructurada, llamadas a herramientas básicas, así como entrada de imágenes y documentos.
No obstante, hay que tener en cuenta sus limitaciones. Prism no está diseñado para gestionar estados de ejecución prolongada ni flujos de trabajo autónomos de múltiples pasos. Si buscas una IA que parezca viva, con memoria y la capacidad de actuar a lo largo de una cadena de decisiones, Prism por sí solo no lo logrará. Ahí es donde entra en juego LarAgent.
LarAgent: agentes creados como modelos Eloquent
LarAgent adopta un enfoque que resulta inmediatamente familiar para los desarrolladores de Laravel: defines un agente de manera similar a como definirías un modelo Eloquent. Existe un comando artisan, una estructura de clases y una configuración con un marcado sabor a 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';
}
}
Después de eso, se puede llamar al agente para un usuario específico, con el historial de conversaciones almacenado automáticamente:
use App\AiAgents\SupportAgent;
SupportAgent::forUser(auth()->user())->respond($userMessage);
Compare esto con Prism. Aquí una herramienta se registra a través del atributo #[Tool], y el agente mismo decide cuándo invocarla en función de lo que dice el usuario. Ese es el comportamiento del agente descrito anteriormente: una capa de toma de decisiones subyacente y no un único intercambio.
LarAgent es una opción adecuada cuando un agente necesita una identidad clara vinculada a una función específica, como soporte al cliente, un asistente para la entrada de datos o una ayuda interna a la que el mismo usuario recurre repetidamente con un contexto que debe persistir. El historial se gestiona por usuario, por lo que no hay un esquema que diseñar para ello. Usted elige un mecanismo para almacenar el historial, como la memoria o la caché, y LarAgent se encarga del resto. Para equipos pequeños que deben lanzar una función de agente rápidamente sin mucha configuración, eso representa una verdadera ventaja.
Neuron AI: para trabajos que van más allá de un solo agente
Cuando un proyecto necesita un sistema RAG de nivel profesional, con varios agentes coordinados entre sí o con visibilidad detallada de cada paso que realiza un agente, Neuron AI es la opción a considerar.
No está específico para Laravel. Es un framework de agentes en PHP puro que, por casualidad, se integra sin problemas en un proyecto Laravel. Su arquitectura se asemeja a la de un framework adecuado: un objeto SystemPrompt que da forma a las instrucciones, el RAG gestionado por su clase RAG, almacenes vectoriales que van desde uno simple en memoria hasta Pinecone y Elasticsearch, y Inspector para el monitoreo, que muestra una línea de tiempo en tiempo real de lo que está haciendo el agente. Una definición básica de agente:
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.',
],
);
}
}
Observe cuán más explícito es esto en comparación con LarAgent. La instrucción del sistema separa claramente background, steps y output, y eso es intencional. Neuron AI está diseñado para casos en los que la complejidad ya ha aumentado y se necesita una estructura clara para evitar que el agente se desvíe durante el proceso.
Laravel AI SDK y Laravel Boost: una confusión común
Muchos desarrolladores consideran que se trata de dos nombres para lo mismo. En realidad resuelven problemas completamente diferentes, y se dice que el equipo de Laravel publicó un artículo específico solo para aclarar esta confusión.
- The Laravel AI SDK (
laravel/ai) es el SDK oficial del equipo principal. Su función es integrar funciones de inteligencia artificial en tu aplicación, mediante una API uniforme que abarca texto, resultados estructurados, imágenes, audio y embeddings. Se basa en Prism, por lo que cualquiera familiarizado con Prism encontrará la transición sencilla. Además, el paquete oficial incluye datos ficticios para pruebas, tareas en segundo plano en cola y conmutación automática entre proveedores. - Laravel Boost es algo completamente distinto. Se trata de un servidor MCP que funciona en tu entorno de desarrollo y ayuda a los asistentes de programación con inteligencia artificial, como Claude Code o Cursor, a escribir código Laravel que siga mejor las convenciones del framework. Boost nunca afecta a la aplicación en producción. Es una dependencia exclusiva para desarrollo que está activa mientras codificas y no forma parte de ninguna función de inteligencia artificial que perciban tus usuarios finales.
En pocas palabras, el SDK de IA te ayuda a crear funcionalidades de IA, mientras que Boost permite que la IA te ayude a escribir código Laravel de mejor calidad. Funcionan uno al lado del otro y ninguno reemplaza al otro.
Estudio de caso: responder preguntas a partir de documentos internos
He aquí una solicitud común en el lugar de trabajo. El equipo de recursos humanos está cansado de responder las mismas preguntas sobre la política de vacaciones y desea un chatbot que responda a partir de los documentos de política que ya existen. Se trata de un caso de uso clásico de RAG, es decir, respuestas basadas en los propios documentos de la empresa y no solo en lo que el modelo aprendió durante su entrenamiento.
Se necesita un almacén de vectores, embeddings y recuperación automática, lo que hace que Neuron AI sea la opción ideal:
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
}
}
El flujo, de forma aproximada:
- Los documentos de política de recursos humanos, en PDF o texto plano, se dividen en fragmentos más pequeños, se convierten en embeddings y se guardan en el almacén de vectores.
- Cuando un empleado pregunta cuántos días de vacaciones anuales no utilizados se trasladan al año siguiente, esa pregunta también se convierte en un embedding.
- Neuron AI busca los fragmentos con mayor similitud semántica, no solo por palabras clave, e inserta esos fragmentos como contexto adicional para el LLM.
- El LLM responde a partir de esos fragmentos reales en lugar de adivinar basándose en conocimientos generales.
El resultado es un chatbot cuyas respuestas se refieren a la política real de la empresa y no a una respuesta genérica que podría ser simplemente incorrecta. Se podría forzar una configuración de LarAgent con herramientas manuales para lograr lo mismo, pero entonces habría que crear propia lógica de recuperación, fragmentación y búsqueda de similitud. Neuron AI proporciona estos componentes ya listos para usar.
Con solo un puñado de archivos de política, el MemoryVectorStore del ejemplo es suficiente, ya que mantiene los embeddings en memoria durante la sesión. Una vez que el conjunto de documentos crece y debe sobrevivir a despliegues, sustituya la implementación de vectorStore() por una base de datos vectorial real como Pinecone o Elasticsearch, sin cambiar la lógica del agente. Una abstracción limpia le permite comenzar con algo sencillo y escalar posteriormente, evitando definir la arquitectura final desde el primer día.
Un error que aparece con frecuencia en trabajos de tipo RAG como este es cargar todo el documento de una sola vez sin dividirlo en partes. Una política de recursos humanos larga presentada como un bloque continuo dificulta la búsqueda de similitudes, ya que el sistema no puede determinar qué parte responde a la pregunta. Dividirla por temas o en varios párrafos a la vez permite que la recuperación apunte a la sección correcta.
¿Cuál elegir?
- Prism: una solicitud y respuesta únicas reales, como la generación de texto, resúmenes o descripciones, donde se desea cambiar de proveedor sin dificultades.
- Laravel AI SDK: la opción oficial respaldada por el equipo principal, con pruebas ficticias, tareas en segundo plano y conmutación automática de proveedores, especialmente para proyectos que su equipo mantendrá durante años.
- LarAgent: un agente con identidad clara al que el mismo usuario llama una y otra vez, con una experiencia de desarrollo similar a la de Eloquent y herramientas declaradas mediante atributos simples.
- Neuron AI: el proyecto ha superado ya los agentes simples y requiere RAG avanzado, varios agentes que cooperen entre sí, seguimiento detallado o un flujo de trabajo compuesto por pasos interdependientes.
Ningún paquete aquí es simplemente el mejor, solo aquel que se adapta a la complejidad real que enfrentas. Comienza con la opción más sencilla y avanza solo cuando el problema lo exija. El mejor código no es necesariamente el más ingenioso; es el código que se ajusta al problema.
Leer más
- Agentes paralelos de LangGraph que revisan solicitudes de pull request mediante webhooks de FastAPI — Cómo un webhook, una cola de Redis y cuatro agentes de LangGraph convierten una solicitud de pull request en una revisión estructurada y puntuada por IA en aproximadamente 30 segundos, con ngrok para pruebas locales.
- Notas prácticas: Construcción de un agente de programación en nube privada: OpenCode + un LLM local — Guía paso a paso de las Notas prácticas: Construcción de un agente de programación en nube privada: OpenCode + un LLM local: contratos, verificaciones y espacios para código reutilizable para equipos que implementan este patrón.
- LLMOps para un agente de tareas: MLflow Traces, Evals y una puerta de control CI — Crea un asistente de tareas de PydanticAI con FastAPI, haz seguimiento de su ejecución con MLflow, evalúa su rendimiento con herramientas de GenAI y bloquea las regresiones en GitHub Actions, todo con modelos locales.
- Construyendo un copiloto autónomo de SRE en AWS con MCP, Bedrock Nova y aprobación humana — Crear un agente SRE para la investigación de incidentes: un servidor MCP que expone herramientas de CloudWatch y DynamoDB, un bucle de Bedrock Converse, portabilidad de modelos y una verificación humana en cada solución.
- Notas prácticas: Cómo convertí mi galería de fotos en un agente AI autónomo — Guía paso a paso de las Notas prácticas: Cómo convertí mi galería de fotos en un agente AI autónomo: contratos, verificaciones y espacios de código listos para usar para los equipos que implementan este patrón.
- Automatizando el desarrollo de Laravel con agentes de IA: Construir, probar, arreglar, repetir — Utiliza Laravel Boost y la OpenCode CLI para ejecutar un ciclo de construcción, prueba y corrección con tareas en cola, un orquestador, límites de intentos y revisión humana antes de que cualquier cosa se envíe.