El concepto de ‘prompt’ hace referencia a las instrucciones que se escriben para hacer una consulta a un ‘chatbot’ como ChatGPT o crear una imagen con una IA generativa de imágenes. Lo que muchos usuarios no saben es que a través del ‘prompt’ le están dando una orden a un ‘transformer’. Pero en este caso no se trata de uno de esos robots que pueden adoptar la forma de un avión o un guepardo mecánico, sino de una herramienta más versátil y potente con la que debemos aprender a hablar para que nos ofrezca los mejores resultados.
La arquitectura ‘transformer’ es una tecnología que utiliza los llamados ‘mecanismos de atención’ para decidir a qué palabras prestar más atención al procesar textos, lo que le permite analizar contextos y significados de manera similar a como lo hacen los humanos. Los ‘transformers’ están detrás de los grandes modelos de lenguaje (LLM) que, a partir del gran repositorio de datos con el que han sido entrenados y con la ayuda del ‘prompt’ o comando que les introduce el usuario, pueden generar un texto coherente o responder preguntas de manera natural, traducir y resumir la transcripción de un evento, o crear una imagen o una pieza musical que no existía hasta ese momento. Eso es precisamente lo que significan las siglas de GPT, el modelo que está detrás de ChatGPT: ‘transformer’ generativo preentrenado.
Sin embargo, precisamente por el volumen de datos con los que son entrenados y por su naturaleza aleatoria, estos modelos pueden ofrecer una enorme variedad de resultados. Así pues, ¿Cómo hablarle a la tecnología? ¿Cómo darle instrucciones de manera precisa para que el resultado entregado se parezca al buscado?
Estas son algunas de las principales tácticas de creación de ‘prompts’ (la conocida como ‘prompt engineering’ o ingeniería de ‘prompts’) que recomienda OpenAI, desarrollador de ChatGPT, en su guía sobre cómo hablar con los LLM que generan texto:
- Redactar instrucciones detalladas y con contexto, que incluyan toda la información relevante para la respuesta. “¿Qué es la salud financiera de las empresas?” dará resultados menos precisos que “explica en qué consiste la salud financiera de las empresas, distinguiendo entre la que caracteriza a las multinacionales, las pymes y los autónomos”.
- En relación con el punto anterior, introducir todas las acotaciones que sean necesarias. Las respuestas pueden llegar a ser muy amplias o muy extensas, por lo que el ‘prompt’ debe indicar si se busca que abarque un rango de fechas concreto o tenga una longitud determinada, por ejemplo.
- Dividir tareas complejas en otras más sencillas. Cuando la tarea es muy compleja, puede ser recomendable dividir la petición en varios pasos. “Resume esta minuta de reunión” nos dará un resultado más pobre que la siguiente fórmula: “Voy a proporcionarte el texto de una minuta de reunión. Sigue las siguientes instrucciones paso a paso: Paso 1: Haz un resumen en un párrafo en torno a 30 palabras. Paso 2: Crea una lista esquemática con los nombres y principales aportaciones de los participantes. Paso 3: Enumera los próximos pasos que se han sugerido durante la reunión, si los hay”.
- En algunos casos también puede ser útil introducir delimitadores en el ‘prompt’. Comillas, etiquetas XML <> o títulos de sección pueden ayudar a diferenciar partes que queremos que el modelo trate de manera diferente. Un ejemplo: “En el texto que te enviaré a continuación, sigue estas instrucciones paso a paso. Paso 1: resume en un párrafo de 30 palabras el fragmento delimitado por las etiquetas. Paso 2: resume en una sola frase el fragmento delimitado por comillas triples”.
Proporcionar ejemplos o hacer que el modelo «razone» la solución a un problema antes de preguntarle si la que ha dado un humano es correcta o no, son otras tácticas que recomienda Open AI para mejorar los ‘prompts’.
Una práctica que también tiene gran utilidad es la de pedirle al modelo que adopte un papel, ya que el ‘transformer’ adaptará su respuesta siguiendo ese papel asignado. Es muy recomendable cuando se necesita que la respuesta sea especializada o, por el contrario, divulgativa. Una prueba interesante es comparar las diferencias entre los textos, cuando hacemos un ejercicio como el siguiente con alguna de las herramientas basadas en GPT-4: “Voy a pedirte que adoptes dos papeles. En el primer papel, eres un físico que trabaja en la teoría de cuerdas y explicas qué es una cuerda en un párrafo de 100 palabras. En el segundo papel, eres un divulgador científico y explicas qué es una cuerda en un párrafo de 100 palabras”.
Las guías de buenas prácticas coinciden en recomendar el uso de un lenguaje directo. Debido a la capacidad de estas herramientas para tener conversaciones naturales, algunos usuarios tienden a humanizar al ‘software’ y, en consecuencia, a ser extremadamente amables durante las conversaciones con la IA generativa, saludándole, agradeciéndole la información e incluso disculpándose con ella. Se recomienda no sacrificar precisión y claridad a cambio de una cortesía extrema que, en este contexto, no tiene utilidad.
Uno de los principales puntos débiles de las IA generativas es la ‘alucinación’, es decir, cuando ofrecen respuestas que suenan convincentes pero son ficticias o incorrectas. Se debe a que se basan en patrones aprendidos, que les permiten rellenar huecos cuando no tienen la suficiente información sobre un tema determinado. Aunque las mejoras de los modelos están mitigando este fenómeno, es siempre necesario revisar los datos que entregan las herramientas. Pero además algunos desarrolladores apuntan que es posible evitar la alucinación de algunos modelos si en el mismo ‘prompt’ se les da la opción de desconocer un dato. Por ejemplo: “Responde la siguiente pregunta solo si conoces la respuesta o puedes ofrecer una que esté fundamentada en datos veraces. De lo contrario, dime que no lo sabes”.
Sin entrar a analizar otras técnicas más avanzadas de ‘prompt engineering’, la redacción de instrucciones eficaces para la IA generativa es un ejercicio que pone en marcha las capacidades humanas de razonamiento y creatividad. Los expertos recomiendan tener en cuenta las limitaciones de los ‘transformers’, sobre todo cuando han sido ajustados para responder preguntas relacionadas con un campo del conocimiento determinado, y recordar que es un proceso iterativo en el que siempre se podrán introducir mejoras.