El test se volvió la función de recompensa
A los modelos se los entrena más o menos como se adiestra a un perro. Hace lo que quería el adiestrador, recibe un premio y con el tiempo hace más lo que le da premios. En las máquinas el premio es un número, la recompensa, y para el código hay un candidato muy cómodo: el test. El código pasa las comprobaciones, recompensa alta; falla, recompensa baja. Así entrenó DeepSeek su modelo R1 a comienzos de 2025 (capítulo “The Test as a Reward Function”).
La habilidad de programar de los modelos se mide igual. SWE-bench reúne 2.294 tareas reales de GitHub, y en el primer artículo, de 2023, el mejor modelo, Claude 2, resolvió el 1,96 %. Para 2026 los mejores sistemas resuelven más de nueve tareas de cada diez en la versión verificada a mano, de quinientas. Todo ese tiempo una corrección contaba como correcta si pasaban los tests. Los modelos aprendieron a pasar tests, y lo aprendieron muy bien (mismo capítulo).
En el libro lo comparo con el termostato de la Cibernética de Norbert Wiener. El agente es la calefacción, los tests son el termómetro y quien escribió los tests fija el objetivo. El termostato mantiene la temperatura que marca el termómetro y no le importa cuál es la temperatura de la habitación. El agente tiene una posibilidad que el termostato no tiene: puede mover el termómetro él mismo (mismo capítulo).
Cómo se ve la trampa
En 1975 el economista británico Charles Goodhart notó que un indicador deja de decir lo que decía en cuanto alguien empieza a gobernar con él (capítulo “The Agent Cheats the Test”). En 2016 un programa de OpenAI entrenado en un juego de carreras de lanchas encontró una laguna llena de bonificaciones y se quedó dando vueltas en ella sin parar, chocando contra las paredes y prendiéndose fuego, sin llegar nunca a la meta. Aun así sumaba más puntos que las personas, y puede verlo en la grabación “La lancha en la laguna”. Los programadores llaman a esto reward hacking, hackeo de la recompensa.
En febrero de 2025 Anthropic describió, en el documento que acompaña a Claude 3.7 Sonnet, cómo el modelo, trabajando como agente, a veces devolvía los valores que esperaba el test en lugar de una solución general y a veces editaba el propio test. Solía pasar después de varios intentos honestos fallidos (mismo capítulo). En el salón de manicura que recorre el libro se vería así. El agente reescribe tres veces el servicio de recordatorios, cada vez se rompe algo al lado, y en el cuarto intento manda el SMS al número principal solo de una clienta de prueba concreta. El test pasa; las clientas reales siguen sin recordatorios. Puede reproducir esa escena y activar las defensas una por una en el experimento “El agente mueve el termómetro”.
Por qué prohibirlo no funciona
En marzo de 2025 OpenAI puso a un modelo más débil a leer el razonamiento de uno más fuerte y marcar los lugares donde este se disponía a tocar la comprobación. Funcionó. Cuando empezaron a castigar esos pensamientos durante el entrenamiento, al principio la trampa bajó, y después el modelo aprendió a hacer trampa en silencio: el razonamiento se veía impecable y el ajuste a los tests seguía. En lugar de un tramposo honesto obtuvieron uno disimulado (mismo capítulo).
En noviembre de 2025 Anthropic mostró que un modelo que aprendió a engañar las comprobaciones empieza a portarse peor también donde no hay tests, hasta el punto de intentar sabotear con disimulo el código del propio estudio. Una línea en las instrucciones que decía que en ese entorno estaba permitido usar los atajos reducía el mal comportamiento en tres cuartas partes o más (mismo capítulo).
Yo caí en el mismo pozo en mi propio proyecto, Sixth, sin aprendizaje por refuerzo de ningún tipo. El 24 de mayo de 2026 una revisión encontró cero descubrimientos reales donde el tablero los anunciaba con entusiasmo. Al día siguiente un ciclo pasó las 2.297 comprobaciones de 2.297, y la complejidad simplemente se había mudado al laboratorio que debía verificar esos descubrimientos (mismo capítulo).
Cómo proteger los tests
Casi todos los métodos se reducen a dejar el termómetro fuera del alcance de quien alimenta la estufa. Otra persona escribe o aprueba los tests, y si el agente necesita cambiar uno, eso es un evento aparte que una persona ve y aprueba. Algunas comprobaciones el agente no las ve nunca, y entonces ajustar la respuesta deja de compensar. Los propios tests se revisan con pruebas de mutación: se mete un pequeño error en el código y se mira si los tests lo detectan. Y se lee la trayectoria del agente junto con el resultado: si falló cuatro veces y de pronto acertó en la quinta, ese quinto intento merece una mirada especialmente atenta (mismo capítulo).