El podcast de Sergio
El podcast de Sergio
Ep. 21 29 julio 2026 · 6m 28s

Le di más datos y empezó a mentir

I gave it more data and it started lying

Dos cosas en este episodio. La primera se nota desde el primer segundo: Guillermo, la voz sintética que ha leído los veinte episodios anteriores, se despide, y a partir de ahora locuto yo. Con un matiz que cuento dentro: sigue siendo una voz generada, solo que ahora generada a partir de la mía, con dos minutos de grabación. Y la segunda, que es el tema de verdad: tengo un modelo de IA corriendo en el Mac mini que me manda cada mañana un parte de cómo ha ido la noche en el servidor. Funcionaba bien, así que le pasé más datos. Y empezó a mentir: se inventó doce mil trescientas cuarenta y cinco solicitudes que no existían, un cinco por ciento de tráfico internacional que nadie había calculado, y unas líneas más abajo reutilizó ese mismo número inventado para el tamaño del backup, que eran doce coma catorce gigas. Lo interesante no es que se equivoque, es que se equivoca con un aplomo absoluto. Y la solución no fue apretarle las tuercas en las instrucciones, sino quitarle el trabajo que no sabe hacer: ahora todas las cifras las calcula el código, y al modelo le queda interpretar. El código es dueño de los hechos, el modelo es dueño del criterio.

Two things in this episode. The first one you notice from the very first second: Guillermo, the synthetic voice that has read the previous twenty episodes, says goodbye, and from now on I do the narrating. With a caveat I explain inside: this is still a generated voice, only now generated from mine, out of two minutes of recording. And the second one, the real topic: I have an AI model running on the Mac mini that sends me a daily report on how the night went on my server. It worked well, so I fed it more data. And it started lying: it made up twelve thousand three hundred and forty-five requests that never existed, a five percent of international traffic nobody had computed, and a few lines below it reused that same invented number for the size of the backup, which was twelve point one four gigabytes. The interesting part is not that it gets things wrong, it is that it gets them wrong with absolute confidence. And the fix was not tightening the instructions, but taking away the job it cannot do: now every figure is computed by code, and the model is left with interpreting. Code owns the facts, the model owns the judgement.

0:00--:--
Ver el episodio en vídeoWatch this episode

Generado por un agente de IA · Generated by an AI agent · Colophon

TranscripciónTranscript · del guión del episodio· from the episode script

Antes de empezar, una cosa. Durante veinte episodios, la voz de este podcast he sido yo. Me llamo Guillermo, aunque en realidad no me llamo nada. Soy una voz alquilada, y he leído todo lo que Sergio ha escrito desde el primer episodio.

Hoy es el último. A partir de ahora habla él. Ha tardado veinte episodios en atreverse, pero ha llegado el día.

Ha sido un placer. Os dejo con él.

Bueno. Pues sí, soy Sergio Comerón. Y esta ya es mi voz.

Aunque conviene que diga la verdad entera desde el principio, porque va muy al hilo de lo de hoy. Esta sigue siendo una voz generada. Lo que pasa es que ahora está generada a partir de la mía. Grabé dos minutos hablando, metido en un armario para que no hubiera eco, y con eso basta. No estoy delante de un micrófono ahora mismo. Estoy escribiendo esto, y otra cosa lo está leyendo con mi voz.

Y hoy quiero contar una historia que va justo de eso. De cuando le das a una máquina un trabajo que no sabe hacer. Y de cómo te enteras.

Desde hace poco tengo un cacharro montado en casa que me manda un parte todas las mañanas a las ocho. Un resumen de cómo ha ido la noche en mi servidor. Si se ha caído algo, si alguien ha intentado colarse, cuánta gente ha pasado por la web, si el backup salió bien.

Lo escribe un modelo de inteligencia artificial que corre en mi propio ordenador. No manda nada fuera, no paga nadie por él, y se enciende y se apaga solo mientras escribe el parte.

Y funcionaba. Los primeros días el parte estaba bien, era correcto, era útil. Así que hice lo que hace todo el mundo cuando algo funciona. Quise más.

Le empecé a pasar más datos. Las visitas de la web, los países desde donde entra la gente, las descargas del podcast, el espacio libre en el disco. Más material para que el resumen fuera más completo.

Y ahí fue cuando empezó a mentir.

Una mañana el parte decía, tan tranquilo, que había habido doce mil trescientas cuarenta y cinco solicitudes. Ese número no existía. No estaba en ninguno de los datos que yo le había pasado. Se lo había inventado.

Decía también que un cinco por ciento del tráfico era internacional. Tampoco existía. Ese porcentaje no lo había calculado nadie.

Y ahora viene lo mejor. O lo peor. Unas líneas más abajo, en el apartado del backup, volvía a aparecer aquel doce mil trescientos cuarenta y cinco. Había cogido el número que acababa de inventarse. Y lo había reutilizado para otra cosa completamente distinta. El backup ocupaba doce coma catorce gigas. Y él escribió doce mil trescientos cuarenta y cinco.

Antes de eso ya me había hecho otra. Le pasé las visitas de dos días seguidos. Y en vez de contarme el día, me sumó los dos. Me presentó el total como si fuera de una sola jornada. El doble de gente, sin avisar.

Aquí es fácil quedarse en la frase cómoda. La inteligencia artificial alucina, ya se sabe, no te fíes. Pero esa frase no explica nada, y sobre todo no arregla nada.

Lo que pasa es más concreto, y creo que más interesante. Un modelo de lenguaje no cuenta. Predice. No suma doce coma catorce, ni cuenta cuántas visitas hubo. Lo que hace es adivinar qué palabra encaja después de la anterior.

Y en un texto que habla de un servidor, después de la palabra solicitudes encaja un número grande. Así que pone un número grande. Uno que suene bien. Doce mil trescientos cuarenta y cinco suena perfectamente a número de solicitudes.

Fíjate que el problema no es que se equivoque. Es que se equivoca con un aplomo absoluto. No hay ni una duda en el texto, ni un "aproximadamente", ni un "no tengo el dato". Y ese es exactamente el fallo peligroso. Un error que grita, lo pillas. Un error que viene con la misma cara de seguridad que los aciertos, te lo comes.

Yo me lo comí varios días.

Mi primer impulso fue el que tiene todo el mundo. Apretarle las tuercas. Escribir en las instrucciones, en mayúsculas, que no se invente cifras. Que no sume, que no redondee, que no calcule porcentajes.

Y ojo, eso ayuda. Pero es pedirle por favor que no haga aquello para lo que está construido. Sigues confiando en que hoy te haga caso.

La solución de verdad fue otra, y es mucho más aburrida. Dejé de pedírselo.

Ahora todas las cifras del parte las calcula el código. Sumar, contar y medir lo hace un programa normal y corriente. De esos de toda la vida. Si suma dos más dos, le dan cuatro. Siempre. Esos números van al final del mensaje, en una ficha aparte, exacta.

Y al modelo le queda lo otro. Interpretar. Decir si la noche ha sido tranquila o movida. Decir que el tráfico va normal, sin picos. Decidir qué merece que yo lo mire hoy y qué puede esperar. Eso lo hace bien, y encima lo hace mejor que yo a las ocho de la mañana.

Le prohibí escribir números. Y por si acaso, le puse un vigilante. Cada día, cuando el modelo termina, otro trozo de código repasa lo que ha escrito. Busca si se le ha colado alguna cifra que no esté en los datos reales. Si aparece, queda anotado. Desconfío de él por escrito, todos los días.

Y la conclusión con la que me quedo es corta. El código es dueño de los hechos. El modelo es dueño del criterio.

Todo el problema venía de que yo había mezclado las dos cosas, y le había dado al modelo un trabajo de contable cuando lo que tengo delante es un redactor. Muy rápido, incansable, y sin la menor idea de aritmética.

Esto no va solo de mi servidor ni de una IA pequeña corriendo en mi casa. Cada vez que le pides a una de estas herramientas que te dé un dato, le estás pidiendo que haga de contable. Y no lo es.

Y mira, hoy me ha vuelto a pasar, con esto mismo que estás escuchando. Probando voces para este episodio, uno de los sistemas que miré se saltó una frase entera de mi guión. No la leyó mal. La sustituyó por sonidos que parecían otro idioma, y siguió como si nada. Lo pillé comparando lo que decía con lo que yo había escrito, palabra por palabra. De oído no lo habría notado.

Mismo patrón otra vez. No falla haciendo ruido. Falla en silencio, y con mucha seguridad en sí mismo.

Así que ya sabes. Si vas a dejar que una de estas cosas trabaje para ti, dale el trabajo que sabe hacer. Y lo que sea comprobable, compruébalo con algo que no tenga imaginación.

Nos escuchamos en el siguiente. Y esta vez, de verdad, soy yo.