← SCRAM AI Lab
Radiografía técnica de nuestro propio stack: el bot de ventas del sitio, los dos agentes de soporte y el agente de WhatsApp con voz corren sobre un mismo módulo NestJS con identidades intercambiables, RAG sobre pgvector, herramientas que leen el ERP vivo y un juez LLM que califica cada conversación. Cómo lo construimos, qué reglas nos costaron aprender y por qué creemos que es un ejemplo de cómo se integra IA correctamente desde Latinoamérica.
August 19, 2026
18 lecturas

La mayoría del contenido sobre chatbots empresariales lo escriben empresas que venden chatbots. Este artículo es distinto: es la radiografía de nuestro propio sistema en producción — el que atiende scram2k.com, el portal de soporte, la operación interna y WhatsApp. Lo contamos con detalle porque creemos que en Latinoamérica falta exactamente esto: casos reales, con arquitectura real, de equipos que construyen en vez de solo integrar. No compramos una plataforma de chatbots: construimos un cerebro y le pusimos cuatro caras.
Los cuatro agentes viven en un mismo módulo de nuestra API NestJS. La personalidad no se duplica: una función buildSystemPrompt() compone el prompt según el origen de la conversación — el dominio de ventas recibe la identidad comercial, el de soporte la identidad de diagnóstico, el portal interno la identidad administrativa. Cambiar una regla de tono se hace una vez y aplica a todos.
Debajo comparten la misma infraestructura:
La lección más cara del proyecto: al principio, el agente interno respondía preguntas de negocio leyendo la base vectorial… y contaba 1,160 facturas donde el ERP real tenía 3,155. Los embeddings son para conocimiento, no para datos. Hoy Scramteca opera con un registro de herramientas tipadas —ventas, cliente, desglose, tendencia, tickets— que consultan las tablas reales del ERP en el momento de la pregunta. El modelo decide qué herramienta usar; la herramienta garantiza que el número sea el verdadero.
De ahí salió nuestra regla madre, la que repetimos en cada diseño: lo que se puede decidir en código no se le pregunta al modelo. Permisos, candados, validaciones de precio, formatos de fecha: todo eso vive en TypeScript, no en el prompt. Cada vez que intentamos resolver un comportamiento con instrucciones al modelo y falló dos veces, lo movimos a código y salió a la primera.
Los agentes que solo leen son fáciles. Los nuestros también escriben: cotizaciones, pedidos, tareas, tickets. Cada acción de escritura usa un patrón de doble confirmación en dos turnos — el agente propone la acción con todos los datos visibles, y solo la ejecuta si el usuario confirma en el turno siguiente. Los montos se calculan con la misma función computeTotals del ERP (no con aritmética del modelo), los permisos se validan por cliente, y la escritura se verifica contando filas después de ejecutar.
¿Cómo sabemos que los bots responden bien sin leer miles de conversaciones? Un juez LLM evalúa turnos de conversación contra criterios editoriales y de negocio, y alimenta un ciclo de aprendizaje. Y como no confiamos a ciegas ni en el juez, lo estamos calibrando contra etiquetas humanas con una muestra de 120 turnos, buscando un acuerdo kappa ≥ 0.60. Medir al que mide: esa es la parte que casi nadie hace.
Nada de esto se construyó a mano alzada. Nuestro equipo desarrolla con agentes de coding y construimos nuestras propias piezas del ecosistema:
El resultado práctico: el mismo estándar que usamos para construir el producto lo usamos para construir las herramientas que construyen el producto.
La pieza más experimental del stack es nuestra instancia propia en español de MiroFish — un Motor de Inteligencia de Enjambre Conciso y Universal. La idea: a partir de un solo documento (un informe, un plan), extrae "semillas de realidad", construye un GraphRAG del entorno, genera perfiles de agentes y simula un mundo paralelo con hasta millones de agentes para ensayar dinámicas de grupo antes de decidir. Un ReportAgent analiza la simulación y puedes conversar con cualquier individuo simulado. Lo operamos en nuestra propia infraestructura, adaptado al español, con simulaciones que cuestan en promedio ~$5. Es la diferencia entre opinar sobre una decisión y ensayarla.
Esto es lo que significa para nosotros integrar IA correctamente desde Latinoamérica: no esperar a que llegue empaquetado, construirlo con ingeniería seria, y contar cómo — con los errores incluidos. Si tu empresa quiere este nivel de integración, así lo aplicamos a operaciones como la tuya.
Artículos relacionados
El EU AI Act ya se aplica: multas de 3% y qué hacer si tu chatbot toca Europa
Desde el 2 de agosto de 2026 la AI Office europea tiene poderes plenos de enforcement sobre modelos GPAI: documentación técnica, evaluaciones, mitigación de riesgo y multas de hasta €15M o 3% del revenue global. Anthropic ya respondió con watermarks invisibles en todos sus outputs. Guía práctica de qué cambia para quien opera chatbots, agentes o APIs de IA que tocan usuarios europeos — incluso desde LatAm.
Esta semana en IA #42: la IA entra en su era regulada
Edición #42 (19 ago 2026): el 2 de agosto se activó el enforcement del EU AI Act para modelos GPAI —multas de hasta €15M o 3% del revenue global— y Anthropic respondió con watermarks invisibles en todos sus outputs. OpenAI previó Ultrafast mode (14x velocidad) para GPT-5.6 Sol, Google convirtió a Gemini en agente autónomo que llama negocios por ti, y la frontera abierta sumó a Kimi K3 (1M de contexto) y GLM-5.3. Agosto no va de modelos nuevos: va de operar IA bajo reglas reales.
Esta semana en IA #41: Claude Opus 5, Gemini 3.6 Flash y la batalla del tier de volumen
Edición #41 (24 jul 2026): Anthropic lanzó Claude Opus 5 —casi Fable 5 (la frontera) a la mitad o un tercio del costo, al precio de Opus 4.8— el mismo día que Google sacó Gemini 3.6 Flash como workhorse multimodal. OpenAI liberó GPT-5.6 Sol y retiró GPT-4.5, y la frontera abierta suma a Kimi K2.7, DeepSeek V4 Pro y MiniMax M3. Patrón de julio: la batalla no es por el modelo más potente, sino por el mejor costo/capacidad del tier de volumen.