Inteligencia Artificial17 de abril de 2026·16 min de lectura

Cómo construimos el IA Coach de ZonaMundial: arquitectura RAG y prompts optimizados

Caso real de implementación de IA en producción: arquitectura RAG, Claude API, embeddings y prompts para un AI Coach de fantasy fútbol cara al Mundial 2026.

SM
SprintMarkt
Equipo de IA

En SprintMarkt solemos escribir guías teóricas sobre IA. Hoy toca algo diferente: vamos a abrir el capó de uno de nuestros propios productos en producción. ZonaMundial es una plataforma fantasy de fútbol centrada en el Mundial 2026, construida, operada y comercializada íntegramente por SprintMarkt. Dentro lleva un módulo estrella que llamamos IA Coach. Este post cuenta cómo lo construimos, qué decisiones técnicas tomamos y qué aprendimos por el camino — y por qué operar un producto propio nos da una ventaja clara a la hora de aplicar ese mismo músculo en proyectos de cliente.

El reto inicial

Al ser producto propio, las restricciones nos las pusimos nosotros mismos: audiencia principalmente LATAM (México, Colombia, Argentina), necesidad de integrar feeds de datos deportivos en tiempo real, y un plazo ajustado para llegar a las fases de clasificación. La cuarta restricción, la autoimpuesta, era la más ambiciosa: que el AI Coach no fuera un chatbot genérico más, sino que diera consejos realmente útiles basados en reglas FIFA, estadísticas históricas y la alineación fantasy del propio usuario.

Ese último punto era el más difícil. Un LLM solo, sin contexto, alucina datos deportivos constantemente. Nombres de jugadores cambiados, clubes equivocados, estadísticas inventadas. Para un producto de fantasy donde los usuarios apuestan reputación y (en algunos casos) dinero, eso era inaceptable.

Stack elegido

Después de un par de días de spike técnico, cerramos el stack así:

Frontend: React sobre una base PHP propia, con componentes nuevos en TypeScript y renderizado 3D puntual con Three.js para visualizaciones de estadios.
Backend: PHP 8.2 como capa de negocio principal, con microservicios en Node.js para lo que toca la IA.
Proveedores de datos deportivos: APIs comerciales de stats en tiempo real (partidos, alineaciones, eventos) con un caché intermedio en Redis.
LLM: Claude Sonnet 4.6 como motor principal del Coach, con fallback a un modelo más económico para respuestas cortas y repetitivas.
RAG: pgvector sobre PostgreSQL (al ser producto propio elegimos stack desde cero y Postgres era la opción natural).
Generación de imágenes: Stability AI para avatares y portadas de boletines semanales del Coach.
Infraestructura: Cloudflare como CDN y WAF delante, servidores en SWHosting con SSL delegado para que los patrocinadores pudieran servir subdominios.

Arquitectura RAG, en cristiano

RAG (Retrieval Augmented Generation) no es magia: es recuperar trozos de información relevante antes de preguntar al LLM, para que el modelo responda basándose en datos reales en lugar de en su memoria estadística.

En ZonaMundial tenemos tres corpus distintos indexados en pgvector:

1**Reglamento FIFA y bases del fantasy**: reglas oficiales del Mundial 2026, sistema de puntuación fantasy, condiciones de participación.
2**Histórico de jugadores y selecciones**: estadísticas agregadas de los últimos ciclos, rendimiento en fases de grupos vs. eliminatorias, lesiones recurrentes.
3**Contexto dinámico del usuario**: su plantilla actual, sus capitanes, su posición en la liga privada en la que juega.

Cuando el usuario pregunta al Coach algo como 'qué capitán pongo para el partido del sábado', el flujo es así:

1Se generan embeddings de la pregunta con `text-embedding-3-small`.
2Se hace retrieval con similitud coseno sobre los tres corpus, limitado a top-k=8 con un umbral mínimo.
3Se añade contexto en tiempo real: alineaciones probables, clima del partido, últimos cinco encuentros.
4Se construye el prompt final para Claude con un `system` fijo, el contexto recuperado y la pregunta del usuario.
5Se devuelve la respuesta con citas a las fuentes para que el usuario pueda verificar.

El arte (oscuro) del prompt

El system prompt del IA Coach pasó por unas quince iteraciones antes de estabilizarse. Los aprendizajes clave:

Dar personalidad sin exagerar: . El Coach tiene un tono de entrenador LATAM cercano, usa referencias culturales suaves y evita el 'parece que podrías considerar' corporativo que tanto cansa.
Reglas duras primero: . 'No inventes estadísticas. Si el dato no está en el contexto recuperado, di que no lo tienes.' Esta regla, repetida tres veces con distintas palabras, redujo las alucinaciones de stats en más de un 80% en nuestras pruebas internas.
Formato predecible: . Pedimos al modelo que devuelva siempre un resumen de dos líneas, luego los detalles y al final un disclaimer breve. Eso permite renderizar el chat con componentes consistentes.
Idioma regional: . Detectamos país del usuario por IP (con consentimiento) y ajustamos ligeramente el vocabulario. No es traducción, es localización.

Necesitas ayuda con tu proyecto?

Calcula tu presupuesto en 2 minutos con nuestra herramienta interactiva.

Calcular presupuesto

Costes: la parte que nadie cuenta

Un AI Coach en producción no es gratis. Los costes reales, sin maquillaje:

- API de Claude: variable según uso, dominante en cuanto la base de usuarios crece.

- Embeddings: muy baratos en comparación, pero suman con la re-indexación semanal del corpus.

- pgvector: coste de CPU y memoria adicional en el servidor Postgres.

- Generación de imágenes: impuesta por Stability AI por imagen, controlada con un presupuesto mensual duro.

La palanca principal para controlar costes fue el **caching semántico**: muchas preguntas del fantasy son variaciones de las mismas cinco o seis (capitán, transferencia, jornada). Cacheamos respuestas con embeddings de la pregunta y devolvemos la cacheada si la similitud supera un umbral alto. Eso recortó el gasto de tokens de forma significativa sin que los usuarios notaran diferencia.

Latencia y UX

Un LLM en streaming tarda segundos en responder. Para que no se sintiera lento disparamos tres cosas en paralelo en cuanto el usuario empieza a escribir: skeleton animado con frases tipo 'analizando alineaciones', prefetch del contexto RAG más probable basado en la página en la que está, y streaming token a token con markdown renderizado progresivo. La respuesta completa sigue tardando lo mismo, pero la percepción cambia radicalmente.

Seguridad y moderación

Una plataforma fantasy con usuarios anónimos atrae trolls. Pusimos tres capas:

1Filtrado de entrada con una lista negra regex ligera (insultos graves, spam).
2Clasificación con un LLM pequeño para detectar prompt injection antes de llegar al Coach.
3Post-filtrado de la respuesta de Claude para asegurar que no incluye datos personales del usuario (a veces el modelo intenta ser amable y dice el nombre real del usuario si lo ha leído en el contexto).

Infraestructura y despliegue

Todo pasa por Cloudflare como primer hop: cacheo estático agresivo para assets, reglas WAF para bloquear bots de scraping y rate limiting por IP para proteger los endpoints de IA. Los servidores de aplicación están en SWHosting, con SSL delegado a Cloudflare para los subdominios de patrocinadores. El despliegue va por Git + SFTP automatizado con un hook que purga caché de Cloudflare solo en las rutas tocadas.

Lecciones aprendidas

Si empezáramos hoy, haríamos tres cosas distinto: empezar con caching semántico desde el día uno en lugar de añadirlo tarde, diseñar el corpus RAG pensando en chunks de 300-500 tokens (probamos con 1.000 y la precisión bajaba), y tener un canary con el 5% del tráfico antes de cada cambio de prompt para detectar regresiones.

Resultado

El IA Coach lleva meses en producción sirviendo a la comunidad LATAM de ZonaMundial. No es perfecto, pero los usuarios lo usan, lo mencionan en redes y vuelven jornada tras jornada. Como producto propio nos diferencia frente a otras plataformas fantasy del mercado y, a la vez, funciona como laboratorio de referencia para los agentes IA que construimos para nuestros clientes.

Quieres algo así para tu negocio

Si te planteas un agente IA con RAG, un asistente conversacional sobre tu propio contenido o un coach vertical para tu sector, en SprintMarkt lo hacemos. Empezamos siempre por una auditoría o diagnóstico IA de 490€ para entender si tiene sentido, cuánto costaría y qué ROI puedes esperar. Sin humo, sin 'transformación digital'. Escríbenos y te contamos.

#caso de éxito#RAG#Claude API#Three.js#Stability AI#Next.js#arquitectura#LATAM
Compartir:

Tienes un proyecto en mente?

Cuentanos tu idea y te ayudamos a hacerla realidad. Presupuesto sin compromiso.

Presupuesto sin compromiso

¿Tienes un proyectoen mente?

Cuéntanos tu idea y te ayudamos a hacerla realidad. Presupuesto sin compromiso.

Respuesta en 24h
100% confidencial
Sin compromiso