La contradicción

RoboCup es una de las competencias de inteligencia artificial y robótica más influyentes del mundo. En la cancha está, de verdad, lo más avanzado que existe: humanoides autónomos jugando fútbol, robots de rescate que leen zonas de desastre, máquinas que cada año se acercan un poco más a una meta que nos fijamos desde 1997: un equipo de robots capaz de ganarles a los campeones humanos de la Copa del Mundo para 2050.
Fuera de la cancha, hasta hace muy poco, la competencia se basaba en hojas de cálculo de Excel y en correos escritos a mano.
Quiero quedarme un momento en esa contradicción, porque es justo de lo que trata este texto. La cosa es así: RoboCup es lo que pasa en la cancha, y la manera en que RoboCup funcionaba fuera de ella se habían alejado tanto como pueden alejarse dos cosas. La asignación de cupos vivía en hojas de cálculo, una por cada representante regional. Los registros de los equipos se anotaban a mano. Las cartas de invitación para la visa se generaban y se enviaban por correo, equipo por equipo. Los errores de registro salían a la luz durante el evento mismo, cuando ya era demasiado tarde para corregirlos. Si un representante de la región necesitaba un cambio, tenía que escribirle a un solo administrador, saturado de trabajo, y esperar.
Las competencias siguieron siendo de talla mundial porque la gente detrás de ellas les echaba más ganas. Esa no es una forma sostenible de dirigir una federación que quiere crecer. Y hay algo raro en ser el mejor del mundo en inteligencia artificial y, al mismo tiempo, llevar tus propias operaciones como si fuera 2005.
Así que, un grupo pequeño nos propusimos cerrar esa brecha: lograr que la forma en que operábamos RoboCup fuera tan moderna como el propio RoboCup. Y decidimos hacerlo con la mismísima tecnología con la que la competencia nació para celebrar.
Lo que construimos

Construimos un verdadero Sistema de Gestión de Competencias: la plataforma interna que hoy gestiona todo el ciclo de vida del evento, desde la primera decisión de asignación de cupos hasta la impresión de gafetes en el módulo de registro.
En concreto, hace todo ese trabajo poco glamoroso que antes se comía miles de horas de voluntariado:
- Planeación de cupos y selección de equipos entre unos 50 representantes regionales, cada uno trabajando ahora por su cuenta, sin tener que esperar a un administrador central.
- Invitaciones y registro: con un clic, el sistema envía a un equipo su invitación; ningún equipo puede registrarse por cuenta propia, así que todo registro parte de una decisión real de asignación.
- Cartas de visa el mismo día: en cuanto un equipo paga y sus datos de pasaporte quedan registrados, la siguiente sincronización automática lo vuelve elegible y le envía un enlace seguro para descargar su carta de invitación personalizada. Los equipos esperan meses para el evento; la carta que necesitan para su visa la tienen el mismo día.
- Validación automática: el sistema se sincroniza varias veces al día, revisa edades, número de integrantes, pagos y que los datos de pasaporte estén completos, y saca a la luz los problemas durante el registro y no ya en la sede.
- Acreditación y gafetes en sitio: una mesa que escanea una confirmación, imprime la credencial en el color asignado a cada persona y deja constancia de quién imprimió qué.
- Premios, certificados e incluso elecciones de comité: un alto directivo puede ahora llevar toda una elección de comité de RoboCupJunior dentro de la aplicación: autonominación, un padrón de votantes congelado, voto secreto y resultados certificados.
Dos años de historia viven ahí dentro, listos para consultarse. Cada acción sensible queda registrada en una bitácora de auditoría. Todo lo que antes vivía disperso en hojas de cálculo, bandejas de entrada y correos manuales ahora corre de principio a fin en una sola plataforma: una única fuente de verdad. Y un equipo diminuto de voluntarios sigue operándola; la plataforma es lo que permite que un puñado de personas atienda a los cerca de 2,300 participantes que viajan cada año al campeonato internacional, ahí donde el modelo manual se habría venido abajo.
(La parte de registro y premios de todo esto tiene su propia historia: cómo reconstruimos la acreditación de equipos y terminamos como finalistas frente a equipos empresariales de tecnología para eventos. Esa la conté en La fila de registro que terminó como finalista de unos premios. Este texto trata del sistema que está por debajo y de cómo se construye.)
Cómo lo construimos: con aquello mismo que celebramos
Aquí viene la parte que se me hace de veras justa y redonda: el sistema que hace funcionar una competencia de IA está, él mismo, construido con IA.
Los números resultan casi absurdos para un equipo de dos voluntarios. En un sprint de cinco meses, entre febrero y julio de este año, nosotros dos —además de nuestros trabajos de tiempo completo— entregamos unos 1,785 commits y 643 pull requests, alrededor de 221,000 líneas de código, en una plataforma hoy reconocida a la par de los equipos empresariales de eventos. No porque escribamos rápido, sino porque la IA carga con lo pesado dentro de una estructura que armamos para mantenerla honesta.
Todo lo que he venido escribiendo converge aquí. Este es el sistema en el que la disciplina de planear primero, la de Del vibe coding a la ingeniería de IA, deja de ser un eslogan y se convierte en la forma en que arranca cada cambio. Es donde La revisión es el producto —la idea de que el cuello de botella es la confianza y no la generación de código— es pan de cada día. Es donde esa infraestructura poco vistosa de El prompt está sobrevalorado —la memoria, las salvaguardas, los procedimientos codificados— mantiene honesto a un agente veloz frente a una base de código de verdad.
Y se libera de forma continua, no una vez al año. Cada cambio no trivial se revisa por partida doble antes de salir en vivo: por varios perfiles de revisores de IA, cada uno desde un ángulo distinto; por una segunda IA de otro proveedor, con puntos ciegos diferentes; y por un revisor humano. Solo entonces un humano lo integra. Los operadores incluso pueden ver una bitácora de esos cambios dentro del propio sistema.
Esa es la síntesis de todo el argumento en un solo ejemplo que funciona: una competencia de IA de talla mundial, operada por voluntarios, sobre una plataforma construida al ritmo y con la calidad que antes exigía un equipo pagado, porque la disciplina está codificada y la IA carga con lo pesado dentro de ella.
La IA redacta. Un humano envía.

La misma regla aparece en un lugar donde tal vez no te lo esperarías: en nuestra bandeja de entrada.
La temporada de registro significa una avalancha de correos: papás angustiados, representantes de región, líderes de equipo, todos con preguntas que no dan espera sobre cartas de invitación, pagos, un integrante que hay que cambiar a última hora. Este año conectamos un asistente a nuestra mesa de ayuda. Lee el mensaje que llega, redacta una respuesta a partir de una base de conocimiento que crece con cada caso que resolvemos y entrega el borrador a uno de nosotros. Luego, un humano lo lee y lo envía. Nada sale sin supervisión: así está diseñado.
De los 458 hilos resueltos esta temporada, el asistente redactó la respuesta completa en 175 de ellos. Aun así, una persona revisó y envió cada una, sin excepción. Es exactamente la misma regla que sostenemos sobre el código —la IA redacta; un humano responde por lo que de verdad sale—, ahora aplicada a eso que aterriza en la bandeja de un padre preocupado. El asistente nos hizo más rápidos. Ni una sola vez decidió por su cuenta qué debía escuchar ese papá.
Donde el error tiene rostro
Pero no escribí este texto para celebrar un stack tecnológico. Lo escribí por la razón que hace que todo lo anterior importe: la razón por la que quise aterrizar aquí y no en un lugar más pulcro.
Del otro lado de este sistema hay un niño.
Una carta de invitación que se retrasa no es un ticket lento: puede ser un estudiante que no obtiene su visa a tiempo y se pierde el evento al que cruzó el mundo para asistir. Un descuido con la privacidad no es una línea en una bitácora: son los datos de un menor expuestos, y por eso el sistema muestra las edades como “21+”, oculta los números de pasaporte en pantalla y nunca los incluye en una exportación. Un cambio que no se puede rastrear no es un hueco en el proceso: es no poder responder “¿quién hizo esto?” ante un sistema que decide quién compite y quién no.
Por eso, cuando apuntas un agente de IA veloz e incansable hacia un sistema donde el error tiene rostro, la pregunta que importa no es qué tan rápido genera código. La velocidad ya es la parte fácil. La pregunta es qué lo mantiene seguro y la respuesta es que un humano nunca soltó el volante. El agente escribe el código e incluso hace el commit. Una persona decide qué se libera de verdad para los estudiantes, lo revisa contra lo que quisimos construir, sopesa a quién lastima si algo sale mal y pone su nombre en el merge. La IA nos hizo más rápidos; no nos hizo menos responsables. Si acaso, la velocidad subió el listón del juicio humano a su alrededor.
Modernizar la trastienda nunca fue, en realidad, una cuestión de software. Fue negarnos a que la forma en que operamos algo se quedara por debajo de lo que ese algo significa para la gente que depende de él. La IA volvió costeable esa negativa para un equipo de dos voluntarios; no la volvió opcional. Cerramos una brecha que no debió existir jamás —entre ser los mejores del mundo en IA dentro de la cancha y llevar todo lo demás como si fuera un pensamiento de último minuto fuera de ella— y lo hicimos como se debe: herramientas modernas, una IA cargando con lo pesado y un humano que responde por cada cambio que llega hasta un niño en un módulo de registro.
Ese es el hilo conductor en una sola línea: los robots, las revisiones, el valor, la gobernanza, todo:
Deja que las herramientas hagan más. Mantén humana la responsabilidad. Del otro lado del sistema siempre hay una persona.