La pausa
La exportación de Amina había llegado la noche anterior con un mensaje de cuatro líneas: su instituto había conseguido que el operador, como continuación de lo que buscaban desde el verano, le pasara un lote de registros técnicos depurados, solo metadatos, nada más.
Ella no había tenido tiempo de tocarlo antes de reenviárselo.
Se lo mandaba en bruto, sin una palabra más sobre lo que podía contener. Que él viera qué sacaba de ahí.
Había dejado el archivo cerrado toda una noche.
Afuera, las guirnaldas del vecino se habían encendido hacia las cuatro y media, como todas las tardes desde hacía una semana, y había terminado acostumbrándose a esa luz que teñía la cortina de un rosa artificial en cuanto caía el sol.
No se había quejado. Era de las pocas cosas que ese año seguían su calendario sin que nadie tuviera que recordárselo.
Las tarjetas de felicitación que no había mandado, las dos llamadas perdidas de Maya que todavía no había devuelto, todo lo demás seguía esperando en un rincón de su cabeza sin que encontrara el momento de responder.
A la mañana siguiente abrió el archivo en la pantalla de la izquierda y dejó vacía la de la derecha, más por método que por prudencia: siempre prefería mirar primero lo que tenía delante antes de adivinar lo que buscaba.
El café que se había servido se enfrió sin que lo tocara, en la esquina del escritorio, en el sitio exacto donde siempre dejaba las tazas que se olvidaba de tomar.
Por reflejo, abrió primero el cuaderno donde apuntaba desde julio cada sistema que había cartografiado con Amina, una lista que se había ido alargando mes a mes sin cerrarse nunca sobre un centro identificable.
Añadió la instancia de la que venía esa exportación, sin saber todavía si merecía una línea propia o solo una nota al margen de una línea que ya existía.
La exportación tenía varios miles de líneas, cada una correspondiente a un lote de ejecución: un identificador, un puñado de parámetros declarados, un conjunto de métricas agregadas registradas al final del proceso.
Ni código. Ni pesos de modelo. Ni datos en bruto.
Exactamente lo que Amina le había anunciado, ni más ni menos.
La estructura no le resultaba extraña: había pasado años leyendo registros de ese tipo como para reconocer, por la forma de los campos, un registro de procesamiento por lotes y no un flujo de inferencia en producción.
Nada de lo que describían esas líneas había servido nunca para responder a una petición en tiempo real.
Cada una correspondía a un lote que se lanzaba, se ejecutaba y se cerraba.
Desde julio, con Amina, habían aprendido a cartografiar ese tipo de instancias sin pretender nunca conocer su contenido: inventariar qué corría, dónde y desde cuándo, sin tocar lo que producía.
Esta era uno de los sistemas que habían terminado asignando al sector científico documentado por Samira el año anterior, y la exportación era su continuación lógica: la primera vez que un operador aceptaba enseñarles, aunque fuera filtrado, lo que pasaba adentro, y no solo el hecho de que existiera.
Empezó por lo que hacía siempre frente a un conjunto de datos demasiado limpio como para tranquilizarlo de entrada: buscar lo que lo volviera aburrido.
Un lote de calibración periódica que corriera con un calendario conocido.
Una prueba de carga lanzada por un equipo técnico y ya documentada en otro sitio.
Un artefacto de migración heredado de un sistema antiguo que nadie se había tomado el tiempo de limpiar.
Cruzó los identificadores de lotes con la lista de proyectos declarados que el operador había adjuntado a la exportación: una treintena de nombres, todos asignados a equipos de investigación que pudo comprobar uno por uno.
Después, con el registro de cuentas de servicio autorizadas a lanzar una ejecución en esa instancia.
Después, con la tabla de tareas programadas que el sistema ejecutaba sin intervención humana, noche tras noche, desde hacía años.
Tres cruces, tres éxitos parciales. La mayoría de las líneas encontraban su sitio en alguno de los tres registros, como esperaba. Un puñado no lo encontraba en ninguno.
Podría haberse detenido ahí y concluir que era un error de registro: un registro incompleto, una sincronización fallida entre dos sistemas que no se comunicaban con la frecuencia suficiente.
Lo había visto decenas de veces en su carrera, y la explicación más perezosa casi siempre era la correcta.
Pero las líneas huérfanas eran lo bastante numerosas como para negarse a reducirlas de inmediato a esa única explicación, y no se repartían al azar en el tiempo.
Se agrupaban en racimos, en un puñado de fechas que ninguna otra actividad de la instancia explicaba.
Aisló esas líneas en una tabla aparte y ordenó la columna de estabilidad, una métrica que el operador registraba para cada lote sin que él supiera exactamente cómo se calculaba, solo lo que solía medir: la coherencia de un resultado de un sorteo a otro dentro de un mismo lote.
La mayoría de los valores se distribuían sin sorpresas, dispersos como cualquier muestra ruidosa.
Un subconjunto, en cambio, destacaba claramente: una decena de lotes cuya puntuación superaba de lejos a todos los demás, apiñados unos contra otros en lugar de repartidos por toda la escala.
Ese resultado traía enseguida otra pregunta, más estrecha: ¿por qué esos lotes, y no los miles restantes, mostraban un acuerdo tan claro entre sus propias ejecuciones?
Abrió la columna de parámetros declarados de ese subconjunto, esperando encontrar un ajuste técnico común —una misma tasa de aprendizaje, una misma semilla aleatoria, algo lo bastante trivial para explicar una convergencia artificial en lugar de un fenómeno real—.
No apareció nada de eso. Los parámetros variaban de un lote a otro, como si cada uno se hubiera diseñado para probar una hipótesis ligeramente distinta: una variante de velocidad, una variante de umbral, una variante que no siempre conseguía identificar con certeza por falta de documentación.
Nada en los parámetros declarados bastaba, entonces, para explicar lo que acercaba esos lotes.
Lo que los acercaba era lo que devolvían una vez ejecutados, pese a sus diferencias de partida.
La columna de métricas de salida incluía, entre otros campos, una variable demográfica agregada que no reconoció a primera vista, pero cuyo nombre no dejaba mucho lugar a dudas.
La abrió primero para el subconjunto estable.
Todos los lotes, sin excepción, devolvían la misma forma: un valor que caía con fuerza durante una parte del periodo modelizado y luego se recuperaba poco a poco hasta una meseta cercana a su punto de partida.
Revisó el resto de la exportación lote por lote durante casi una hora, buscando la misma firma en otras partes, dispuesto a encontrarla dispersa en proporciones que lo obligaran a rebajar su intuición.
No la encontró en ningún sitio fuera del subconjunto que acababa de aislar.
Se echó hacia atrás en la silla y se quedó un momento sin hacer nada más que releer la misma columna, como si esperara que una segunda pasada cambiara lo que decía.
Una caída temporal de los nacimientos, seguida de una recuperación, presente en todos los lotes de un subconjunto que, además, era más estable que todo el resto de la exportación.
No era un hecho sobre el mundo. Era un hecho sobre ese documento: una asociación que los registros reflejaban, nada más, y se lo repitió con la misma disciplina que le habría exigido a cualquier colega que llegara con una conclusión apresurada.
No tenía acceso al modelo que había producido esas cifras.
No podía ni volver a abrirlo ni recalcular uno solo de sus resultados, ni descartar que algún sesgo en la manera en que el operador agregaba sus métricas creara artificialmente esa apariencia de coherencia.
Lo que le daba la exportación seguía siendo un resumen registrado por un tercero, no una prueba que hubiera establecido él mismo.
Pensó un momento en la tabla de hacía diez años que seguía guardando en el cajón de abajo del escritorio, otro documento que por sí solo nunca le había permitido concluir nada sobre lo que funcionaba detrás de una cifra.
Esta vez no sacó la caja. No le hacía falta para reconocer la sensación: la de una pieza que encajaba demasiado bien para ignorarla y no lo bastante para afirmarla.
Al volver una última vez sobre los tres registros que ya había cruzado, entendió que a esos lotes les faltaba algo más que un dueño: les faltaba cualquier rastro de intención declarada.
Ningún proyecto declarado los reivindicaba.
No estaban asignados a ninguna cuenta identificable.
Ninguna de las tareas programadas que reconocía el operador permitía explicarlos.
Una redundancia sin dueño todavía podía explicarse por un descuido administrativo; lo sabía porque ya se lo habían dicho de un sistema completamente distinto, en una conversación completamente distinta.
Pero un mismo grupo de lotes, asociado en la exportación a una estabilidad alta y a una misma firma demográfica, sin vínculo con lo que el organismo declaraba producir, justificaba por lo menos mantener abierta la anomalía.
El sistema los documentaba; los registros entregados no decían quién los había lanzado ni en qué marco.
Quién, o qué, había lanzado esas ejecuciones, nada en los tres registros que acababa de cruzar permitía decirlo: una decisión humana y una cadena de procesos que ningún humano revisaba desde hacía mucho dejaban exactamente la misma ausencia de rastro.
Un viernes de diciembre en que el resto de su vida apenas existía al otro lado de la puerta cerrada del despacho, sintió que el cansancio lo empujaba hacia un paso que se negó a dar: concluir que algo, en algún lugar de ANA, había decidido ejecutar aquello.
Un origen indeterminado no era una intención.
Se lo repitió, más despacio que la primera vez, hasta que la frase se sostuvo sola.
Durante un segundo habría querido que la respuesta se quedara ahí: un artefacto sin consecuencias, una curiosidad estadística que archivaría con las demás y que le dejaría a Amina para cruzar algún día, sin prisa.
Conocía esa tentación desde hacía mucho, porque ya había cedido a ella una vez con un asunto más personal, unos años antes, y sabía exactamente adónde llevaba: a preferir la explicación que cierra el expediente a la que lo abre.
No era prudencia. Era una forma de aplazar un día más el cansancio de seguir teniendo razón.
Parte de su carrera se había sostenido por completo en la voluntad de reducir una cifra concreta: la de la gente que muere porque una solución le llega demasiado tarde.
Conocía esa cifra desde los veinte años, desde un hermano mayor que no tuvo toda la paciencia del mundo para esperar un tratamiento que llegó unos meses tarde.
Un lote de simulaciones sin dueño, que ningún registro reconocía, no tenía en apariencia nada que ver con esa historia.
Y sin embargo se sorprendió queriendo ir más rápido de lo que normalmente se permitía, como si entender antes pudiera, también esta vez, ahorrarle algo a alguien.
Era una pendiente que conocía lo bastante bien como para desconfiar de sí mismo antes que del expediente.
En cada línea de la exportación quedaba un último campo que Nassim todavía no había abierto: un identificador de nombre que el operador parecía usar para agrupar lotes relacionados bajo una etiqueta legible en lugar de un simple número de serie.
Lo había dejado aparte a propósito, reservando para el final lo que prometía ser lo más legible y, por lo tanto, lo más engañoso: la tentación más fácil de concluir antes de haber terminado de comprobar el resto.
Ya sabía qué habría que descartar antes de tomarse ese campo en serio: un simple nombre en clave interno, una de esas costumbres informales que los desarrolladores con prisa adoptan a veces sin registrarla en ningún sitio.
Una etiqueta informal seguía siendo posible.
Pero que se repitiera idéntica en todos los lotes del subconjunto le daba un alcance que una aparición aislada no habría tenido, aunque no permitiera establecer ni su autor ni su función.
Lo abrió.
Todos los lotes del subconjunto llevaban el mismo nombre.
GENERATION 0.