último acceso: vie, 12 de jun de 2026 · daniel@home ~

Daniel Deusing

cat blog/ai-agents-fantasy-football.mdx

Armé un equipo de agentes de IA para que hagan mi tarea del fantasy de futbol

Cada mañana un equipo de agentes de IA entra a mi liga del Mundial en Comunio, lee las noticias reales del futbol, verifica sus propias conclusiones y me deja un solo dashboard — más un expediente creciente sobre los rivales contra los que pujo.

10 jun 2026 · #ai #agents #football

Estoy en una liga de fantasy para el Mundial 2026. Jugada en serio, es un trabajo de medio tiempo: cada día hay noticias de lesiones que perseguir por una docena de sitios, precios de jugadores moviéndose, pujas que sopesar, y la sensación constante de que se te fue justo lo único que importaba. No quería pasarme las tardes haciendo eso a mano.

Así que hice lo más obvio en 2026 y puse a la IA a hacerme la tarea.

Aquí viene la parte en la que quiero ser preciso, porque es todo el punto. No escribí un programa que scrapea el sitio con un timer y corre unas reglas que tecleé el mes pasado. Armé un pequeño equipo de agentes de IA. Cada mañana entran al juego, deciden qué vale la pena investigar, van y leen las noticias reales del futbol, razonan qué significa eso para mi plantilla, verifican sus propias conclusiones y me dejan un solo dashboard. El análisis se hace fresco, bajo demanda — no está horneado en código que escribí de antemano. Quédate con esa diferencia: es la línea entre una herramienta estática y algo más parecido a un colega, y es la razón por la que todo esto le importa a un negocio.

Lo construí para ahorrarme tiempo y para pujar mejor. Esta es la tabla que te pondría enfrente si me preguntaras si funciona. Captura de esta mañana, el día antes del partido inaugural:

ManagerComprasResultado neto de tradingPatrimonio desde el día 1
Worldcup Allstars22−26.77M−11.30M (−20.6%)
Yo52+3.52M+9.29M (+17.3%)

Misma liga, mismos jugadores en el mercado, tres semanas de trading. El patrimonio total de Worldcup Allstars se encogió una quinta parte. El mío creció una sexta. La brecha entre nosotros en el renglón final es de casi 21 millones de euros, y el Mundial ni siquiera ha arrancado.

Esa última columna es la que defendería en una junta. No es una métrica de puras sensaciones: es la contabilidad del propio sistema, comparando el efectivo + valor de plantilla de hoy contra lo que cada manager tenía el día

  1. La columna de en medio es el resultado de trading que la explica — sumando todas las compras y ventas, ¿regalaste valor o lo extrajiste? Worldcup Allstars se fue con todo por los nombres grandes y perdió 27M en sobrepagos. Yo también sobrepagué — por porcentajes de un dígito, porque hay jugadores que sí quiero — pero también vendí por encima del mercado las veces suficientes para quedar en positivo solo con el trading. Compuesto a lo largo de tres semanas, sale una brecha de 21M desde posiciones de salida casi idénticas. (Casi idénticas, para ser precisos, a favor de ellos: empezaron el día 1 un poco más ricos que yo.) El libro contable está abajo, exactamente como lo renderiza el dashboard.
La tabla Markt-Saldo: una fila por manager con compras, ventas, dinero gastado, sobrepago en ambos lados, resultado neto de trading y performance desde el día 1, con celdas en rojo y verde
El libro del que salen esos números. Habla alemán — Käufe = compras, Verkäufe = ventas, Saldo = resultado neto de trading, Performance = cambio de patrimonio desde el día 1. Rojo es valor regalado, verde es valor extraído.

Ahora, por qué esa tabla vale más de lo que aparenta — y dónde, sin hacer ruido, esto dejó de ser de futbol para mí.

En este juego no compras jugadores con una etiqueta de precio visible. Pujas en una subasta a ciegas: todos mandan una oferta sellada, nadie ve la de nadie, y el número más alto simplemente gana — como los sobres cerrados en una licitación. Así que la verdadera pregunta nunca es “¿cuánto vale este jugador?”, sino “¿cuánto le van a aventar los otros managers?” Y la gente es gloriosamente predecible en eso: sobrepagan por los nombres grandes (todos quieren al Messi, al Kimmich), y pierden la disciplina en momentos muy específicos.

Que es exactamente lo que mis agentes han estado registrando en silencio. Cada compra de la liga, etiquetada con qué tanto se pasó del valor justo — quién, con qué jugador, en qué día. De ahí sale un modelo del comportamiento de mis oponentes: quién sobrepaga, por qué tipo de jugador, cuándo y por cuánto. Así que cuando mando una puja sellada no estoy adivinando a ciegas — estoy poniendo precio contra lo que estos rivales concretos siempre han hecho. A los indisciplinados los dejo sobrepagar por los nombres brillantes y me salgo de la guerra; y cuando de verdad quiero a alguien, pujo apenas lo suficiente para superar su número predicho y ni un euro más.

Esa es la ventaja para la que construí esto. En un mercado donde no puedo ver las pujas de nadie hasta que ya ganaron, los agentes me dan lo segundo mejor: un expediente diario y creciente sobre la gente contra la que pujo, para poder predecir su comportamiento antes de comprometerme. Y solo funciona porque los agentes vuelven cada mañana y miran de nuevo, en lugar de correr un analizador estático que escribí una vez y dejé abandonado.

Déjame regresar y enseñarte la cosa completa.

Qué es esto en realidad

El juego de fantasy se llama Comunio. Si nunca lo has tocado: manejas una plantilla de futbolistas reales con un presupuesto estilo dinero real. Sus valores suben y bajan según cómo juegan de verdad allá en el pasto, y los compras y vendes — en esas subastas a ciegas — contra otros managers humanos de tu liga. Es la bolsa de valores, solo que los activos tienen isquiotibiales y no puedes ver las órdenes de nadie.

Para el Mundial 2026 estoy en una liga. Y en algún punto de la planeación tuve el pensamiento que toda persona ocupada tiene tarde o temprano: esto se va a comer mis tardes. Así que en lugar de hacer la tarea a mano, construí agentes que la hicieran — para tomar la decisión en dos minutos en lugar de dos horas.

Cada día, por su cuenta:

  • entran a comunio.com y jalan el estado en vivo de la liga — mi efectivo, mi plantilla, la tabla, quién está pujando por qué
  • van y leen las noticias reales de futbol que mueven los valores de los jugadores
  • verifican sus propias conclusiones contra fuentes independientes antes de confiar en ellas
  • producen predicciones de marcador para cada partido de la jornada que viene, con niveles de confianza
  • y renderizan un dashboard: el dinero, las recomendaciones, las predicciones y la evidencia detrás de cada llamada

Eso es todo. Una pantalla. La abro con mi café, veo todo, decido. Sí, le enseñé a una manada de agentes de IA a hacer mi tarea, y no, no me arrepiento.

Aquí va el tour. Fíjate en lo que cada parte está haciendo de verdad — y si vas a leer por encima, lee por encima la última sección, donde explico cómo está cableado. El negocio está del 1 al 7.

1. El dinero, de un vistazo

La parte de arriba del dashboard son cinco tarjetas, actualizadas esta mañana. Efectivo disponible: 0.30M — casi nada, a propósito: estoy totalmente invertido en la plantilla, y la caja de estrategia lo dice con todas sus letras (“plantilla completa, sin compras obligatorias — guarda el efectivo para mejoras puntuales”). Valor de plantilla: 62.75M. Patrimonio total: 63.05M. Diecinueve jugadores. Posición en la liga: 3 de 11 por patrimonio total.

Ese último número merece una pausa. Comunio le reparte a cada manager una plantilla inicial aleatoria, y a mí me tocó una débil: mi plantilla del día 1 valía 13.76M, cerca del fondo de la liga, mientras que el rival mejor surtido empezó con 20.70M — como 50% más que yo. Esas son las cartas que te tocan; quejarse no mueve la tabla. Tres semanas de trading disciplinado después, el día antes de que el Mundial empiece de verdad, mi portafolio está cerca de la cima. Los otros managers pueden ver el mismo ranking que yo; lo que no pueden ver es por qué el mío subió.

Parte superior del dashboard de la liga WM 2026: un banner de cuenta regresiva que dice un día para el arranque, los dos partidos inaugurales, cinco tarjetas de dinero y el inicio de la tabla de ofertas recibidas con la fila de Messi
El cockpit de esta mañana: un día para el arranque, los dos partidos inaugurales de mañana, las cinco tarjetas de dinero — y las primeras ofertas recibidas, ya valuadas contra mis pisos de venta.

2. Las noticias vienen a mí — y vienen citadas

Aquí es donde deja de ser un juguete.

Regadas por la vista de plantilla hay pequeñas celdas de notas, cada una con links clickeables a las fuentes. Esta es una historia que siguieron a lo largo de una sola semana — mi jugador más caro:

Messi, hace unos días: nueva lesión de muslo/isquiotibial en el último partido de la MLS. Entrena por separado, se pierde los dos amistosos. Probabilidad de titularidad bajada a 50 — titularidad no asegurada. (espn.com, rotowire.com)

Messi, esta mañana: de regreso a estado fit — 20 minutos y un gol de penal en el amistoso contra Islandia el 9 de junio; el rastreador de lesiones de ESPN lo tiene como “IN — Expected to Play”. Probabilidad de titularidad de vuelta en 85. (espn.com, rotowire.com)

Yo no perseguí nada de eso. Los agentes lo hicieron mientras yo dormía — primero la mala noticia, luego la recuperación, cada paso con los recibos adjuntos: ESPN, RotoWire, Sky Sports, CBS, Sports Mole, World Soccer Talk. Cada afirmación enlaza de vuelta a donde salió. Así se ve en el tablero — primero la vista de plantilla, luego lo que pasa cuando pasas el cursor sobre la fila de Messi:

La tabla de análisis de plantilla: cada fila de jugador con posición, selección, una barra de probabilidad de titularidad, valor de mercado, una etiqueta de veredicto y una celda de notas con fuentes enlazadas
La vista de plantilla: cada jugador trae un estado, una barra de probabilidad de titularidad, un veredicto y una celda de notas con sus fuentes enlazadas.
Una tarjeta de recomendación desplegada sobre la fila de Messi: veredicto HOLD, la mejora de condición física tras el amistoso contra Islandia, el razonamiento, un piso de venta de 23M y el consejo sobre la oferta de 17.2M
Pasa el cursor sobre cualquier recomendación y la tarjeta completa se despliega. Esta es la de Messi, de esta mañana: la mejora a fit tras el amistoso contra Islandia, el razonamiento, el piso de venta de 23M — y qué hacer con la oferta de 17.2M que está sobre la mesa (rechazarla).

Una afirmación sin fuente es un rumor. Una afirmación con link es algo sobre lo que puedes actuar. Toda la máquina está construida sobre esa única distinción.

3. Recomendaciones — con un número de confianza y una razón

Cada jugador recibe una barra de probabilidad de ser titular y una etiqueta: BUY, CHECK, HOLD, SELL, GAMBLE o AVOID. Nada de corazonadas. Un número y un veredicto.

Unas cuantas reales, todas del tablero de esta mañana:

  • Rogers — 62% de titularidad — CHECK. Mediocampista inglés, en el mercado a 4.55M. La investigación de esta mañana lo tenía en 50 — un volado. La pasada de auditoría fue a buscar algo que lo resolviera y regresó con tres señales independientes: el mercado de apuestas lo cotiza 2/7 para ser titular, el técnico medio lo nombró, la jerarquía del plantel coincide. Probabilidad subida a 62, precio objetivo subido a 6.0M — y el veredicto aun así se queda en CHECK, no BUY: “todavía no hay confirmación oficial del once inicial”. Hasta nombra a los dos rivales con efectivo de sobra que probablemente pujen contra mí, con la nota de que ambos históricamente sobrepagan.
  • Unai Simón — 92% — HOLD. “Mi único portero titular indiscutible de un favorito al título. Primera opción de España, sin competencia. La oferta sobre el escritorio está 3% abajo del mercado — rechazar. No vender abajo de 7.4M (+25%).”
  • Nübel — 3% — AVOID. Tercer portero de Alemania, ni siquiera aparece en la jerarquía del plantel. “Ninguna puja tiene sentido.” Dos managers rivales — ambos sin portero ahora mismo — están pujando por él de todos modos.

Los tres están en el tablero de hoy. Rogers encabeza la lista de objetivos de fichaje, la oferta por Unai Simón está en la tabla de ofertas recibidas, y el razonamiento de formato largo vive en las recomendaciones de plantilla:

La tabla de objetivos de fichaje con una caja de estrategia plegable arriba; Rogers encabeza la lista con veredicto CHECK y 62% de probabilidad de titularidad
La lista de objetivos de fichaje con su caja de estrategia, Rogers hasta arriba — probabilidad subida a 62, veredicto todavía CHECK, no BUY.
La tabla de ofertas recibidas: cada puja por mis jugadores mostrada contra el valor de mercado, el piso de venta y una recomendación por fila
Ofertas recibidas, cada puja valuada contra mis pisos de venta — la oferta por Unai Simón está 3% abajo del mercado: rechazar.
Tarjetas de recomendación por jugador de la plantilla, cada una con etiqueta de veredicto, probabilidad de titularidad, precios objetivo y varias oraciones de razonamiento
Las tarjetas de recomendación por jugador con el razonamiento completo escrito — el tablero detrás de los bullets.

Mira otra vez la de Rogers. El sistema no dejó el volado parado — fue a cazar evidencia, incluyendo un mercado de apuestas, la única fuente con dinero real apostado a tener la razón. Luego movió su propio número, documentó por qué, y aun así se negó a subir el veredicto más allá de CHECK, porque un titular probable no es un titular confirmado. Eso no es una máquina fingiendo certeza. Es una máquina enseñando su tarea cuando cambia de opinión — que es la única clase a la que le confiaría una decisión. Una máquina que te dice cuándo no está segura vale por diez que siempre están convencidas.

Los precios objetivo tampoco son adivinanzas. Hay un modelo debajo: una prima por qué tan fuerte es la selección del jugador (un equipo élite suma +35%, uno fuerte +27%, uno más débil +12%), qué tan escasa es la posición, qué rivales con efectivo de sobra es probable que pujen contra mí — y si el jugador siquiera está disponible. Los goles se ponderan por posición. Las rondas de eliminación directa cuentan doble, porque así es. Es un modelo de valuación que da la casualidad de que trata de futbolistas.

Un pequeño desvío — relee las últimas tres secciones

Detente un segundo y relee las secciones 1, 2 y 3 — pero quítales el futbol.

Una vista en vivo de tu efectivo y tu posición en activos, y la brecha entre lo que nominalmente tienes y lo que de verdad puedes mover hoy. Un flujo de noticias externas sobre las cosas que posees, cada una con un link a su origen, juntado durante la noche sin que nadie mueva un dedo. Un conjunto de recomendaciones rankeadas, cada una con un nivel de confianza y una razón en lenguaje claro, que se degrada solita cuando la evidencia se pone temblorosa — y que pone precio a tu jugada contra rivales que no puedes ver.

Eso ya no es una pantalla de fantasy de futbol. Eso es vigilar un portafolio, o monitorear un mercado, o ponerle precio a una oferta sellada contra competidores y proveedores cuya mano no ves. El mismo patrón, otros sustantivos. Que es exactamente la razón por la que estoy escribiendo esto.

Bueno. De regreso al juego.

4. Un cockpit en lugar de diez pestañas

Todo vive en un solo dashboard. Un banner de cuenta regresiva del Mundial cruzando la parte de arriba (“1 día para el arranque — partido inaugural 11.06.2026” — eso es mañana, y sí, esa parte me da un pequeño escalofrío). Luego las cinco tarjetas de dinero. Luego las ofertas recibidas por mis jugadores. Luego los objetivos de fichaje con su caja de estrategia plegable. Luego mi plantilla y sus recomendaciones.

Ocho pestañas — Resumen, Mi Plantilla, Tabla, Competidores, Fichajes, Verificación de hechos, Predicciones, Precisión — y un selector de fechas flotante que salta entre capturas diarias. Puedo viajar en el tiempo por la historia de la liga y ver cómo la historia de un jugador cambió día a día. (Las últimas dos pestañas son nuevas de esta semana. Son el sistema calificándose a sí mismo — sección 7.)

Una de esas pestañas, la tabla de la liga, está abajo — y es un buen ejemplo de inteligencia silenciosa, porque la tabla oficial de Comunio te muestra de los otros managers exactamente una columna: el valor de plantilla. La mía reconstruye el resto desde el libro de fichajes que ha venido llevando — el efectivo de cada manager, su patrimonio total, y un número del que estoy calladamente orgulloso: el poder de compra = efectivo más un cuarto del valor de plantilla, la regla de Comunio para lo máximo que un manager puede tener comprometido en pujas abiertas a la vez. Esa columna me dice, para cada rival, cuánto puede aventarle de verdad a un jugador ahora mismo. En una subasta a ciegas, conocer el techo de la guerra de pujas en la que estás por entrar es la diferencia entre adivinar y poner precio.

La tabla de la liga reconstruida: posición, nombre del manager, efectivo, valor de plantilla, poder de compra y patrimonio total para los once managers
La tabla de la liga reconstruida: efectivo (Guthaben), valor de plantilla (Teamwert), poder de compra (Kaufkraft) y patrimonio total (Gesamtwert) para los 11 managers. El juego oficial le muestra a todos solo la columna de valor de plantilla — el resto es contabilidad propia de mi sistema.

El punto es que ya no ando cazando. Diez pestañas y una hoja de cálculo fueron reemplazadas por una pantalla que ya hizo la cacería por mí. Piensa en el reporte que tu equipo de verdad necesita contra el que arman a mano el jueves en la tarde. Esa es la brecha que esto cierra.

5. El libro contable — predecir quién sobrepaga, por cuánto y cuándo

De vuelta a donde empezamos, porque en un mercado de pujas a ciegas esto es lo más cercano a ver las cartas de tus oponentes.

El sistema guarda la historia completa de cada compra y venta de la liga. Para cada manager rastrea cuatro cosas: el sobrepago como comprador (dinero perdido pagando arriba del mercado), la prima como vendedor (dinero extraído vendiendo arriba del mercado), el neto de las dos, y el renglón final — cómo se ha movido el patrimonio total de cada manager desde el día 1.

Worldcup Allstars, el lado perdedor de la tabla de apertura, sobrepagó +97% en promedio como comprador (−34M perdidos en guerras de pujas), recuperó algo vendiendo a +67% (+7.4M extraídos de la guerra de pujas de alguien más), pero el neto es −27M abajo. Patrimonio total: −20.6%. Yo también sobrepagué — 5% en promedio, porque hay jugadores que sí quiero — pero cuando vendí, promedié una prima de +25%, suficiente para quedar en positivo solo con el trading. Neto: +3.5M de resultado de trading. Patrimonio total: +17.3%.

Y como una métrica que no puedes descomponer es una métrica en la que no deberías confiar, las dos columnas que importan se explican solas al pasar el cursor:

Un tooltip sobre mi celda de Performance que descompone el cambio de patrimonio de +9.29M en efectivo inicial, valor de plantilla del día 1, la línea base resultante y el patrimonio total de hoy
Sin caja negra: pasa el cursor sobre mi celda de Performance y el dashboard enseña su aritmética — 40M de efectivo inicial + 13.76M de plantilla del día 1 = línea base de 53.76M, 63.05M de patrimonio total hoy, +9.29M.
Un tooltip que lista el valor de plantilla inicial del día 1 de cada manager junto a su posición actual
El segundo tooltip pone la línea base del día 1 de cada manager junto a dónde está parado hoy.

Por fase del torneo, la liga entera se ha vuelto un poco loca: en la ventana previa al torneo van 256 fichajes, 190.56M de sobrepago total, un promedio de +39% sobre el valor justo. Y la vista por jugador escupe líneas como esta:

Kimmich, comprado el 24 de mayo, pagado 20.56M — valor de mercado al día siguiente: 9.26M. Sobrepagado por 11.30M. +122%.

Todos los fichajes de la liga ordenados por sobrepago; la fila de arriba muestra a Kimmich, comprado por Worldcup Allstars en 20.56M — 11.30M y 122% arriba del valor de mercado
La historia completa de fichajes de la liga, ordenada por sobrepago. La línea de Kimmich está hasta arriba; el mismo patrón se repite hasta abajo — 256 operaciones, 190M pagados arriba del valor de mercado.

Un solo señor, más del doble. Y como los agentes registran cada uno de estos casos, el patrón se vuelve pronóstico: este manager siempre persigue nombres alemanes grandes, aquel pierde la disciplina la semana antes del arranque, esta posición se va confiablemente por +50%. En una subasta sellada, esa es la ventaja — ya no pujo contra el valor de un jugador, pujo contra el hábito conocido de un rival.

Voy a hacer el cambio de sustantivos una vez, bien hecho, para que veas la forma fuera del juego. Apunté la misma idea — el mismo libro contable, la misma regla de dos fuentes — a un pequeño lote de facturas de proveedores, para un amigo que lleva operaciones en una empresa mediana. Marcó a un proveedor cuyos precios unitarios habían ido subiendo poco a poco durante varios trimestres mientras el mercado no se movía, y fijó el mes en que empezó la deriva. Nadie se había dado cuenta, porque nadie estaba viendo una sola pantalla para eso; los aumentos eran pequeños y estaban repartidos entre estados de cuenta. Eso es todo lo que es. Un libro contable que nunca parpadea, vigilando el momento en que alguien empieza a pagar — o a cobrar — de más, y aprendiendo el patrón de cada jugador para que la siguiente jugada sea predecible.

6. La parte que más me enorgullece: se verifica a sí mismo

Aquí es donde un sistema de verdad se separa de un demo ingenioso. Estos agentes no confían en sus propias conclusiones.

Hay una pestaña entera para eso — un Faktencheck — y un agente separado que toma cada afirmación futbolera que hizo el sistema e intenta verificarla contra las fuentes citadas más fuentes frescas. Cada afirmación recibe un veredicto: confirmada, incierta o refutada. Una corrida reciente marcó 96 confirmadas, 30 inciertas, 11 refutadas — 137 afirmaciones auditadas en una sola pasada, desplegadas en una tabla con la afirmación, el veredicto, la corrección si la hay, y la evidencia:

La tabla de auditoría del Faktencheck en un día cargado de noticias: filas de afirmaciones con insignias de veredicto en verde, amarillo y rojo, más columnas de corrección, evidencia y fuentes
Esa tabla de auditoría: afirmación, veredicto, corrección, evidencia, fuentes. Verde es confirmada, amarillo incierta, rojo refutada — y las rojas son la razón de que la pestaña exista.

La corrida de esta mañana tiene los tres veredictos en una página, y cada uno es una pequeña historia. La llamada de Marruecos (Ez Abde fuera por lesión de rodilla, se pierde la fase de grupos) regresó confirmada: la federación marroquí más tres medios independientes coinciden. Un archivo de investigación tenía el debut de Inglaterra en el Mundial contra Ghana el 12 de junio; el verificador lo refutó — Inglaterra abre contra Croacia el 17, Ghana es el tercer partido de grupo — y corrigió el archivo con el calendario citado. Y la mejora de Messi de la sección 2 regresó incierta: “fit” es ligeramente demasiado optimista, RotoWire todavía lo lista como decisión de último minuto, y el técnico de Argentina solo ha prometido “evitar cualquier riesgo” — lo cual no es garantía de titularidad. El optimismo del investigador y el escepticismo del auditor, lado a lado en la misma página, antes de que yo haya apostado un centavo por cualquiera de los dos. Aquí está esa página, de hace unas horas:

La tabla del Faktencheck de esta mañana: la afirmación del siguiente partido de Inglaterra marcada como refutada, la probabilidad de titularidad de Rogers corregida al alza, la lesión de Ez Abde confirmada y la afirmación sobre la condición física de Messi marcada como incierta
La auditoría de esta mañana, tal como la describí: el error del calendario de Inglaterra refutado y corregido, la probabilidad de titularidad de Rogers subida con el mercado de apuestas citado, la lesión de Ez Abde confirmada por la federación — y la afirmación de Messi “fit” marcada como dudosa.

La regla bajo la que vive es la estricta: una afirmación solo está “confirmada” cuando una segunda fuente independiente coincide. Una fuente es una pista. Dos son un hecho.

Ahora, la advertencia honesta, porque un verificador que solo enseña sus victorias te está vendiendo algo. Que dos fuentes coincidan no es a prueba de balas — a veces los dos medios solo están parafraseando el mismo cable de agencia, así que “confirmaste” el mismo rumor dos veces. Me apoyo en originadores independientes donde puedo, pero las fuentes correlacionadas son un modo de falla real, y es exactamente el tipo de cosa que la siguiente sección está hecha para cachar a la vista de todos. El titular honesto para quien quisiera correr esto en serio no es “cita fuentes” — es “qué tan seguido una afirmación confirmada resulta ser falsa”, y eso no lo puedo contestar hasta que se jueguen los partidos.

El verificador también existe por una razón nada glamorosa: al principio, los agentes se equivocaban. Uno leyó una probabilidad de titularidad vencida. Uno puso a un jugador en el grupo equivocado del torneo. Uno valuó un fichaje con el valor de mercado equivocado. Uno hizo referencia a un jugador que no coincidía con nadie en ninguna plantilla real — un fantasma — y sin la verificación me habría enterado pujando por alguien que no existía. El verificador es el tejido cicatrizado de esos errores: la capa que audita una decisión antes de que yo actúe sobre ella, como un equipo de finanzas que mantiene separada a la persona que registra la factura de la que la aprueba.

7. El sistema se está calificando a sí mismo, en vivo

Lo más reciente que agregué — y lo que más curiosidad me da observar — es la parte donde los agentes declaran sus predicciones por adelantado, en público, y luego las califican contra la realidad una vez que se juegan los partidos.

La pestaña de Predicciones pronostica cada partido de la jornada en curso — los 24 partidos de la jornada inaugural ahora mismo, re-pronosticados conforme se mueven las noticias — cada uno con un marcador, un porcentaje de confianza, el razonamiento y las fuentes. Tres llamadas del tablero de esta mañana:

  • México vs Sudáfrica — el partido inaugural de mañana — 2-0 con 72% de confianza. “México abre en el Azteca con una clara ventaja de local y un 4-3-3 asentado alrededor de Jiménez y Alvarado; el lateral izquierdo de Sudáfrica está en duda por un isquiotibial, y han mostrado límites ofensivos contra rivales de élite todo el año. Alternativa plausible: 1-0 — los partidos inaugurales tradicionalmente son cerrados.” Fuentes: rotowire.com.
  • Corea del Sur vs República Checa — 2-1 con 58%. Ayer esta misma fila decía 1-1 con 50% — un volado honesto, sin ventaja clara. Durante la noche el razonamiento se actualizó: el talento de élite de Corea (Son, Lee Kang-In, Kim Min-Jae) en un 3-4-3 de presión alta, los checos colgados de un solo delantero con su suplente tocado. El pronóstico se movió a 2-1 porque la información se movió — en público, con la versión de ayer todavía sentada en la historia de capturas. Y donde genuinamente sigue sin haber ventaja, lo dice: Costa de Marfil vs Ecuador está en 1-1, 50%, un volado admitido. Esa es la disciplina que quiero.
  • Catar vs Suiza, 13 de junio — 0-2 con 75%. El 4-2-3-1 asentado de Suiza y una plantilla mucho más profunda; Catar apenas se reforzó desde 2022 y es ofensivamente inofensivo contra defensas europeas organizadas.
La tabla de Prognosen: 24 partidos de la jornada inaugural, cada uno con hora de inicio, ambos equipos, un marcador pronosticado, una barra de confianza, una justificación de una línea y links a fuentes
El tablero completo: 24 partidos de la jornada inaugural, cada uno con su hora, un marcador pronosticado, un número de confianza, el razonamiento y las fuentes. Mañana deja de ser una lista de opiniones y empieza a ser un historial.

Luego hay una pestaña separada — Precisión — que ahora mismo está vacía. Ahí viven dos secciones: la precisión de las predicciones de partidos (compara cada marcador pronosticado con el resultado real) y la calibración de las probabilidades de titularidad (revisa si las afirmaciones de “80% de confianza” de verdad aciertan el 80% de las veces en la práctica, agrupadas por nivel de confianza).

Ambas secciones dicen ahora mismo: “Aún no hay jornadas verificadas — los valores aparecen cuando se complete la primera jornada.” Eso es exactamente lo que quiero que digan. La infraestructura está ahí — pública, fechada, rendidora de cuentas. Empieza a llenarse mañana en la noche, y desde entonces puedes revisar la tarea del sistema contra la realidad sin tener que creerme nada a mí.

La pestaña Genauigkeit con dos secciones vacías — precisión de predicciones de partidos y calibración de probabilidades de titularidad — cada una indicando que aún no existen jornadas verificadas
Mi captura de pantalla favorita de este artículo: una página que existe solo para calificar al sistema, vacía a propósito, fotografiada el día antes de que empiece a llenarse.

Esta es la parte que importa para cualquier pregunta de negocio. Un sistema que no puedes calificar es un sistema en el que no puedes confiar. A la mayoría de los “dashboards de IA” que te van a enseñar en 2026 nunca, calladamente, los van a calificar contra los resultados que predijeron. Este tiene la página de calificaciones integrada, con las columnas nombradas, antes de que ruede el primer balón.

8. Cómo está construido

Para los ingenieros y los curiosos, aquí está la forma de la cosa, sin adornos.

Primero, aquello en lo que insisto todo el tiempo, dicho una vez y en serio. Un programa normal trae datos con un horario y corre las reglas que escribiste de antemano; cambia la pregunta y cambias el código. Esto no funciona así. Cada mañana los agentes deciden qué investigar, lo leen, razonan sobre ello, y pueden llegar a una conclusión que yo nunca pre-programé — cambian de opinión cuando las noticias cambian. Los datos se traen a diario y el análisis se computa bajo demanda, por IA, no se reproduce de un script estático. Esa es la diferencia entre automatizar un reporte y contratar a un analista que da la casualidad de que está hecho de tokens.

Es un sistema multi-agente. La versión simple: en lugar de una IA grande haciendo todo en secuencia, corro un equipo de pequeños especialistas al mismo tiempo, cada uno con un trabajo. Un “agente” aquí es solo un pequeño trabajador de IA con una tarea y una lista de verificación — como darle el mismo brief a un analista por región y dejarlos trabajar a todos a la vez.

La pipeline diaria es una línea limpia: entrar → importar la liga → actualizar el libro contable → investigar → recomendar → pronosticar los partidos → verificar los hechos → renderizar el dashboard.

La investigación es la parte bonita. Lanzo un agente investigador por selección, todos en paralelo. El de España, el de Suecia y el de Inglaterra trabajan al mismo tiempo, y cada uno regresa un once inicial predicho, notas de lesión y forma por jugador, probabilidades de titularidad, pronósticos de marcador con confianza y veredictos de compra conscientes del sobrepago — como datos estructurados estrictos, no prosa. Luego lanzo un agente verificador por selección, también en paralelo, y lo crucial es que es independiente y de solo lectura — no puede cambiar nada, solo puede regresar hallazgos. El investigador propone; el verificador dispone. Separar esos dos roles es todo el truco: la cosa que hace una afirmación no puede ser también la cosa que la aprueba.

La plomería que no necesita criterio — el rastreo del dinero, la tabla, la aritmética de valuación, la calificación de precisión — vive en código normal sin nada de IA. Eso es deliberado, y es la parte que la mayoría entiende al revés: usa la herramienta cara solo donde se gana su sueldo. Las verificaciones baratas y mecánicas — este precio se ve sano, este veredicto coincide con su propia probabilidad, este ID de jugador de verdad existe, el 2-0 pronosticado es igual al 2-0 real — corren en Python normal. Las llamadas caras a la IA están reservadas para el juicio que carga el peso: leer la web abierta para verificar el puñado de afirmaciones sobre las que de verdad descansa una decisión. Lo limito a dos o tres consultas web por selección y cacheo las fuentes ancla. Saber cuáles de tus problemas son razonamiento duro y cuáles son pura aritmética es la mayor parte de lo que separa un demo de IA de un sistema de IA que puedes costear para siempre — y la mayoría de los sistemas de “IA” que veo por ahí lo hacen exactamente al revés y se preguntan por qué la factura da miedo.

Una palabra sobre el costo, porque es lo primero que yo preguntaría. Con la aritmética fuera del modelo y las consultas limitadas, una corrida diaria completa cae en los centavos — dólares de un solo dígito bajito entre todas las selecciones en un día movido, no la factura de infarto para la que la gente se prepara cuando oye “multi-agente”. La razón de que sea barato es la disciplina, no la suerte: el modelo solo hace, en cada caso, la parte en la que un modelo es únicamente bueno.

El login es una sesión real de navegador manejada con Playwright contra comunio.com. Las credenciales salen de una bóveda de contraseñas en tiempo de ejecución mediante un token de servicio — nunca impresas, nunca logueadas, nunca sentadas en el código — y la sesión se reutiliza en cada corrida. Para una liga de hobby, sobra. Para una empresa es donde la conversación real empieza, no donde termina: dónde viven los datos, quién puede anular una recomendación, si un auditor aceptaría el rastro, y la parte genuinamente espinosa — que scrapear un sitio de fantasy donde tienes cuenta es trivial, mientras que monitorear competidores y jalar datos de terceros en una empresa regulada es un campo minado de términos de servicio y accesos alrededor del cual diseñas desde el día uno. No lo menciono para barrerlo debajo del tapete, sino porque fingir que no está ahí es como estos proyectos se mueren en la revisión legal.

¿Funcionó? Respuesta honesta: pregúntame en un mes — pero la página está abierta.

El torneo arranca mañana, 11 de junio de 2026. Mientras escribo esto, no ha rodado un solo balón. Así que no te voy a decir que mis agentes van ganando, porque nadie ha ganado nada todavía. El arco de Messi y la corrección de Rogers de arriba no son llamadas comprobadas — son el sistema cambiando de opinión conforme rompen las noticias, que es el comportamiento que quería. Pero el marcador sigue en blanco.

Lo que sí te puedo enseñar es al sistema siendo honesto bajo presión, antes del arranque, donde ya es verificable:

El arco de Angulo. El 22 de mayo lo mantuvo a pesar de una bandera de lesión — probabilidad de titularidad 50, valor 0.49M — contra el instinto de vender en pánico. El 25 de mayo una fuente afirmó que estaba “fit, p80”; el verificador lo refutó y corrigió a p45. Luego, el 7 de junio: confirmado fit, p72, valor arriba a 1.43M, lugar en la convocatoria oficial. El valor caminó 0.49 → 0.52 → 1.43M mientras todos los demás se espantaban. “No vendas en pánico, aguanta hasta el cierre de convocatorias” fue la llamada, y aguantó. Las tres capturas de abajo son los propios registros fechados del sistema sobre ese arco — puedo viajar en el tiempo a ellas cuando quiera con el selector de fechas:

Captura del dashboard fechada el 22 de mayo: la fila de Angulo con una bandera de lesión, probabilidad de titularidad 50, valor 0.49M y veredicto HOLD
22 de mayo: mantenido en 0.49M a través de la bandera de lesión — sin venta de pánico, aguantar hasta el cierre de convocatorias.
Captura del dashboard fechada el 25 de mayo: el verificador marca la afirmación optimista de fit con p80 como refutada y corrige la probabilidad de titularidad a 45
25 de mayo: la afirmación prematura de “fit, p80” refutada por el verificador y corregida a p45.
Captura del dashboard fechada el 7 de junio: Angulo confirmado fit con probabilidad de titularidad 72, su valor subido a 1.43M, lugar en la convocatoria oficial
7 de junio: confirmado fit, valor casi triplicado a 1.43M. Archivado, verificable, sin posibilidad de reescribir la historia.

La trampa de Foden. El 22 de mayo: AVOID. “No está en la convocatoria de Inglaterra para 2026. Sin Mundial no vale nada. La trampa más cara del mercado — no pujes.” Sencillamente correcto, y un rival sobrepagó +63% por él de todos modos. La advertencia estaba ahí mismo en el dashboard, con sus fuentes — sigue ahí en la captura del 22 de mayo. Alguien simplemente no la leyó.

La captura del 22 de mayo de la tarjeta de recomendación de Foden: veredicto AVOID, marcado como fuera de la convocatoria de Inglaterra para 2026 y llamado la trampa más cara del mercado
La advertencia, tal como se renderizó el 22 de mayo. El sobrepago de +63% pasó de todos modos — solo que no fui yo.

Y la tabla del inicio de este artículo — Worldcup Allstars abajo 20.6%, yo arriba 17.3% — es la contabilidad del sistema, antes de que se juegue un solo partido, sobre una brecha de casi 21M que surgió puramente de cómo se comportó cada uno de nosotros en el mercado.

Así que ese es el estado honesto de las cosas. Los agentes son disciplinados, citan sus fuentes, se auditan a sí mismos, y ya se están calificando en una página pública que empieza a puntuar mañana en la noche. Si de verdad ganan la liga es una pregunta que solo junio y julio pueden contestar.

Que es exactamente por lo que estoy convirtiendo esto en una serie. Vienen dos continuaciones, ambas calificadas contra la realidad después de los hechos, sin curva de calificación:

  1. ¿Qué tan precisas fueron las predicciones? El sistema ya tiene la página para eso — vacía mientras escribo esto, llenándose desde mañana. Lo escribiré como se debe después de la fase de grupos, con la precisión cruda de las predicciones de partidos y las curvas de calibración de las probabilidades de titularidad.
  2. ¿Qué tan precisa fue la información que recopiló? Una pregunta separada, y se puede argumentar que más importante — no “¿pagó la apuesta?” sino “¿la imagen que el sistema tenía del mundo era correcta desde el principio?” Ahí es donde la tasa de falsas confirmaciones y el problema de las fuentes correlacionadas tienen su ajuste de cuentas público.

Esa segunda es la pregunta que yo haría antes de confiar en cualquier sistema de decisiones, de fantasy o de lo que sea. Un sistema que gana de suerte y uno que gana porque vio con claridad se ven idénticos en el marcador. Las continuaciones son mi intento de distinguirlos, en público, donde puedes revisar mi trabajo.

Una nota antes de dejarte ir: la forma bajo el cofre aquí — agentes autónomos que traen información fresca, citan cada afirmación, se auditan a sí mismos y califican sus propias predicciones contra la realidad — no es específica del futbol. El mismo patrón funciona contra cualquier blanco en movimiento: datos de compras, precios de competidores, riesgo de proveedores, los mercados en los que de verdad vives. Una liga de futbol es solo el lugar donde elegí probarlo en público, donde la calificación es honesta y las apuestas son bajas. Si la forma de esto encaja con algo con lo que vives en el trabajo — y quisieras ver cómo se ve un prototipo apuntado a tu dominio — esa puerta está abierta. Si no, la jugada más inteligente es observar primero las páginas de precisión: si un sistema no puede calificar sus propias predicciones contra la realidad, nada del resto importa.

Ahora me toca descubrir si los agentes tenían razón. La puntuación empieza cuando suene el silbatazo.

[pagr] daniel@home:~/blog/ai-agents-fantasy-football