Si te preguntas qué es la ingeniería de instrucciones (Prompts), piensa que tienes un asistente muy inteligente, pero que necesita instrucciones muy claras para hacer lo que quieres. Es algo así como trabajar con un gran modelo de lenguaje (LLM - Large Language Model), la tecnología que hay detrás de muchas herramientas de IA.
La ingeniería de instrucciones es básicamente el arte y la ciencia de dar a estos LLM el tipo correcto de instrucciones, para que puedan entender lo que necesitas y darte resultados precisos y útiles.
Piensa en un prompt como la entrada que le das al LLM, como una pregunta o una petición. Cualquiera puede escribir una sugerencia, de la misma manera que puedes hacer una pregunta a un amigo. Sin embargo, elaborar el mejor aviso, uno que realmente haga que el LLM entienda y entregue lo que usted está buscando, puede ser un poco más complicado. Si tus preguntas no son claras, el LLM puede darte respuestas vagas, erróneas o que simplemente no tienen sentido. Por eso la ingeniería de instrucciones es un proceso iterativo, en el que es posible que tengas que probar diferentes formas de formular tus peticiones para obtener el mejor resultado.
Diferentes formas o técnicas de preguntar:
Exploremos varias técnicas de incitación que le ayudarán a obtener mejores resultados de los LLM. He aquí algunas de las más importantes:
Preguntas Generales/de Cero Puntos (Zero-Shot): Esta es la forma más simple, en la que sólo le das al LLM una descripción de la tarea sin ningún ejemplo. Por ejemplo, puedes preguntar: "Clasifica esta crítica de cine como positiva o negativa: '¡Esta película fue increíble!
Prompting de una y varias tomas: Cuando no es suficiente con un «zero-shot», puedes proporcionar ejemplos en su prompt. Los mensajes de una sola toma contienen un ejemplo, mientras que los de varias tomas contienen varios. Estos ejemplos muestran a la LLM el tipo de salida que está buscando y la ayudan a seguir un patrón específico. El número de ejemplos necesarios depende de la complejidad de la tarea.
Sistema, Contextual, y Role Prompting: Estas técnicas ayudan a guiar al LLM de diferentes maneras:
- Las indicaciones del sistema establecen el tono y el propósito generales. Por ejemplo, podrías empezar con «Eres un ayudante servicial».
- El estímulo contextual proporciona información de fondo específica relevante para la tarea actual. Por ejemplo, «Estás escribiendo para un blog sobre experiencias de viaje».
- La indicación de rol le dice al LLM que actúe como un personaje o experto específico. Por ejemplo: «Actúa como revisor de códigos».
Preguntas retrospectivas: Para abordar problemas complejos, esta técnica consiste en plantear primero al LLM una pregunta general relacionada para activar sus conocimientos más amplios antes de plantear la tarea específica.
Guía de la Cadena de Pensamiento (CoT): Ayuda al LLM a razonar pidiéndole que explique su pensamiento paso a paso. Esto puede mejorar significativamente la precisión en tareas que requieren lógica.
Autoconsistencia: Para obtener respuestas más fiables en las tareas de razonamiento, este método consiste en preguntar al LLM varias veces utilizando el método CoT a menudo utilizando una temperatura diferente, y luego elegir la respuesta más común.
ReAct (Razonar y Actuar): Esta potente técnica permite al LLM no sólo razonar, sino también interactuar con herramientas externas (como motores de búsqueda o intérpretes de código) para recabar más información y resolver tareas.
Ingeniería automática de avisos (APE): Explora el uso de la IA para generar y evaluar automáticamente diferentes indicaciones y encontrar las más eficaces.
Orientación sobre el código: Los LLM también pueden utilizarse para trabajar con código, ayudando a escribir, explicar, traducir, depurar y revisar código en varios lenguajes de programación. La orientación multimodal es un área relacionada pero separada en la que se utilizan diferentes tipos de entradas (como texto e imágenes) para guiar al LLM.
Prácticas recomendadas para redactar textos de calidad:
Veamos una serie de buenas prácticas que te ayudarán a ser un mejor ingeniero de prompts:
- Proporciona ejemplos en tus prompts (de uno o pocos disparos) siempre que sea posible.
- Haz que tus prompts sean sencillos, claros y fáciles de entender. Evite el lenguaje complejo y la información innecesaria.
- Especifique el resultado que desea. Cuantos más detalles proporcione, mejor podrá centrarse el LLM.
- Utilice instrucciones más que restricciones. Dígale al modelo lo que debe hacer en lugar de lo que no debe hacer, ya que las instrucciones positivas suelen ser más eficaces.
- Controle la longitud máxima de la salida utilizando el límite de tokens o pidiendo explícitamente una longitud determinada en su prompt.
- Utilice variables en las instrucciones para hacerlas reutilizables y más dinámicas.
- Experimente con diferentes formatos de entrada y estilos de escritura para ver qué funciona mejor.
- En las tareas de clasificación, mezcle las clases de los ejemplos para evitar sesgar el modelo.
- Adapte sus avisos cuando se actualicen los modelos para aprovechar las nuevas funciones.
- Experimente con formatos de salida estructurados como JSON o XML para tareas como la extracción de datos para obtener resultados más coherentes y fáciles de analizar.
- Documente detalladamente todos sus intentos de solicitud, incluida la solicitud en sí, el modelo utilizado, la configuración y el resultado, para aprender y realizar un seguimiento de su progreso.
Conclusión
En conclusión, la ingeniería de prompts es una habilidad que debe aprenderse para utilizar eficazmente grandes modelos lingüísticos. La comprensión de las diferentes técnicas de prompts, la configuración de la salida del MLL y el seguimiento de las mejores prácticas pueden ayudarle a mejorar significativamente la precisión y la utilidad de las respuestas de la IA.
Recuerda que a menudo se trata de un proceso iterativo de experimentación y perfeccionamiento, así que no tengas miedo de probar distintos enfoques para obtener los resultados que necesitas.
Tomado y traducido de Medium -> https://itnext.io/understanding-prompt-engineering-how-to-talk-to-ai-3186ed68fc85