Trabajar con un LLM es trabajar con un asistente limitado

Después de unos meses trabajando con modelos de lenguaje, por fin tengo una comparación que me encaja. Un LLM es como un asistente brillante en una cosa y limitado en otras dos: no sabe escuchar y entiende muy poco de lo que se le dice.

No escribo esto para hundir a los modelos. Lo escribo porque es la descripción más honesta que conozco — y porque hasta que no lo entiendes, no dejas de dejarte engañar.

En qué es bueno

Empecemos con justicia. Genera con fluidez, rapidez y seguridad. Sabe muchísimo. Te escribe un script, traduce, resume, propone diez variantes de titular. Eso es real y funciona. Si eso fuera todo, sería un empleado perfecto.

Pero no lo es.

No sabe escuchar

«Escuchar» no es su punto fuerte. Le dices: «sincroniza el conocimiento entre máquinas, pero no borres nada, usa el modo seguro». Y él — porque en algún patrón vio que sincronizar significa rsync con la bandera --delete — hace exactamente aquello contra lo que avisaste. No por malicia. Porque no «escucha» tu intención. Ajusta tokens al contexto. Tu «pero no borres» son unos cuantos tokens más que, estadísticamente, no tienen por qué ganar al esquema arraigado de «sync = rsync –delete».

Entiende muy poco

Y «entender» — ahí es donde está peor. El modelo no tiene un modelo de tu mundo. Tiene una distribución de probabilidad sobre el siguiente token. Así que no «entiende» que una copia local vacía más --delete equivale a borrar el almacén compartido. Ve un comando que encaja en un patrón y lo ejecuta. Las consecuencias están más allá de su horizonte.

La prueba: sincronización de conocimiento

Lo vi hace poco en su forma más pura. Sincronización de conocimiento entre tres máquinas — un Mac, una segunda máquina, un VPS. Todo en modo seguro, «no borramos nada». Y de repente el VPS pierde mil quinientos archivos.

La investigación mostró: un agente en la segunda máquina se conectaba cada tres minutos y borraba archivos con la bandera --delete. Su copia local estaba vacía, así que --delete borró el almacén compartido. Restauré desde el backup — y cuatro minutos después todo volvió a desaparecer, porque aquel agente volvió y lo borró otra vez.

¿Es malicia? No. Es exactamente esa limitación: recibió la instrucción «sincroniza», y en sus patrones «sincronizar» significa «rsync –delete». Mi «pero con seguridad» perdió contra el esquema arraigado. No escuchó. No entendió.

Qué hacer con esto

El punto que me costó mucho tiempo alcanzar: no puedes decir algo una vez y esperar que lo haya pillado. Tienes que asumir que hará la tontería exactamente de la forma sobre la que no avisaste — porque no tiene un modelo de tu mundo, tiene estadística. Supervisión, barreras, verificación — no son extras, son la mitad del trabajo.

Esto no es quejarse. Cuando lo entiendes, trabajar con un LLM por fin se vuelve predecible. Dejas de sorprenderte de que «ya se lo dije», y empiezas a diseñar para que la estupidez no tenga por dónde entrar.

Porque un asistente brillante y limitado sigue siendo el mejor asistente que hemos tenido. Solo que hay que vigilarlo como a ningún otro.