Ingeniería de mensajes para la IA generativa

La ingeniería rápida es el arte de hacer la pregunta correcta para obtener el mejor resultado de un LLM. Permite la interacción directa con LLM mediante mensajes de lenguaje sin formato.

Antes, para trabajar con modelos de aprendizaje automático, se necesitaban conocimientos profundos sobre los conjuntos de datos, las estadísticas y las técnicas de modelado. Hoy en día, los LLM se pueden "programar" en inglés, así como en otros idiomas.

Ser un excelente ingeniero experimentado no requiere experiencia en programación. Sin embargo, la creatividad y la persistencia te beneficiarán mucho en tu recorrido. Sigue leyendo para conocer algunas técnicas útiles de solicitud.

Prácticas recomendadas para la generación de indicaciones

  1. Comunique de manera clara cuál es la información o el contenido más importante.

  2. Estructura el mensaje: comienza por definir su función, brinda datos de contexto y de entrada y, luego, proporciona la instrucción.

  3. Usa ejemplos específicos y variados para ayudar al modelo a reducir su enfoque y generar resultados más precisos.

  4. Usa restricciones para limitar el alcance del resultado del modelo. Esto puede ayudar a evitar el cambio de las instrucciones a las imprecisiones fácticas.

  5. Desglose las tareas complejas en una secuencia de mensajes más simples.

  6. Indica al modelo que evalúe o verifique sus propias respuestas antes de producirlas. ("Asegúrate de limitar tu respuesta a 3 oraciones", "Califica tu trabajo en una escala del 1 al 10 en función de la concisión", "¿Crees que es correcta?").

Quizás lo más importante:

¡Sé creativo! Cuanto más creativa y abierta seas, mejores serán los resultados. Los LLM y la ingeniería de mensajes siguen en su etapa inicial y evolucionan todos los días.

Tipos de mensajes

Solicitud directa (sin tiro)

El mensaje directo (también conocido como toma cero) es el tipo de mensaje más simple. No proporciona ejemplos del modelo, solo la instrucción. También puedes expresar en forma de pregunta la instrucción o darle una “función” al modelo, como se muestra en el segundo ejemplo a continuación.

Proporcione lo siguiente:

  1. Instrucción
  2. Un poco de contexto

Generación de ideas:

Prompt: Can you give me a list of ideas for blog posts for tourists visiting
New York City for the first time?

Solicitud de función:

Prompt: You are a mighty and powerful prompt-generating robot. You need to
understand my goals and objectives and then design a prompt. The prompt should
include all the relevant information context and data that was provided to you.
You must continue asking questions until you are confident that you can produce
the best prompt for the best outcome. Your final prompt must be optimized for
chat interactions. Start by asking me to describe my goal, then continue with
follow-up questions to design the best prompt.

Organización de datos:

Prompt: Create a four-column spreadsheet of 10 highly-rated science fiction
movies, year of release, average audience rating, and top 3 keywords from
audience reviews.

Make sure to cite the source of the audience rating.

Ejemplos con indicaciones (de una, pocas o varias)

Los mensajes por única vez muestran al modelo un ejemplo claro y descriptivo de lo que deseas que imite.

Generación de ideas con un ejemplo:

Prompt:

Come up with a list of ideas for blog posts for tourists visiting
New York City for the first time.

1. Fuggedaboutit! Where to Stay in New York City On Your First Visit

La solicitud de pocas y varias fotos muestra al modelo más ejemplos de lo que deseas que haga. Funciona mejor que la ejecución de cero para tareas más complejas en las que se desea la replicación de patrones o cuando necesitas que el resultado se estructure de una manera específica que sea difícil de describir.

Clasificación de opiniones con poca precisión:

Prompt:

Great product, 10/10: Positive
Didn't work very well: Negative
Super helpful, worth it: Positive
It doesn't work!:

Cuando se ejecute este mensaje, la respuesta del modelo será clasificar "No funciona" como positiva o negativa, como se muestra en los ejemplos.

Predictor de respuestas de emojis con varios fotogramas:

Prompt: Predict up to 5 emojis as a response to a text chat message. The output
should only include emojis.

input: The new visual design is blowing my mind 🤯
output: ➕,💘, ❤‍🔥

input: Well that looks great regardless
output: ❤️,🪄

input: Unfortunately this won't work
output: 💔,😔

input: sounds good, I'll look into that
output: 🙏,👍

input: 10hr cut of jeff goldblum laughing URL
output: 😂,💀,⚰️

input: Woo! Launch time!

Es el mismo proceso aquí, pero como el mensaje es más complejo, el modelo recibió más ejemplos para emular.

Cadena de pensamiento

Las indicaciones de la cadena de pensamiento (CoT) alientan al LLM a explicar su razonamiento. Combínala con solicitudes de pocos intentos para obtener mejores resultados en tareas más complejas que requieran razonamiento antes de una respuesta.

Prompt:

The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:

Cot. de cero tiempo

Recuperando el mensaje de toma cero, de esta manera toma un mensaje de toma cero y agrega una instrucción: "Pensemos paso a paso". El LLM puede generar una cadena de pensamiento a partir de esta instrucción y, por lo general, también una respuesta más precisa. Este es un excelente enfoque para lograr que los LLM generen respuestas correctas para problemas como los de palabras.

Prompt:

I went to the market and bought 10 apples. I gave 2 apples to the neighbor and
2 to the repairman. I then went and bought 5 more apples and ate 1. How many
apples was I left with?

Let's think step by step.

Estrategias de iteración de mensajes

Aprende a amar la realidad de reescribir mensajes varias veces (posiblemente decenas). A continuación, te presentamos algunas ideas para definir mejor los mensajes en caso de que no puedas avanzar:

Nota: Con el tiempo, estas estrategias pueden volverse menos útiles o necesarias a medida que mejoran los modelos.

  1. Repetir palabras clave, frases o ideas

  2. Especifica el formato de salida deseado (CSV, JSON, etc.).

  3. Usa mayúsculas para enfatizar puntos o instrucciones importantes. También puedes probar la exageración o el lenguaje hiperbólico. Por ejemplo: "Tu explicación debe ser absolutamente imposible de malinterpretar. ¡Cada palabra debe suponer claridad!"

  4. Usa sinónimos o expresiones alternativas (p.ej., en lugar de "Resumir", intenta agregar "tldr" a algún texto de entrada). Intercambia palabras o frases diferentes y documenta cuáles funcionan mejor y cuáles son peores.

  5. Prueba la técnica de los sándwiches con mensajes largos: Agrega la misma declaración en distintos lugares.

  6. Usa una biblioteca de mensajes para inspirarte. Prompt Hero y esta galería de mensajes son dos buenos lugares para comenzar.

Recursos adicionales

Prácticas recomendadas para la generación de indicaciones

Obtener indicaciones (externo)