En 1989, dos personas escribían programas que generaban lenguaje a partir de la estructura y no del significado. Una era Tim Berners-Lee, que ese año hizo circular un memorando titulado Information Management: A Proposal — el documento que se convertiría en la World Wide Web. La otra era un profesor en un pasillo de Medellín, que escribió cien líneas de Turbo Prolog para burlarse de sus colegas.

Del segundo sí sabía. Del primero me enteré después, como todo el mundo. Pero los dos estaban más cerca en espíritu de lo que sugiere la distancia entre Ginebra y la Universidad de Antioquia. Ambos apostaban a que, si acertabas con las relaciones —entre documentos, entre palabras—, el contenido se cuidaría solo. Una apuesta construyó el internet moderno. La otra terminó clavada en una cartelera de corcho, leída por gente que nunca se dio cuenta de que el chiste era ella.


I. El pasillo y la cartelera

El profesor Fabián Ríos lo construyó en el primer computador del Departamento de Ingeniería de Sistemas — un PC NEC, de esos que arrancaban desde un disquete y medían su memoria en kilobytes. Turbo Prolog, el producto de Borland de 1986, corría sobre MS-DOS sin módulos, sin Unicode, sin ninguna de las comodidades que un programador de hoy da por sentadas como da por sentada la electricidad.

El programa hacía una sola cosa. Demostraba una única meta encadenando unos diez predicados, cada uno de los cuales llamaba a una función aleatoria para elegir entre una decena de opciones. Diez columnas, diez opciones cada una, concatenadas en un párrafo de prosa digna, de sonoridad institucional. La salida iba firmada por Nefasto Bocazza — un nombre derivado, con el cariño de un insulto, de la máquina NEC sobre la que corría.

Luego venía el segundo acto, que es la parte que adoro. El profesor Roberto Flores imprimía los discursos y los pegaba en la cartelera de la facultad. Y los profesores los leían. Catedráticos atareados se detenían en el pasillo, recorrían un párrafo de las proclamas de Nefasto, asentían y seguían de largo. La sátira funcionaba no porque el texto fuera ingenioso, sino porque el edificio ya estaba lleno de un lenguaje idéntico — grandilocuente, ornamentado, recursivo y que no decía casi nada. Cien líneas de Prolog habían revelado que buena parte del habla académica era, estructuralmente, columnas con elecciones al azar.

Debo ser honesto sobre mi propio papel en esta historia, que es sobre todo el de un desertor. Abandoné Prolog. Tenía que sobrevivir, así que me pasé a Turbo Pascal y Turbo C y, con el tiempo, a algo llamado SQL. El código original de Nefasto se perdió. El profesor Ríos recuerda que era “muy sencillo” y ya no recuerda la forma exacta de la función aleatoria ni del operador de concatenación. Eso también es parte de la lección: la cosa era tan liviana que casi no dejó rastro.


II. Lo que cabía en 1989

Vale la pena recordar la caja en la que esto corría, porque la caja es el argumento. El NEC era un 8086 o un 80286, a una velocidad de entre 4 y 12 MHz. Tenía 640 KB de memoria convencional — y la barrera de los 640 KB no era una figura retórica sino un muro contra el que uno chocaba y maldecía. El almacenamiento eran disquetes, quizá un disco duro de 20 MB. La pantalla era monocromática o CGA de cuatro colores. No había internet, ni red, ni coprocesador, ni noción alguna de una “nube” a la que delegar lo difícil.

El software era igual de austero. Turbo Prolog no tenía findall/3, ni setof/3, ni biblioteca estándar para cadenas. Las tildes del español exigían codificación ASCII creativa u omisión silenciosa. El depurador era trace y spy. No había control de versiones, ni gestor de paquetes, nada que instalar. Escribías la gramática, ejecutabas la meta, obtenías el discurso.

Pongamos eso frente a un modelo de frontera en 2026: un entrenamiento que consume megavatios-hora repartidos en miles de GPU, billones de tokens de todo el registro escrito más suplemento sintético, una sola pasada hacia adelante que realiza más aritmética que la que el NEC habría hecho en toda su vida útil. La brecha en recursos es astronómica. La brecha en utilidad para la tarea concreta —generar discurso institucionalmente verosímil para burlarse del discurso institucional— es prácticamente cero. Nefasto lo hacía en milisegundos sobre 640 KB. Es la respuesta correcta a la pregunta que le hicieron.


III. Lógica, no probabilidad

El renacimiento —intenté revivirlo en github.com/contento/nefasto— usa SWI-Prolog y gramáticas de cláusulas definidas para generar narrativas de tres actos: un personaje atraviesa planteamiento, complicación y desenlace, tomando palabras de diccionarios específicos de cada perfil. Una gramática no es más que un conjunto de reglas de reescritura que describen qué oraciones son válidas. El motor de Prolog encuentra una derivación que satisface las reglas, y esa derivación es el texto. Hay doce perfiles de discurso —político, académico, jurídico, conspirativo, motivacional, pasivo-agresivo, etcétera—, cada uno un vocabulario distinto vertido en la misma gramática.

Tomemos el perfil karen — prepotente, exigente, obsesionado con la queja, su personalidad entera comprimida en una lista de palabras. Se invoca desde la línea de comandos:

swipl -l src/main.pl -- --lang en --profile karen --seed 42

y devuelve historias de tres actos como estas:

once Patricia arrived in the restaurant . then Patricia suggested the refund . finally Patricia cautioned .
once Karen arrived in the newspaper . then Karen harmed the investment . finally Karen threatened .
once Brenda arrived in the television . then Brenda escalated the expectation . finally Brenda demanded .

La gramática es rígida y visible —arrived in, then, finally— y el vocabulario hace el resto: manager, complaint, unacceptable, refund, lawsuit, demand, threat. Mantén --seed 42 y obtienes exactamente estas frases, en cualquier máquina, para siempre; cámbiala y obtienes un conjunto distinto pero igual de válido. Sustituye --profile karen por --profile legal y los mismos tres actos salen con la cadencia de un contrato. Nada se entrenó. La personalidad es un diccionario.

Es un tipo de máquina distinto de un modelo de lenguaje, y la diferencia no es el tamaño. Es la dirección. Una gramática codifica validez; un modelo codifica probabilidad. Nefasto nunca se pregunta qué palabra es más probable a continuación. Se pregunta si existe una palabra que satisfaga las restricciones y, de haberla, elige una. Misma semilla, misma salida — sin temperatura, sin muestreo, nada estocástico. Cada elección es un predicado que puedes leer. No hay espacio latente, ni capa oculta, ni representación que tengas prohibido inspeccionar. Y no necesita dato alguno: ni corpus, ni ajuste fino, solo una gramática y un diccionario. Cambiar el perfil cambia la voz sin tocar la estructura — esa separación entre lo que se dice y cómo se construye que los LLM solo logran después del entrenamiento, mediante el prompting. Prolog la logra en tiempo de diseño, a propósito.

He escrito en otra parte sobre por qué la IA simbólica y la estadística hoy se necesitan, y no voy a repetir esa comparación. Aquí el punto es más estrecho y más viejo: el enfoque simbólico nunca fue superado. Fue desbordado en escala. No es lo mismo. Una herramienta que resuelve limpiamente un problema pequeño no se vuelve incorrecta porque alguien construya una herramienta mayor que también lo resuelve.


IV. El bricoleur y el ingeniero

Claude Lévi-Strauss, en El pensamiento salvaje, distingue entre el ingeniero y el bricoleur. El ingeniero trabaja desde primeros principios y adquiere exactamente los materiales que un diseño exige. El bricoleur trabaja con lo que tiene a mano —un conjunto cerrado y finito de retazos y sobras—, recombinándolos en lo que el momento pida. Lévi-Strauss lo planteaba como modelo del pensamiento mítico, pero describe a Nefasto a la perfección. Diez columnas, diez retazos cada una, recombinados en discurso. El bricoleur no necesita los recursos del mundo; necesita un buen inventario y olfato para la combinación.

Robert Kowalski le dio a esa misma idea una forma precisa en 1979: Algorithm = Logic + Control. La lógica —lo que es verdadero, lo que es válido, la gramática y los predicados— es separable del control, la estrategia con la que una máquina busca una respuesta. Cambia uno sin perturbar el otro. Nefasto es esa ecuación convertida en chiste: la lógica es un puñado de hechos sobre cómo armar una oración, el control es la resolución de Prolog, y puedes reescribir el vocabulario el día entero sin reescribir el motor.

Un modelo entrenado funde esa distinción. Su lógica y su control son los mismos miles de millones de pesos, congelados juntos, inseparables. No puedes agregarle una regla en una línea. Le agregas comportamiento ajustándolo o con prompts, cada cosa con efectos secundarios que descubres más tarde. El inventario del bricoleur es editable. El monumento del ingeniero, no.


V. El nombre de la rosa

Guillermo de Baskerville, el franciscano de El nombre de la rosa de Umberto Eco, resuelve una serie de asesinatos en una abadía medieval con Aristóteles, observación y deducción. Sin laboratorio, sin base de datos, sin oráculo. La biblioteca de la abadía es la mayor de la cristiandad — un laberinto de salas, pasadizos ocultos y libros prohibidos, un sistema vasto y opaco. El método de Guillermo es el pequeño: la razón aplicada a lo que puede ver y leer.

Y el giro más cruel del libro es que su método funciona, pero el patrón que halla no es el que buscaba. Buscaba una cadena racional de causas y encontró una red de contingencia y obsesión. La lógica era sólida; la realidad, más sucia. Esa es la forma honesta del enfoque simbólico. Empiezas con un modelo de cómo funcionan las cosas, derivas consecuencias paso a paso, cada paso es rastreable, y cuando falla sabes exactamente qué regla corregir. El enfoque estadístico es la biblioteca misma: empiezas con un montón enorme de observaciones, dejas que el buscador de patrones haga lo suyo, y aceptas una salida fluida y a menudo correcta que no puedes explicar del todo ni reparar con facilidad.

Guillermo gana porque la abadía tiene el tamaño justo para un fraile con un tratado de lógica. Un solo edificio, un puñado de muertes, un mundo cerrado. Si el problema fuera “predecir la siguiente palabra en cualquier idioma dado cualquier contexto”, harían falta la biblioteca, no el fraile. Nefasto es Guillermo. Un modelo de lenguaje es la biblioteca. Ambos son reales, ambos son válidos, y el único error es creer que uno vuelve obsoleto al otro.

“Nunca he dudado de la verdad de los signos, Adso; son lo único que el hombre tiene para orientarse en el mundo. Lo que yo no entendía era la relación entre los signos y aquello que designan.” — Guillermo de Baskerville

Los profesores de aquel pasillo, en 1989, leían los signos y confiaban en ellos. Nunca dudaron de la relación entre el discurso y aquello que designaba — que era nada. Cien líneas de Prolog conocían el secreto antes que cualquiera de nosotros.


Lecturas recomendadas