Volver al Blog
· 5 min de lectura · ES

Cómo Construí un Copilot AI en VTEX: RAG, Multi-Agente y Lo Que Aprendí

Un deep-dive técnico sobre el diseño del sistema de IA agéntica que impulsa el Copilot de VTEX.

AI RAG Multi-Agent VTEX BuildingInPublic
También disponible en: English →

El Desafío

Cuando me uní al equipo de IA en VTEX, la misión era clara: construir un asistente de IA que ayudara a los merchants a gestionar sus operaciones de e-commerce. Pero “asistente de IA” es vago. ¿Qué significa realmente?

Después de meses de investigación e iteración, definimos Copilot como:

Un sistema de IA agéntica que entiende la intención del merchant, recupera contexto relevante de la base de conocimiento de VTEX, y ejecuta o guía acciones en la plataforma.

Esto significaba construir tres capacidades principales:

  1. Comprensión — Parsear consultas en lenguaje natural en intenciones accionables
  2. Recuperación — Encontrar documentación relevante, configuraciones y datos históricos
  3. Acción — Ejecutar operaciones o guiar usuarios a través de flujos complejos

La Arquitectura

Pipeline RAG

El corazón de Copilot es un pipeline de Retrieval-Augmented Generation (RAG). Así funciona:

Consulta → Clasificación de Intención → Recuperación → Ensamblaje de Contexto → LLM → Respuesta

¿Por qué RAG?

Los LLMs puros alucinan. Mucho. RAG ancla el modelo en documentación y datos reales, reduciendo dramáticamente las alucinaciones mientras mantiene las respuestas actualizadas.

Decisiones clave que tomamos:

  • Estrategia de chunking — Usamos chunking semántico con overlap, no chunks de tamaño fijo. Las secciones de documentación tienen límites naturales.
  • Modelo de embeddingstext-embedding-3-large de OpenAI para producción, con planes de migrar a modelos open-source para reducir costos.
  • Vector store — Pinecone para recuperación de baja latencia a escala.
  • Re-ranking — Reranker de Cohere para mejorar la precisión de recuperación antes de enviar al LLM.

Orquestación Multi-Agente

Las consultas complejas requieren múltiples agentes especializados. Por ejemplo:

“¿Por qué bajaron mis ventas la semana pasada y cómo lo arreglo?”

Esto dispara:

  1. Agente de Analytics — Consulta datos de ventas, identifica anomalías
  2. Agente de Diagnóstico — Verifica cambios de configuración, promociones que terminaron
  3. Agente de Recomendación — Sugiere acciones basadas en hallazgos

Usamos un patrón supervisor donde un agente orquestador principal delega a especialistas y sintetiza sus outputs.

const orchestrator = new SupervisorAgent({
  agents: [analyticsAgent, diagnosticAgent, recommendationAgent],
  strategy: 'parallel-then-synthesize',
  timeout: 30000,
});

Los sistemas multi-agente son poderosos pero añaden complejidad. Empieza con un solo agente y solo añade más cuando tengas responsabilidades claras y separables.

Deep-Dive Técnico: La Capa de Recuperación

Búsqueda Híbrida

La búsqueda vectorial pura no es suficiente. Combinamos:

  • Búsqueda semántica — Similaridad vectorial para matches conceptuales
  • Búsqueda por palabras clave — BM25 para matches exactos de términos (especialmente para nombres de productos, IDs)
  • Filtrado por metadata — Filtrar por tipo de documento, recencia, idioma
def hybrid_search(query: str, filters: dict) -> list[Document]:
    # Búsqueda semántica
    semantic_results = vector_store.similarity_search(
        query,
        k=20,
        filter=filters
    )

    # Búsqueda por palabras clave
    keyword_results = bm25_index.search(query, k=20)

    # Reciprocal Rank Fusion
    return rrf_merge(semantic_results, keyword_results, k=10)

Gestión de Ventana de Contexto

La ventana de contexto de GPT-4 es grande pero no infinita. Desarrollamos un sistema de prioridad:

  1. Imprescindible — Documentos recuperados directamente
  2. Importante — Historial de conversación, perfil de usuario
  3. Deseable — Artículos relacionados, ejemplos

Cuando nos acercamos a los límites, truncamos de abajo hacia arriba.

Lecciones Aprendidas

1. La Latencia es Todo

Los usuarios esperan respuestas instantáneas. Nuestros objetivos:

  • P50 < 2 segundos
  • P95 < 5 segundos

Lo logramos mediante:

  • Streaming de respuestas (empezar a mostrar texto inmediatamente)
  • Recuperación paralela de múltiples fuentes
  • Caching agresivo de embeddings

2. La Evaluación es Difícil

¿Cómo sabes si la IA está mejorando? Construimos:

  • Dataset dorado — 500 pares query-respuesta calificados por humanos
  • Evals automatizados — LLM-as-judge para fluidez, relevancia, precisión
  • A/B testing — Comparaciones reales de usuarios en producción

3. La Ingeniería de Prompts es un Trabajo Real

Nuestros prompts pasaron por 50+ iteraciones. Aprendizajes clave:

  • Sé específico sobre el formato de output
  • Incluye ejemplos de respuestas buenas y malas
  • Usa system prompts para persona, user prompts para tarea

Prompt Injection

Nunca confíes en input de usuario directamente en prompts. Implementamos sanitización de input y guardrails para prevenir ataques de prompt injection.

4. La Observabilidad es Crítica

Cada request se loguea con:

  • Prompt completo y respuesta
  • Fuentes de recuperación y scores
  • Desglose de latencia por componente
  • Señal de feedback del usuario

Estos datos son oro para debugging y mejora.

¿Qué Sigue?

Copilot está live y ayudando a miles de merchants diariamente. Pero apenas estamos empezando:

  • Function calling — Dejar que la IA ejecute acciones directamente
  • Memoria — Contexto de largo plazo entre conversaciones
  • Personalización — Adaptarse a la tienda e historial específico del merchant

Llevándolo a Mis Proyectos

Todo lo que aprendí en VTEX está yendo a WalioAI. Los patrones son los mismos — RAG, multi-agente, streaming — pero aplicados a generación de leads en lugar de e-commerce.


Construir en público significa compartir lo que aprendo. Sígueme para más deep-dives técnicos.

Posts relacionados