En este artículo
TL;DR
- Qué es: Un asistente en el chat de tu tienda que busca en el catálogo, compara productos, arma el carrito, cotiza el envío y sigue los pedidos, con los datos reales de tu tienda. Además, una interfaz de administración donde los dueños de la tienda lo configuran, le enseñan y siguen sus ventas.
- Qué lo diferencia: Es un plugin nativo de Sylius, no un conector a un servicio externo. Lee tu catálogo en vivo y trabaja sobre el carrito real de Sylius. Corre con tu propia API key y el modelo que elijas. En nuestras pruebas, una conversación costó menos de un centavo.
- En qué se basa: Portamos la implementación de referencia de Anthropic para agentes de comercio a PHP y Symfony, y liberamos el núcleo reutilizable e independiente del comercio como un bundle open source con licencia MIT.
- Cómo se mantiene preciso: Sus guardrails están diseñados para resistir el prompt injection y evitar respuestas sin respaldo. Solo muestra productos devueltos por sus herramientas, con precios y demás datos tomados de tu catálogo.
- En qué punto está: La mayoría de las funciones ya están operativas, probadas en Sylius 2.0 a 2.3. Este post recorre todo.
Buscamos las primeras tiendas para ponerlo en marcha. Hablemos


¿Qué es un shopping agent?
Hace online lo que hace un vendedor en una tienda física. El comprador describe lo que necesita con sus propias palabras («un regalo para un niño de 6 años que le gusta construir cosas, menos de 50 dólares»). El agente busca en el catálogo, pregunta cuando necesita más detalle, presenta las opciones como tarjetas y agrega el producto elegido al carrito.
Para desarrolladores: es un modelo corriendo en un agent loop estándar. Dado un objetivo («un regalo de menos de 50 dólares»), razona qué hacer, reúne contexto (el catálogo, el carrito, las políticas de la tienda), actúa mediante herramientas, sigue los procedimientos definidos por skills (cómo comparar productos, cómo armar un plan), hace preguntas aclaratorias cuando hace falta y observa los resultados hasta cumplir el objetivo.
¿Por qué construir uno para Sylius?
Los agentes de e-commerce más conocidos, como Fin y Gorgias, solo funcionan con Shopify. Para Sylius, las opciones que encontramos son chatbots alojados con un plugin conector que sincroniza tu catálogo con los servidores del proveedor, y la conversación ocurre allí.
Funciona, pero una copia de tu catálogo vive en otro lugar, el agente conoce tu carrito y tus reglas de envío solo a través de una sincronización, y el proveedor decide qué modelo corre y cuánto cuesta cada conversación. Si elegiste Sylius para mantener el control de tu tienda y de su infraestructura, eso le quita el sentido.
El nuestro es un plugin de Sylius. Lee el catálogo en vivo desde tu base de datos, así que no hay una copia aparte que mantener sincronizada. Usa tu propia API key y el modelo que elijas (Claude, OpenAI y otros). Incluso puedes usar modelos distintos para tareas distintas, como un modelo más barato para el trabajo en segundo plano. En nuestras pruebas, Claude Haiku 5.5 con esfuerzo bajo rinde muy bien, y en promedio una conversación costó menos de US$0,006.


¿Qué hace ya?
Esto es lo que hace hoy, del lado de la tienda y del lado de la administración.
Para los compradores
- Buscar y comparar. Encuentra productos, los compara lado a lado y arma planes de varios ítems («todo lo necesario para empezar un huerto en el balcón»).
- Ayudar a elegir. Cuando la venta educativa está activada, hace dos o tres preguntas relevantes antes de mostrar productos en categorías con guía de compra, y luego recomienda productos complementarios según lo que eligió el comprador.
- Trabajar sobre el carrito real. Agrega, actualiza y quita ítems del carrito de Sylius.
- Cotizar el envío como lo hace el checkout. Usa los métodos de envío de la propia tienda para calcular las tarifas.
- Responder sobre políticas y seguir pedidos. Obtiene la información de devoluciones, envíos y pagos de los documentos de la propia tienda, y consulta los pedidos del cliente que inició sesión.
- Recordar preferencias. Conserva lo que el comprador dijo que le gusta de una visita a la siguiente.
- Mostrar las respuestas como tarjetas en streaming. Muestra carruseles de productos, comparaciones, planes de varios ítems, estados de pedido y resúmenes del carrito a medida que se generan.


Para los dueños de la tienda, en la administración de Sylius
- Conversaciones. Lee la transcripción completa de cada una.
- Estadísticas. Sigue los carritos y pedidos en los que el agente ayudó, los ingresos asistidos y los costos de IA.
- Configuración por canal. Activa o desactiva el asistente, elige el modelo, configura la API key propia del canal (guardada cifrada) y define topes de gasto.
- Tono de voz y estilo de venta. Controla cómo se comunica y cómo vende el asistente. Elige un estilo de venta ya armado y adáptalo a las necesidades de la tienda, o crea uno propio.
- Reglas y conocimiento. Define reglas propias de la tienda («cuando alguien compra un regalo, ofrece envoltorio») y gestiona políticas y guías de compra directamente en la administración, con borradores, historial de versiones y comparación entre versiones. Lo contaremos en un próximo post.


¿Cómo funciona por dentro?
Un núcleo open source
Se basa en la guía de Anthropic para construir agentes de compras y de comerciantes, The anatomy of effective commerce agents. La guía incluye una implementación de referencia en Python. La portamos a PHP y Symfony, mantuvimos su arquitectura y movimos todo lo que no es específico del comercio a un bundle de Symfony open source (con licencia MIT) (odiseoteam/ai-conversational-agent-bundle): el agent loop, las skills, los chequeos de herramientas, el fencing, la memoria, los presupuestos, los evals y el streaming al navegador.
El shopping agent es una vertical construida sobre ese núcleo. La misma base puede dar vida a otros tipos de asistentes. Lo contaremos en un post aparte.
Precisión y guardrails
Sin guardrails, un modelo de lenguaje puede inventar productos, equivocarse en los precios o prometer fechas de entrega que la tienda no puede cumplir. La implementación de referencia lo resuelve en el código, no en el prompt. La guía lo llama enforcement in the harness. Estos guardrails viven en el núcleo open source, así que cualquiera puede ver cómo funcionan, mientras que el plugin los aplica al catálogo, al carrito y a los pedidos de la tienda:
- Provenance. El agente solo puede mostrar o agregar productos cuyos IDs haya devuelto una herramienta durante la conversación actual. Para desarrolladores, funciona como una restricción de clave foránea.
- Herramientas de presentación. Las tarjetas se generan mediante herramientas: el modelo identifica los productos y el servidor completa precios, stock, imágenes y enlaces desde el catálogo.
- Grounding. Las preguntas sobre el catálogo, las políticas de la tienda o los pedidos disparan una consulta antes de que el agente responda.
- Fencing. Las descripciones de productos, los documentos de la tienda y los resultados de las herramientas se pasan al modelo como datos explícitamente delimitados, de modo que un prompt injection escondido en ese contenido no se trate como una orden.


Para verificar estos guardrails, cada flujo tiene sus propios evals: casos de prueba que ejecutan el agente contra una tienda y evalúan su comportamiento, desde las herramientas que llama hasta el estado del carrito que deja. Los contaremos en un post posterior.
Lo que viene
El próximo post cubrirá sus capacidades en detalle, cómo configurarlo y cómo se ve la interfaz de administración. Después compartiremos novedades sobre cómo funciona en una tienda real en las próximas semanas, cómo acelerar los turnos con llamadas a herramientas en paralelo y cómo reducir el costo por turno con un mejor prompt caching, entre otras cosas.
Todavía no hay una demo pública. Preferimos recorrerlo en esta serie mientras lo seguimos puliendo. Empezaremos a distribuir el plugin cuando esté listo.
¿No usas Sylius, o no tienes una tienda? La misma base ejecuta agentes dedicados en otros stacks y para otras tareas: ventas, posventa, atención al cliente o un asistente para un sitio que no vende nada. Corren en tu propia infraestructura, no como un SaaS. Cuéntanos qué necesitas.