Contenido del post
Hace unos años, programar significaba pelearse con un lenguaje que no perdonaba. Un punto y coma fuera de sitio, una llave sin cerrar, un tipo de variable equivocado, y el programa no compilaba. La máquina no entendía tus intenciones. Solo entendía lo que escribías exactamente como lo escribías.
Esa rigidez no era un fallo, era una elección de diseño. Los lenguajes de programación pertenecen a una familia que llamamos lenguajes formales. Comparten ese rasgo con la lógica matemática, el álgebra, la notación química o el ajedrez. Lo que los define es una arquitectura muy precisa: un alfabeto cerrado de símbolos, una gramática que dicta exactamente cómo pueden combinarse, y un conjunto de fórmulas bien formadas que son las únicas válidas. Todo lo demás, queda fuera del lenguaje. Lo curioso es que un lenguaje formal puede existir sin que sus símbolos signifiquen nada. La sintaxis es suficiente; la semántica es opcional. Es decir, lo que hace que una frase sea correcta en un lenguaje formal no es lo que dice, sino cómo está construida.
El idioma que hablamos a diario funciona al revés. Las palabras tienen muchos significados, las frases dependen del tono, del momento, de quién las dice y a quién se las dice. «¿Me puedes pasar la sal?» no es una pregunta sobre tu capacidad motriz, aunque literalmente lo sea. El español, como cualquier lengua, no fue diseñado por nadie: emergió en el uso, en la mezcla, en el contacto entre generaciones. Sus reglas se describieron mucho después de que la gente ya hablase. Es lo que llamamos un lenguaje natural, y tiene rasgos que un lenguaje formal no puede tener. La relación entre la palabra y lo que designa es arbitraria (no hay nada en el sonido «perro» que se parezca a un perro, y de hecho en otros idiomas se llama de forma completamente distinta). La gramática es productiva: con un número finito de reglas se pueden generar infinitas frases que nadie ha dicho nunca. Y se puede mentir, ironizar, ser ambiguo a propósito, hablar del propio lenguaje, decir cosas que significan lo contrario de lo que parecen decir. Todo lo que en un lenguaje formal sería un error de compilación, en uno natural es lo que lo hace humano.
La diferencia más profunda es que en un lenguaje formal el significado depende solo de la forma. En un lenguaje natural depende del contexto. La misma frase, dicha por dos personas distintas, en dos momentos distintos, puede significar dos cosas distintas, y ambas pueden ser correctas.
Dos mundos, dos disciplinas
Por eso, durante décadas, el mundo se dividió entre los que hablaban a personas y los que hablaban a máquinas. Los primeros disfrutaban del lujo de la ambigüedad: una palabra podía significar tres cosas y quien escuchaba ya rellenaba el resto. Los segundos vivían en la disciplina de la exactitud. Entre los dos mundos había traductores: programadores que tomaban lo que un humano quería y lo convertían en algo que una máquina pudiera ejecutar.
Esa frontera se está disolviendo. Y lo está haciendo desde un lado inesperado. No es que las personas hayan aprendido a hablar como máquinas. Es que las máquinas han empezado a entender cómo hablan las personas. Lo notable de esto, lo que casi nunca se nombra, es que una IA no elimina la ambigüedad del lenguaje natural. La interpreta. Hace lo que hacemos nosotros cuando escuchamos a alguien: rellenar lo que no se ha dicho, decidir entre interpretaciones, asumir el contexto que falta. La novedad es que las máquinas están aprendido a soportar la ambigüedad.
Plantillas donde antes había prosa
Y sin embargo, justo ahora, internet está lleno de guías sobre cómo escribir el prompt perfecto. Cursos, plantillas, esquemas con bloques etiquetados (rol, contexto, tarea, formato, restricciones) como si estuviéramos volviendo a inventar una sintaxis donde antes había prosa. Hay algo curioso en eso. La herramienta que se diseñó para entender el lenguaje natural está siendo abordada como si fuera otro lenguaje formal más, con sus convenciones y sus dogmas. Como si no soportáramos la idea de que basta con explicarse bien.
El impulso no es nuevo. Desde finales de los años cincuenta, Noam Chomsky ha sostenido que el lenguaje humano es, en el fondo, una estructura formal: una gramática universal cableada en el cerebro de nuestra especie, que basta con descubrir para entender cómo hablamos todos. Si Chomsky tuviera razón, formalizar prompts tendría algún sentido, porque estaríamos accediendo a esas reglas profundas. Pero hay otra tradición, menos cómoda y a mi juicio más interesante, que dice exactamente lo contrario. Tom Wolfe la defiende con mordacidad en El reino del lenguaje, apoyándose en el trabajo del antropólogo Daniel Everett con los pirahã, una tribu amazónica cuya lengua se resiste a las reglas que supuestamente debían ser universales. Para Wolfe y Everett, el lenguaje no es un órgano biológico. Es un artefacto. Una herramienta cultural que aprendemos, usamos y transformamos en el camino. No descubrimos sus reglas profundas: las inventamos, las heredamos, las cambiamos cada vez que hablamos.
Si el lenguaje funciona así, formalizarlo no tiene mucho recorrido. Lo que hace que una frase funcione no está en su estructura, está en quién la dice, a quién, cuándo y por qué. Eso ninguna plantilla lo captura. Las máquinas no entienden el lenguaje natural porque alguien haya logrado formalizarlo del todo. Lo entienden porque han aprendido a tolerar lo que no se puede formalizar. Y ahí estamos nosotros, casi por reflejo, intentando volver a meterlo en cajas.
Hace tiempo escribí sobre un experimento que hicimos Iria y yo cuando decidimos hacernos los tontos frente a la ingeniería de prompts. Escribíamos pequeñas historias: la mañana de una persona, sus rutinas, sus frustraciones, sus compañeros. Y al final pedíamos una aplicación que le facilitase el día. Sin estructura, sin plantilla. Los resultados eran sorprendentemente buenos. En su momento lo viví como un acto de experimentación, como un intento de romper los dogmas que muchos usuarios proclamaban en LinkedIn. Pero lo que había detrás era intuición. Habíamos entendido, sin formularlo, que si la herramienta entendía el lenguaje natural, lo que tocaba era usarlo bien.
Qué claridad sobrevive
La pregunta interesante no es si tiene sentido seguir formalizando los prompts. Es qué tipo de claridad sigue siendo necesaria y cuál se está volviendo prescindible. Porque algo de claridad sigue haciendo falta. Un prompt malo da peor resultado que uno bueno. Eso no se discute. Pero lo que define un buen prompt no es la sintaxis, ni el orden de los bloques, ni el número de ejemplos. Lo que define un buen prompt es lo mismo que define un buen mensaje a una persona: que la idea esté clara, que las expectativas estén dichas, que los límites se hayan pensado.
Y aquí la cosa se vuelve incómoda. Porque si lo que toca aprender no es a escribir prompts sino a expresarse con claridad, entonces la habilidad relevante no es técnica. Es la misma que hace falta para hablar con un colega, dar una instrucción a un equipo, redactar un brief. La IA no nos pide aprender un idioma nuevo. Nos pide volver al de siempre, usado con cuidado.
No escribir prompts, conversar
Ya prácticamente no escribo prompts. Lo que hago es conversar antes de la formalización de lo que voy a pedir. Antes de solicitar nada concreto a una IA, me siento con ella y exploro: contrasto puntos de vista, tanteo límites, dejo que las contradicciones aparezcan, descarto enfoques que al verlos formulados ya no me convencen. La conversación funciona como un espacio donde la idea se afina. Solo al final, cuando creo que tengo claro lo que quiero, le pido a la IA que tome todo eso y redacte un prompt para entregárselo a otra IA. La formalización ocurre, pero ya no la hago yo.
En algunas ocasiones, cuando he pedido esa formalización, sorprendentemente, he recibido la siguiente respuesta: «No hace falta generar esas instrucciones para dárselas a Claude Code, ya me encargo yo de hacerlo».
Lo interesante de este método no es el método en sí. Es lo que revela sobre dónde se ha desplazado la exigencia. Lo que sigue siendo difícil, lo que no se puede delegar, es lo que pasa antes: pensar con suficiente claridad como para que la conversación tenga algo que afinar. Llegar al diálogo sabiendo qué quieres explorar. Distinguir, en el flujo de respuestas, qué amplía la idea y qué la diluye. Saber cuándo insistir y cuándo dejar que el camino se desvíe. Eso no es prompt engineering. Eso es pensar.
La exigencia que no se delega
Cuanto mejor entiende la IA el lenguaje natural, más valioso se vuelve el lenguaje natural bien pensado. Este proceso nos devuelve a una exigencia más antigua: saber qué queremos decir. Y esa exigencia se aplica igual a cualquier interlocutor. Una persona que se expresa con vaguedad obtendrá respuestas vagas, de la IA y de un compañero al que le explica un encargo a medias. Una persona que llega con la idea afilada obtendrá respuestas afiladas, en ambos casos.
Ahora hay que estructurar el pensamiento. Y estructurar el pensamiento es una exigencia más antigua y más difícil que cualquier lenguaje de programación. Es lo que llevamos siglos pidiéndole a la prosa, a los oradores, a cualquiera que haya tenido que hacerse entender. La IA ha vuelto inevitable esa exigencia.
Cuando pienso en cómo será programar dentro de unos años, no imagino más formalización. Imagino menos. Imagino que lo único que quedará será conversar bien.
–
Sígueme en LinkedIn para estar al tanto de nuevas publicaciones.
–
Referencias:
https://es.wikipedia.org/wiki/Lenguaje_formal
https://es.wikipedia.org/wiki/Lengua_natural
https://en.wikipedia.org/wiki/Tom_Wolfe