A continuación se muestran algunas técnicas clave avanzadas de ingeniería de mensajes para tareas de codificación con modelos de lenguaje grandes:
1. Comprender la interpretación del modelo de consultas relacionadas con la codificación: esto implica tener una comprensión profunda de los conceptos de programación y ser capaz de articularlos de una manera que el modelo pueda procesar de manera efectiva. El objetivo es crear indicaciones que se alineen con las representaciones internas y los mecanismos de atención del modelo.[1]
2. Encadenamiento de mensajes y mensajes de múltiples vueltas: dividir una tarea de codificación compleja en una secuencia de mensajes, donde la salida de un mensaje se utiliza como entrada para el siguiente. Esto permite que el modelo aborde la tarea paso a paso.[2][3]
3. **Instigación de cadena de pensamiento (CoT): proporciona al modelo ejemplos de razonamiento paso a paso para resolver un problema, guiándolo para generar su propia cadena de razonamiento.[4][5] Se ha demostrado que esto mejora significativamente el rendimiento en tareas de razonamiento complejas.
4. Indicaciones de autoconsistencia: una extensión de CoT donde se muestrean múltiples rutas de razonamiento y se selecciona la respuesta más autoconsistente. Esto es útil para problemas abiertos con múltiples soluciones válidas.[4]
5. Ingeniería automática de avisos (APE): una técnica que trata el aviso en sí como el "programa" que se debe optimizar, utilizando modelos de lenguaje para generar y buscar avisos candidatos para encontrar el más efectivo para una tarea determinada. [5]
6. Proporcionar contexto y ejemplos relevantes: incluir información específica del dominio, pautas de estilo de codificación y ejemplos de entrada y salida en el mensaje puede ayudar a dirigir el modelo hacia una generación de código más precisa y relevante.[1][3]
La clave es experimentar de forma iterativa con el diseño, prueba y refinamiento de indicaciones para encontrar las indicaciones más efectivas para sus tareas de codificación y modelo de lenguaje específicos. Una ingeniería rápida y cuidadosa puede mejorar significativamente las capacidades de los modelos de lenguaje grandes para la asistencia en codificación.
[1] [Ingeniería rápida para tareas de codificación: hacia la ciencia de datos] (https://towardsdatascience.com/prompt-engineering-llms-coding-chatgpt-artificial-intelligence-c16620503e4e)
[2] Técnicas avanzadas de ingeniería rápida - Mercity AI[3] Ingeniería rápida en 2024: técnicas, usos y avanzados... - Acorn[4] Ingeniería rápida avanzada: ¿Qué implica? - DataScientest.com[5] prompts-advanced-usage.md - GitHub
[1] https://towardsdatascience.com/prompt-engineering-llms-coding-chatgpt-artificial-intelligence-c16620503e4e?gi=54ae68d69ee0
[2] https://www.mercity.ai/blog-post/advanced-prompt-engineering-techniques
[3] https://www.acorn.io/resources/learning-center/prompt-engineering
[4] https://datascientest.com/en/advanced-prompt-engineering-what-does-it-involve
[5] https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/guides/prompts-advanced-usage.md