Publicado originalmente por Vectors of Mind.


Un mago escribiendo en un teclado de alta tecnología. La computadora es un cerebro de alta tecnología con vías neuronales brillantes, y en la pantalla se lee «El acorde secreto que complació al Señor». La túnica del mago está adornada con estrellas y lunas, y el fondo muestra una combinación de elementos místicos y tecnológicos.
Tú después de leer esta publicación

Mi trabajo se ha acercado peligrosamente al de un ingeniero de prompts1. Esto me parece bien, pues combina mi afición por la escritura, la psicometría y el procesamiento del lenguaje natural. Estas son algunas de las técnicas de prompting más poderosas:

  1. Usar instrucciones claras y específicas
  2. Razonamiento mediante cadena de pensamiento
  3. Recopilar la información necesaria antes de realizar una tarea
  4. Dividir las tareas en pasos
  5. Los términos técnicos son tus aliados
  6. Compendio de frases útiles

1. Instrucciones claras y específicas #

Los abogados y los científicos de la computación son naturalmente buenos en esto. De hecho, una de las ventajas del prompting es que uno puede ser mucho menos preciso que en el código ordinario, y los LLM suelen captar la idea general. Sin embargo, muchas solicitudes pueden mejorarse simplemente explicitando la tarea y el formato que debe tener la respuesta. Por ejemplo, hace poco improvisé esta comida:

Imagen de How to prompt chatGPT

Sabía muy bien, gracias por preguntar. Otros ejemplos:

  • «Resume la historia de la IA en un párrafo».

  • «Crea una tabla de las familias lingüísticas más antiguas, ordenadas por antigüedad. Sé exhaustivo».2

  • «Reescribe el texto citado al estilo de White y Strunk. Dame tres opciones».

  • «Calcula una matriz de correlación de Pearson para las columnas 2-7 del archivo .csv adjunto».

    • seguimiento: «Escribe código para mostrar los resultados como un mapa de calor con una resolución suficientemente alta para poder utilizarlo en un cartel. Usa las mejores prácticas en cuanto a decisiones estéticas».

Las instrucciones específicas suelen incluir ejemplos específicos. White y Strunk escribieron Elements of Style. Citar su libro es mejor que usar adjetivos como «concisa», «profesional» o «excelente» para describir la escritura. En parte, porque los LLM tienden a excederse, especialmente ante adjetivos específicos. Por lo tanto, si quieres que el robot adopte una personalidad descarada, intenta decirle que actúe como Veronica Mars o Regina George de Mean Girls.

2. Razonamiento mediante cadena de pensamiento #

Los LLM se entrenan con un corpus textual enorme para predecir la palabra siguiente. Sorprendentemente, esto los hace buenos para aproximarse al razonamiento, pero su desempeño se deteriora rápidamente en tareas complejas. Aquí, «complejo» puede significar algo como «sumar los números de la columna 1». Esto es muy difícil de hacer en un solo intento, y producirá algún número que parezca razonable y que probablemente se encuentre en el intervalo correcto, pero que no sea la respuesta correcta. Añadir «piensa en ello paso a paso» hace maravillas. A menudo, ni siquiera hay que especificar cuáles son los pasos; los LLM pueden inferir que, para sumar la columna, los pasos intermedios consisten en escribir «n1 + n2 + n3 + … + n100 =». En esencia, esto equivale a indicarse a sí mismo que obtenga una respuesta mejor al lado derecho de ese signo igual. O, por analogía, a darse tiempo para pensar en ello. Para cualquier problema, la frase «piensa en ello paso a paso» es tu primera línea de defensa al enfrentarte a las alucinaciones de los LLM. Si eso no funciona, enumera tú mismo los pasos (una técnica a la que volveremos).

3. Recopilar la información necesaria antes de realizar una tarea #

Si le pides a chatGPT que escriba una entrada de blog (yo jamás haría eso) o una función de Python (eso sí lo haría sin duda), se pondrá a escribirla sin preguntar los detalles de lo que realmente quieres. Gran parte de esto puede evitarse diciendo algo como: «Quiero escribir una función que haga X; ¿qué información necesito recopilar antes de programarla?», o «Escribe una función que haga X, pero primero pregunta por cualquier información necesaria antes de escribir el código», donde «X» es alguna descripción parcial.

4. Dividir las tareas en pasos #

Siempre que chatGPT no logre realizar una tarea y la cadena de pensamiento no ayude, divide la tarea en subtareas. Para empezar, esto suele constituir la mitad del trabajo de una tarea y, coincidentemente, es algo que (por ahora) a los LLM les cuesta hacer por sí mismos. Sin embargo, ten en cuenta que a menudo también puedes delegar esto al LLM3. Por ejemplo, le pedí a chatGPT que propusiera elementos para una prueba de creatividad (que puedes revisar rápidamente):

Estoy intentando elaborar más preguntas similares a la Prueba de Asociaciones Remotas (RAT, por sus siglas en inglés). La RAT requiere que los individuos encuentren una palabra común que vincule tres palabras aparentemente inconexas. Estos son algunos conjuntos de palabras de ejemplo:

  1. Cottage, Swiss, Cake (Respuesta: Cheese)

  2. High, Book, Chair (Respuesta: School)

  3. Fruit, Gaze, Traffic (Respuesta: Jam)

  4. Cream, Skate, Water (Respuesta: Ice)

  5. Ache, Hunter, Cabbage (Respuesta: Head)

  6. Manners, Round, Tennis (Respuesta: Table)

  7. Falling, Actor, Dust (Respuesta: Star)

  8. Light, Birthday, Stick (Respuesta: Candle)

  9. Salad, Head, Goose (Respuesta: Egg)

  10. Music, Ached, Green (Respuesta: Apple)

¿Cuáles son las mejores prácticas? ¿Cómo debería pensar en esto paso a paso?

Al igual que para entender cómo sumar números, chatGPT es excelente para producir «recetas» destinadas a realizar tareas. Después de que las entregó, todo lo que tuve que decir fue:

«¡Excelente! Ahora sigue ese proceso para producir 5 preguntas nuevas».

Y luego cinco más, y cinco más. Antes había intentado pedir directamente elementos nuevos, y las sugerencias fueron atroces. Para consultar un ejemplo mucho más complicado, observa cómo un instituto de seguridad de la IA empleó esta técnica (entre otros trucos) para resolver un problema diseñado para ser imposible para los LLM.

5. Los términos técnicos son tus aliados #

Los términos técnicos son cuencas de atracción para el comportamiento competente de los LLM. Por ejemplo, describir una enfermedad y preguntar qué está «indicado» te llevará más lejos que preguntar: «¿Qué debería hacer?». Usar «indicado» le dice al LLM que relacione tus síntomas con todos los libros de texto de medicina jamás escritos. La segunda formulación se relaciona con pedir asesoría médica o vital, que el modelo ha sido entrenado para no proporcionar. Usar términos técnicos o no coloquiales te saca del espacio del asistente para normies, que cuenta con la mayoría de las salvaguardas y ofrece consejos al nivel de Reddit.

6. Compendio de prompts útiles #

Estas son algunas frases que me descubro usando

  • «¿Es correcto?»

    • Siempre que escribo un resumen del trabajo de otra persona o describo una idea con la que no estoy del todo familiarizado, copio y pego lo que escribí y pregunto si es correcto. Por lo general, es bastante bueno para objetar cuando algunas partes son debatibles.
  • «¿Estás seguro?»

    • De manera similar, siempre que sospecho que un LLM está diciendo tonterías, le pregunto si está seguro. Si cambia de opinión, entonces hay que tomar la afirmación con muchísima cautela.
  • «Ayúdame a generar ideas». «Sé creativo».

    • Uno de los mejores usos de un LLM es ayudarte a explorar el espacio de las ideas. A veces, necesita que lo animen a alejarse de las respuestas modales.

Si tienen alguna frase de uso recurrente, ¡añádanla en los comentarios!


  1. También se ha vuelto más irregular de lo que me gustaría, así que, si tienen algún trabajo por contrato en ciencia de datos, IA o psicometría, ¡contáctenme! ↩︎

  2. Admito que no hay manera alguna de que un LLM enumere las 142-420 familias lingüísticas del mundo. Como esto es «imposible» (es decir, está demasiado alejado de su comportamiento predeterminado, más allá de algún límite estricto de tokens), «exhaustivo» sirve para contrarrestar la gravedad de una respuesta breve y hacer que el LLM sea más minucioso. Esta es la desventaja del prompting, que a veces se degrada hasta convertirse en rogar, suplicar, sobornar y amenazar. ↩︎

  3. El hecho de que puedas obtener ayuda de un LLM para dividir la subtarea indica que esto también se automatizará cada vez más. Quién sabe de qué serán capaces las generaciones futuras. ↩︎