OpenAI ha publicado una guía con consejos para crear mejores prompts que te permitirá obtener unos resultados más precisos y adecuados a tus objetivos. El documento está disponible en inglés en su propia web pero he preferido crear un versión resumida en español para que os sea más sencillo de entender.


Prompt engineering

Esta guía comparte estrategias y tácticas para obtener mejores resultados de modelos de lenguaje grande (a veces denominados modelos GPT) como GPT-4. Los métodos descritos aquí a veces se pueden combinar para obtener mejores resultados. Experimenta para encontrar los métodos que mejor te funcionen.

Seis estrategias para obtener mejores resultados

Escribe instrucciones claras

ChatGPT no puede leer tu mente. Si las salidas son demasiado largas, pide respuestas breves. Si los resultados son demasiado simples, pide una escritura a nivel experto. Si no te gusta el formato, muestra el formato que te gustaría ver. Cuanto menos tenga que adivinar el modelo sobre lo que quieres, más probable es que lo consigas.

Tácticas:

  • Incluye detalles en tu prompt para obtener respuestas más relevantes
  • Pide al modelo que adopte una personalidad («Responde como un experto en…»)
  • Especifica los pasos necesarios para completar una tarea
  • Proporciona ejemplos
  • Especifica la longitud de los resultados que deseas

Proporciona textos de referencia

Los modelos lingüísticos como ChatGPT pueden inventar respuestas falsas que pareces verdaderas, especialmente cuando se les pregunta sobre temas esotéricos o sobre citas y enlaces de internet. De la misma manera que una hoja con anotaciones puede ayudar a un estudiante a hacerlo mejor en una examen, proporcionar texto de referencia a estos modelos puede ayudar a responder con menos invenciones.

Tácticas:

  • Indica al modelo que responda utilizando un texto de referencia
  • Indica al modelo que responda incluyendo citas del texto de referencia

Divide las tareas complejas en subtareas más sencillas

Al igual que es una buena práctica en el desarrollo de software descomponer un sistema complejo en un conjunto de componentes modulares, lo mismo ocurre con las tareas sometidas a un modelo de lenguaje. Las tareas complejas tienden a tener tasas de error más altas que las tareas más simples. Además, las tareas complejas a menudo se pueden redefinir como un flujo de trabajo de tareas más simples en el que los resultados de tareas anteriores se utilizan para construir las entradas para tareas posteriores.

Tácticas:

  • Alimenta al modelo con instrucciones paso a paso en lugar de entregarlas todas a la vez
  • En conversaciones muy largas, resume el diálogo anterior
  • Resume los documentos largos en fragmentos más pequeño y construye el texto final recursivamente

Da tiempo al modelo para que «piense»

Los modelos cometen más errores de razonamiento cuando intentan responder de inmediato, en lugar de tomarse el tiempo para resolver una respuesta. Pedir una «cadena de pensamiento» antes de una respuesta puede ayudar al modelo a razonar su camino hacia las respuestas correctas de manera más fiable.

Tácticas:

  • Instruye al modelo para que razone desde el principio antes de llegar a una conclusión
  • Usa un monólogo interno o una secuencia de consultas para ocultar el proceso de razonamiento del modelo
  • Pregunta al modelo si se perdió algo en las consultas anteriores

Utilice herramientas externas

Compensa las debilidades del modelo alimentándolo con los resultados de otras herramientas. Por ejemplo, un sistema de recuperación de texto puede indicar al modelo los documentos más relevantes. Un motor de ejecución de código como el intérprete de código de OpenAI puede ayudar al modelo a hacer matemáticas y ejecutar código. Si una tarea puede ser realizada de manera más confiable o eficiente por una herramienta en lugar de por un modelo de lenguaje, descárguela para obtener lo mejor de ambos.

Probar los cambios sistemáticamente

Mejorar el rendimiento es más fácil si puedes medirlo. En algunos casos, una modificación de un prompt logrará un mejor rendimiento en algunos ejemplos aislados, pero conducirá a un peor rendimiento general en un conjunto de ejemplos más representativos. Por lo tanto, para asegurarse de que un cambio es neto positivo para el rendimiento, puede ser necesario definir un conjunto de pruebas integral.

Deja un comentario

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *