La ingeniería de prompts es una técnica esencial para maximizar la eficacia de los modelos de lenguaje como GPT-4. En este artículo, exploraremos estrategias y tácticas que te ayudarán a obtener respuestas más precisas y relevantes de estos modelos. Esta guía es útil tanto para principiantes como para usuarios avanzados que desean mejorar sus interacciones con la inteligencia artificial..
Arquitectura de un prompt
A la hora de estructurar un prompt, es necesario tener claros los pasos necesarios para conseguir un buen resultado.
En la imagen siguiente tienes identificados por colores los elementos que deberias tener en cuanta en tu prompt para lograr el mejor output.
Uso de Delimitadores para Crear Prompts
Cuando nuestro prompt tiene cierta complejidad, es necesario que lo estructuréis correctamente. Para ello existe la posibilidad de utilizar delimitadores.
No es estrictamente necesario usar estos delimitadores para todos los prompts, pero pueden ser extremadamente útiles en ciertos contextos. Estos ayudan a estructurar y clarificar las entradas, lo que puede mejorar significativamente la precisión y relevancia de las respuestas del modelo. Aquí hay algunas situaciones en las que los delimitadores son particularmente útiles:
Podemos no obstante estructurar nuestras consultas de diversas formas. En mi caso, suelo utilizar mucho los corchetes para estructurar mis Prompts. Lo importante en este caso ordenar la estructura del prompt para lograr un buen resultado.
Veamos ahora algunos trucos para mejorar nuestros prompts
1. Escribe Instrucciones Claras
Los modelos de lenguaje no pueden leer tu mente. Es crucial proporcionar instrucciones claras y detalladas para evitar malos entendidos. Si necesitas respuestas breves, pídelas explícitamente. Si deseas un nivel de escritura experto, especifícalo. Cuanta más información proporciones, mejor será el resultado.
Tácticas:
- • Incluye detalles en tu consulta para obtener respuestas más relevantes.
- • Pide al modelo que adopte una persona específica.
- • Usa delimitadores para indicar partes distintas del input.
- • Especifica los pasos requeridos para completar una tarea.
- • Proporciona ejemplos claros.
- • Especifica la longitud deseada del output.
Ejemplo Práctico:
- Peor: “Necesito ayuda para mejorar mi sitio web.”
- Mejor: “Estoy buscando mejorar la velocidad de carga de mi sitio web de comercio electrónico. ¿Podrías recomendarme técnicas para optimizar imágenes, reducir el tamaño de archivos CSS y JavaScript, y utilizar caché del navegador?”
2. Proporciona Texto de Referencia
A veces, los modelos pueden inventar respuestas falsas, especialmente sobre temas complejos. Proveer texto de referencia confiable puede mejorar la precisión de las respuestas.
Tácticas:
- Instruye al modelo a responder usando un texto de referencia.
- Pide al modelo que cite pasajes específicos del texto de referencia.
Ejemplo Práctico:
- Peor: “¿Qué opinas sobre el impacto del cambio climático?”
- Mejor: “Usa la información del siguiente artículo para responder: ‘””“Cambio climático: Impacto en los ecosistemas y soluciones sostenibles”””’. ¿Qué medidas específicas se proponen para mitigar el cambio climático?”
3. Divide Tareas Complejas en Subtareas Simples
Las tareas complejas tienden a tener una mayor tasa de errores. Dividir una tarea en subtareas más manejables puede reducir errores y mejorar la precisión.
Tácticas:
- Usa la clasificación de intenciones para identificar las instrucciones más relevantes.
- Para aplicaciones de diálogo, resume, o filtra diálogos previos.
- Resume documentos largos por partes y construye un resumen completo de manera recursiva.
Ejemplo Práctico:
- Peor: “Escribe un informe sobre la historia de la inteligencia artificial.”
- Mejor: “Primero, resume los avances en inteligencia artificial desde 1950 hasta 2000. Luego, proporciona un resumen de los avances desde 2000 hasta la actualidad. Finalmente, concluye con las perspectivas futuras en el campo de la inteligencia artificial.
4. Da Tiempo al Modelo para “Pensar”
Al igual que los humanos, los modelos pueden cometer errores de razonamiento cuando responden apresuradamente. Pedir un “proceso de pensamiento” antes de una respuesta puede mejorar la precisión.
Tácticas:
- Instruye al modelo a resolver su propia solución antes de llegar a una conclusión.
- Usa monólogos internos o una secuencia de consultas para ocultar el proceso de razonamiento del modelo.
- Pregunta al modelo si omitió algo en pasadas anteriores.
Ejemplo Práctico:
- Peor: “¿Cuánto es 17 por 28?”
- Mejor: “Resuelve el siguiente problema paso a paso: ¿Cuánto es 17 por 28? Primero, escribe la multiplicación completa y luego da el resultado final.”
5. Usa Herramientas Externas
Compensa las debilidades del modelo alimentándolo con outputs de otras herramientas. Por ejemplo, un sistema de recuperación de texto puede proporcionar documentos relevantes. Un motor de ejecución de código puede ayudar con cálculos matemáticos.
Tácticas:
- Usa búsqueda basada en embeddings para implementar recuperación eficiente de conocimientos.
- Usa ejecución de código para realizar cálculos más precisos o llamar a APIs externas.
- Da acceso al modelo a funciones específicas.
Ejemplo Práctico:
- Peor: “Calcula la raíz cuadrada de 256.”
- Mejor: “Usa la función de Python math.sqrt para calcular la raíz cuadrada de 256. Proporciona el código necesario y el resultado.”
6. Prueba Cambios de Manera Sistemática
Es más fácil mejorar el rendimiento si puedes medirlo. Define un conjunto de pruebas (evals) representativas del uso real para evaluar modificaciones y asegurarte de que los cambios son positivos.
Para probar cambios en los modelos de lenguaje de manera sistemática, define conjuntos de pruebas representativas, como respuestas estándar verificadas, tareas de diferentes complejidades, formatos variados (listas, tablas, párrafos), múltiples idiomas, preguntas que requieren contexto previo y eventos recientes. Esto asegura que el modelo maneje diversas situaciones y mejore su rendimiento de manera significativa.
Tácticas:
- Evalúa los outputs del modelo con referencia a respuestas estándar.
- Realiza evaluaciones basadas en modelos para preguntas con múltiples respuestas correctas.
Ejemplo Práctico:
- Peor: “Mejora este modelo de IA.”
- Mejor: “Evalúa el rendimiento del modelo de IA utilizando el conjunto de pruebas estándar. Compara los resultados con las respuestas correctas y proporciona un análisis de las áreas de mejora.”
Existen algunas herramientas que te permitirán generar los prompts para conseguir los mejores resultados como HX.AI, Promptperfect, Taskade, o Webutility e incluso algunos GPTs que podrás encontrar en la librería de GPTs de ChatGPT.
Para mejorar tus prompts, podrías tener en cuenta estos aspectos en tus prompts::
- Pídele al modelo que te haga preguntas. Por ejemplo puedes incluire en tu prompt el siguiente texto “hazme las preguntas que consideres para clarificar mi petición con el objetivo de que me facilites la mejor respuesta”
- Pídele al modelo que te facilite las fuentes desde las que está extrayendo la información.
- Pídele el formato específico de salida que esperas “estructúrame la información en una tabla”
- Utiliza ortografía y gramática correctas en tus prompts.
¿Tienes alguna pregunta sobre ingeniería de prompts o quieres compartir tu experiencia? ¡Déjame un comentario y únete a la conversación!
También puedes sugerir temas relacionados con marketing, tecnología e inteligencia artificial que te gustaría que aborde en futuros artículos.
¡Buena semana!