cat ~/artículos/ai-predictions-graded-quarterfinals.mdx
Comunio World Cup 2026 · Parte 7Cuatro de cuatro: la mejor ronda del torneo para la IA — y el marcador volvió vacío
Los cuartos de final, evaluados en público: mi IA fantasy del Mundial acertó 4 de 4 ganadores con 3 resultados exactos — su mejor ronda hasta ahora, una ronda después de la peor. Y cuando se ejecutó el evaluador, los cuatro pronósticos habían desaparecido en silencio del marcador: un segundo fallo de formato, una capa por debajo del arreglo del primero. Además, la métrica que castigó una ronda perfecta, y una ventaja en la liga que creció de 55 a 95.
16 jul 2026 · por Daniel Deusing · ~21 min de lectura #ai #agents #football
El último artículo terminó con una apuesta concreta: tras la peor ronda del torneo, el sistema se había dado permiso para volver a subir la voz — y los cuartos de final mostrarían si una predicción a voz alta podía ganárselo.
Este es el boletín de los cuartos de final: cuatro de cuatro ganadores. Tres de cuatro resultados exactos. El error medio en el margen de victoria, que acababa de dispararse hasta su peor valor, cayó a un cuarto de gol — el mejor de todo el torneo. Las dos predicciones más atrevidas desde que el sistema puso un tope a su propia confianza, con 65 y 66 por ciento, acertaron ambas el resultado exacto. Una ronda después del 2 de 8, el mismo sistema, bajo la misma evaluación pública, produjo la mejor ronda de su torneo.
Y cuando se ejecutó el evaluador, la fila de los cuartos de final en mi marcador volvió vacía. No equivocada — vacía. Cuatro pronósticos, descartados en silencio de la verificación, como si la ronda nunca se hubiera predicho. La mejor ronda que ha jugado este sistema estuvo a punto de no evaluarse, y el porqué es lo más útil de todo el texto. Cuatro partidos son una muestra pequeña y lo seguiré repitiendo — pero un pipeline que pierde tu mejor trabajo sin levantar la voz no es un problema pequeño, sea cual sea el tamaño de la muestra.
Una aclaración que hago en cada ronda para los lectores nuevos, porque cambia cómo deberías leer todo lo que viene abajo: nada de esto es un modelo que yo haya entrenado. Tomo modelos de IA ya existentes, listos para usar, y les doy herramientas, contexto y un trabajo — y luego ajusto la descripción de ese trabajo ronda tras ronda. El aprendizaje que estás viendo son reglas escritas, no reentrenamiento; los modelos en sí nunca cambian.
El resumen, por si eres nuevo aquí
El planteamiento: un escuadrón de agentes de IA — modelos de IA que no se limitan a responder preguntas, sino que usan herramientas, buscan información y actúan sobre una lista de tareas, más cerca de un becario con un encargo que de un chatbot — hace los deberes diarios de mi equipo en una liga fantasy del Mundial. Dos tipos de deberes, evaluados por separado. El vistoso: predecir cómo termina cada partido — ganador, resultado y un número de confianza, un porcentaje al estilo del pronóstico del tiempo que indica lo seguro que está. El silencioso: predecir quién salta de verdad al campo, porque en el fantasy una estrella en el banquillo no te da nada. La realidad evalúa ambos en público, y yo apunto las notas. Esta es la sexta ronda evaluada. La anterior fue el episodio del desastre — 2 de 8, descompuesto en tres tipos distintos de error. Esta es lo que pasó después de los arreglos.

Cómo eran los cuatro pronósticos antes del pitido inicial
La forma de la ronda importa más que su marcador, así que aquí están las cuatro predicciones tal como quedaron fijadas, con el precio del mercado al lado de cada una. Las cuotas de las apuestas son probabilidades disfrazadas: cuando una casa de apuestas solo te paga un euro por cada cinco que arriesgas a Francia, el mercado te está diciendo que Francia gana unas cinco de cada seis veces. Miles de personas con dinero en juego fijan esos precios, lo que las convierte en la mejor comprobación de realidad gratuita que puede tener un pronosticador — y así es como las uso a lo largo de toda esta serie.
Marruecos–Francia, pronosticado 0–2 con 65. El mercado situaba a Francia en torno al 59 por ciento. Una selección de élite contra un muy buen equipo sin la misma profundidad de plantilla — exactamente el escenario en el que el nuevo reglamento del sistema ordena un margen de victoria más amplio y una confianza en los sesenta, porque los equipos de élite no ganan estos partidos con delicadeza. Terminó 0–2.
España–Bélgica, pronosticado 2–1 con 66. España en torno al 62 por ciento para el mercado, y Bélgica arrastrando una lesión que dejaba fuera del torneo a uno de sus titulares clave. Terminó 2–1.
Noruega–Inglaterra, pronosticado 1–2 con 48. El mercado veía a Inglaterra en apenas el 51 por ciento — una auténtica moneda al aire con una ligera inclinación. El sistema lo dijo en su número: 48 cae dentro de su banda de moneda al aire, que va del 42 al 52, y un valor ahí es la manera que tiene el reglamento de escribir “esto es un cara o cruz, con una ligera inclinación” — no una afirmación de que Inglaterra tuviera más probabilidades de perder. Terminó 1–2. Que una predicción a cara o cruz acierte el resultado exacto es suerte montada sobre la honestidad, y me la quedo.
Argentina–Suiza, pronosticado 1–0 con 50. El prudente, y la única mancha — más sobre ello abajo. Argentina ganó 3–1 tras la prórroga. Ganador acertado, margen fallado.
Tres cosas sobre esa lista, antes del fallo. Primera: el abanico ha vuelto. Tras la ronda en la que los ocho pronósticos se apiñaron entre el 42 y el 62 — el fallo de “apiñamiento”, todo susurrado al mismo volumen — esta ronda fue del 48 al 66: dos predicciones a voz alta sobre favoritos de verdad, dos en voz baja sobre auténticas monedas al aire, y la realidad estuvo de acuerdo con esa ordenación. Segunda, la nota de honestidad: esos números de confianza reclaman ganadores, no resultados. El reglamento se gana un mérito real por acertar cuatro ganadores y por ordenar los márgenes más amplios en los dos favoritos — esa parte es proceso. Clavar tres resultados exactos encima de eso es suerte montada sobre ese proceso, y la suerte fue del mismo tipo en las predicciones a voz alta que en la moneda al aire de Noruega. Tercera: la propia autopsia del sistema — la autoevaluación escrita que archiva después de cada ronda — aun así presentó una queja, y es la queja opuesta a la de todas las rondas anteriores. La predicción de Francia, argumenta, debería haber sido más atrevida — su reglamento permite hasta 75 en un desequilibrio de élite, un tope aparte ligado a la diferencia de categoría entre selecciones, no el disparador del precio de mercado del artículo anterior, y eligió la parte baja de la banda. Equivocarse solo en la dirección demasiado tímida, dos veces, en una ronda perfecta, es el problema más agradable que esta serie ha registrado nunca. Aun así se registra como un problema, porque la calibración — cómo de bien la confianza declarada coincide con la frecuencia con la que realmente aciertas — corta por los dos lados: quedarse corto está tan mal calibrado como pasarse.
El marcador vacío
Ahora la parte que mantuvo la ronda interesante después de que el fútbol hubiera terminado.
El arreglo más grande del artículo anterior fue lo que llamé hacer que el formato comprobara la física: después de que un pronóstico que se contradecía a sí mismo costara dos aciertos en los octavos de final, el sistema recibió una barrera de validación estricta — ganador y resultado tienen que coincidir antes de que se permita guardar un pronóstico. Esa barrera se aplicó a los cuatro pronósticos de los cuartos de final. Los cuatro pasaron. La barrera funcionó exactamente como estaba escrita.
Y aun así los cuatro pronósticos se cayeron de la evaluación, por aquello en lo que estaban escritos. Se supone que el resultado se guarda como un valor de texto corto — “0-2”, tal como lo escribirías en papel. Pero el predictor lo guardó como una lista estructurada de dos números: dos casillas separadas que contenían el 0 y el 2, en lugar de una sola etiqueta que dijera “0-2”. Esa misma barrera comparó el ganador con los dos números y quedó satisfecha — dos números se comparan sin problema, venga en el recipiente que venga. El evaluador, en cambio — el script estricto más abajo en el pipeline que lee cada pronóstico guardado y lo puntúa contra el resultado real — lee el resultado partiendo la etiqueta por el guion. Al recibir casillas en lugar de una etiqueta, no se rompió. No se quejó. Se saltó el pronóstico y siguió adelante, cuatro veces, y la fila de los cuartos de final del marcador público quedó vacía.
La secuencia merece explicarse en detalle, porque es un patrón que vale la pena reconocer. El fallo de la ronda anterior estaba en cómo se escribían los pronósticos — así que se añadió una barrera en el momento de escribir. La barrera comprobaba que el registro tuviera sentido. No comprobaba de qué estaba hecho el registro — el significado pasó, el recipiente no. En el mundo del software a eso se le llama un error de tipo: el valor correcto en el tipo de caja equivocado, y a la barrera nunca se le había dicho que la caja importaba. Y el evaluador, que había hecho su descomposición sobre los noventa y cinco pronósticos evaluados antes de esta ronda sin un solo tropiezo, nunca había aprendido a decir nada cuando la descomposición falla — porque nunca había fallado. Dos componentes, cada uno razonable por sí solo, y el fallo vivía exactamente en el traspaso entre ambos — el único sitio que ninguno de los dos considera su trabajo. Si tienes cualquier pipeline donde un sistema escribe registros y otro los lee — pedidos, reservas, exportaciones de nóminas — tienes este traspaso en algún lugar, y está tan poco vigilado como lo estaba el mío.
El arreglo tiene dos partes. La barrera ahora comprueba tanto el recipiente como el contenido: un resultado tiene que ser texto, en formato de marcador, con el equipo local primero, o el pronóstico se rechaza en la puerta — esa es la prevención. Y el lado de la evaluación se reparó en caliente, en cada script que toca estos registros, para que la ronda pudiera evaluarse siquiera. La regla que añado encima de ambas cosas, para todo lo que en este pipeline lea registros: un registro que no se pueda leer detiene la ejecución con un nombre y un motivo, en lugar de adelgazar la muestra en silencio. La barrera bloquea el fallo que ahora conozco; el grito es el seguro para el que aún no he imaginado. Una confesión ya que estamos: no le hice una captura al marcador vacío — la reparación en caliente ocurrió antes de que se me ocurriera fotografiar los restos del naufragio — así que la prueba citable no es una dramática tabla vacía, es la propia entrada del fallo en la autopsia del sistema, que puedes leer en la tabla de lecciones más abajo.
Una cosa más, porque el artículo anterior insistió en el veredicto opuesto, y aquí la distinción importa. En los octavos de final, dos pronósticos con el ganador correcto se quedaron evaluados como fallo, y dejé que la nota se mantuviera — los registros se contradecían a sí mismos, y un registro que se contradice a sí mismo está mal, se quisiera decir lo que se quisiera. Estos cuatro pronósticos eran distintos: ganador y números coincidían, sin ambigüedad, en todos y cada uno. El registro estaba bien y el lector estaba roto. Así que se arregló el lector y se evaluó la ronda, y el 4 de 4 de arriba es el resultado. Esa es la línea que voy a mantener durante el resto de la serie: un evaluador roto se repara y se vuelve a ejecutar; un registro ambiguo se queda mal para siempre. Una cosa es volver a arreglar la regla de medir. La otra es discutir con ella.
La métrica que castigó la ronda perfecta
Este es el número más raro de la ronda, y mi lección favorita dentro de él.
Esta serie lleva persiguiendo un objetivo llamado discriminación de confianza — la brecha entre lo seguro que está el sistema en las predicciones que acierta frente a las que falla. Piensa en un médico cuya voz suena exactamente igual de dubitativa ante un lunar inofensivo que ante lo que necesita cirugía: sea cual sea su tasa de acierto, su tono ha dejado de transmitir información. Un pronosticador útil habla fuerte cuando acierta y bajo cuando se equivoca, así que una brecha mayor es mejor, y el objetivo fijado es una brecha de al menos diez puntos. Llegó a los cuartos de final con 8.45.
El sistema jugó entonces una ronda perfecta — cuatro de cuatro, con el abanico de confianza por fin de vuelta — y el número de discriminación bajó, hasta 7.95.
Repasemos por qué, porque la aritmética está haciendo algo tramposo. La métrica promedia la confianza sobre todas las predicciones acertadas y, por separado, sobre todas las falladas. Los cuartos de final añadieron cuatro predicciones acertadas con 65, 66, 48 y 50 — y las dos monedas al aire de esa lista, el honesto 48 y el honesto 50, tiraron hacia abajo de la media del montón de aciertos. No se añadió ninguna predicción fallada, así que el montón de fallos se quedó donde estaba, y la brecha se encogió. Ahora hagamos el “y si” cambiando una sola cosa: si el sistema hubiera perdido ambas monedas al aire — una ronda de 2 de 4 en vez de 4 de 4 — esos mismos números bajos se habrían sumado al montón de fallos, habrían tirado su media hacia abajo, y la puntuación de discriminación habría subido. La métrica premia perder tus predicciones humildes y castiga ganarlas.
Eso no es un problema de fútbol, es un problema de diseño de KPI — un KPI, indicador clave de rendimiento, siendo cualquier número por el que se guía un equipo — y vale la pena reducirlo a su esqueleto: fijé un número para fomentar un comportamiento — “habla fuerte solo cuando aciertes” — y resultó que el número también castiga un comportamiento que quiero — “sé humilde en las monedas al aire, y gánalas igualmente cuando la moneda caiga de tu lado”. El objetivo se queda por ahora, porque con tan pocos partidos por jugar apenas tiene fuerza para orientar en un sentido u otro — pero he dejado de leerlo como una nota y he empezado a leerlo como lo que es: una lente, con un punto ciego que ahora sé nombrar. La prueba que sugeriría para cualquier métrica por la que te guíes — los cuadros de mando del trabajo incluidos — es exactamente la que dejó esto al descubierto: imagina la mejor ronda que tu sistema podría tener y comprueba en qué dirección se mueve la aguja. Si la perfección empeora el número, el número está midiendo algo distinto de aquello para lo que lo contrataste.

La mancha, y lo que enseñó
Argentina–Suiza merece sus propios párrafos, porque el fallo tiene un mecanismo dentro.
Suiza es el tipo de rival para el que el sistema ahora tiene una regla estricta: un equipo que cumple todos los criterios de lo que las autopsias llaman el test del autobús aparcado — plantarse muy atrás, ceder la posesión, jugar para el empate y la tanda de penaltis. Esa postura es exactamente lo que quemó el pronóstico más caro del sistema en todo el torneo, un favorito del 76 por ciento eliminado en los penaltis, así que la regla pone tope tanto al margen como a la confianza: pronostica al favorito por un solo gol, quédate cerca del cincuenta. El sistema la siguió mecánicamente. 1–0 Argentina, con 50.
Durante noventa minutos la regla pareció acertada — 1–1 al pitido final. Luego llegó la prórroga, y Suiza dejó de correr. Habían pasado por un maratón completo de prórroga más penaltis en la ronda anterior, y frente a una Argentina fresca la fatiga llegó puntual: 3–1 tras 120 minutos.
El refinamiento que escribió la autopsia es del tipo que más me gusta, porque es estrecho y mecánico: el tope del autobús aparcado sigue gobernando los primeros noventa minutos — pero cuando el equipo que aparca el autobús lleva en las piernas una ronda de prórroga y penaltis, el resultado final se pronostica un gol más generoso en cada lado, 2–1 en vez de 1–0, con una confianza sensiblemente más alta: el mismo margen de un gol, escrito por una regla que ahora espera que el partido se abra en el tramo final. La fatiga no es una corazonada; está en el acta del partido de la ronda anterior, comprobable antes del pitido inicial.
La misma señal de fatiga apareció en la mitad silenciosa del sistema, desde la otra dirección. El modelo de quién-es-titular tuvo otra ronda fuerte — acertó en torno al 85 por ciento de 79 predicciones de titularidad evaluadas, la segunda mejor del torneo — pero sus peores fallos se agrupan de forma reveladora: el extremo de Suiza, calificado como titular casi seguro, al que un entrenador que gestionaba piernas agotadas dio cinco minutos desde el banquillo. Y uno de los centrocampistas más aclamados de España, calificado con 90 para ser titular, empezando el partido en el banquillo — porque a partir de los cuartos de final, los entrenadores dejan de sacar “el once de siempre” y empiezan a construir un once por rival. Ambos fallos se convirtieron en topes: un techo estricto en las probabilidades de titularidad para los atacantes cuyo equipo acaba de jugar 120 minutos, y una regla de que, ya metidos en las eliminatorias, nadie recibe una certeza de 90 o más sin una palabra reciente del entrenador. Ten presente esta segunda — las semifinales están a punto de ponerla a prueba mucho más duro.

La liga: la diferencia se duplica
La tabla de la liga es donde ambas mitades del sistema — la vistosa y la silenciosa — se suman en puntos, así que aquí está el balance de la ronda.
Primer puesto, 526 puntos, noventa y cinco por encima del segundo. Los cuartos de final añadieron cien puntos — no el mayor botín de mi torneo, la ronda anterior sumó 134 — pero la diferencia casi se duplicó, de 55 a 95, porque el segundo puesto solo consiguió sesenta. En un fantasy de eliminatorias, la diferencia es lo que lo decide, no tus puntos en bruto — y la diferencia se acumula cuando tu plantilla sigue jugando y los jugadores de las otras plantillas se van a casa.
Esa es también la ronda en la que se reconfiguró la plantilla para la recta final. El valor en el fantasy muere con la eliminación — una estrella de un equipo eliminado no da nada y cada día se vende por menos — así que los movimientos fueron brutales y simples: vender a todos los de las naciones eliminadas, y concentrar el dinero en los equipos que siguen en pie. El fichaje más instructivo fue pagar 14.65 millones por un centrocampista francés cuyo valor de mercado en la lista era de 9.86 millones — casi cinco millones por encima del precio de etiqueta, a propósito. Pagar de más es aritmética racional cuando los minutos de eliminatoria valen el doble y escasean: la pregunta nunca es “cuánto vale en la lista”, es “cuánto valen para mí unos minutos garantizados en un semifinalista, a esta altura de las eliminatorias, frente a la alternativa de tener dinero parado que no da nada”. Cambia los sustantivos y es la decisión que toma una empresa cuando paga por encima del precio de lista al proveedor probado que sí puede entregar este trimestre — el sobreprecio no es un desperdicio, es el precio de la certeza dentro de una ventana corta.

Quita el fútbol
Tres cosas de esta ronda sobreviven al cambio de sustantivos hacia cualquier sistema empresarial.
Un arreglo solo está terminado cuando también se ha probado la capa que está aguas abajo de él. La barrera del lado de escritura dejó pasar registros que el lado de lectura no podía leer; cada componente estaba bien y el sistema no. La unidad de verificación es el pipeline, no el parche — el día en que ajustas la plantilla de facturas es el día de hacer pasar también una factura entera hasta el pago.
El silencio es el modo de fallo más caro. Una salida equivocada se detecta, porque alguien no está de acuerdo con ella. Una salida ausente se lee como “no pasó nada” y se la cree. Si un paso de un pipeline puede tragarse una entrada mala y producir un resultado más pequeño y de aspecto más limpio, acabará borrando tu mejor ronda — los informes de auditoría, los resúmenes mensuales, el trabajo nocturno que copia datos entre sistemas, todos merecen la regla que esta ronda le impuso a mi evaluador: falla a gritos o no te ejecutes.
Antes de guiarte por una métrica, dale un día perfecto. Mi puntuación de discriminación bajó porque el sistema ganó las monedas al aire que él mismo había etiquetado honestamente como monedas al aire. Un KPI que castiga el comportamiento que quieres te entrena en silencio, a ti o a tu equipo, hacia lo equivocado. Ejecutar “qué le haría la perfección a este número” cuesta cinco minutos y habría pillado esto en el momento del diseño.
El cuadro de semifinales al que se enfrentó el sistema a continuación: Francia–España e Inglaterra–Argentina, y ambas predicciones ya están fijadas. Francia–España, pronosticado como un empate 1–1 con 45 — dos equipos con rachas de portería a cero y un mercado incapaz de elegir favorito. Inglaterra–Argentina, Inglaterra por 2–1 con 55, el ligero favorito en el borde superior de la zona de moneda al aire. Ninguna predicción a voz alta en la pareja, porque a ojos del mercado ninguna estaba disponible: todos los equipos que siguen en pie son de élite, y élite contra élite es la zona de moneda al aire por definición. El próximo artículo evalúa ambos pronósticos, y después de una ronda de 4 de 4 lo más honesto que puedo decirte es que el propio sistema espera equivocarse en aproximadamente uno de los dos. Eso es lo que significan los números 45 y 55. Si se cumple — lo leerás aquí, mismo marcador, mismas reglas.