A pesar de sus mejores esfuerzos, el LLM todavía no se comporta como se esperaba. ¿Qué debe intentar a continuación? ¿Edita el prompt? Cambia el modelo? Fine-tune? Cualquier de estas opciones puede ser válida y hay un orden en el que probar estas correcciones.
Principle V: Follow Prompt-Fix Escalation Ladder
Principio V: Siga la Escalera de Escalada Prompt-Fix(Esto es parte de una serie en curso de Principios de Ingeniería de IA: ver publicaciones
Cuando un prompt no funciona como se esperaba, intento las siguientes correcciones por orden de preferencia:
-
Expanding and rephrasing instructions.
-
Adding examples.
-
Adding an explanation field.
-
Using a different model.
-
Breaking up a single prompt into multiple prompts.
-
Fine-tuning the model.
-
Throwing the laptop out the window in frustration.
En algunos casos, el orden de las cosas a intentar será diferente; sin embargo, tener un camino predeterminado ahorra tiempo y preserva la capacidad mental para el depósito.La lista no está diseñada como una escalera rígida, sino como una cuerda de guía destinada a mantenerte avanzando.
Ahora echemos un vistazo a cada enfoque.Los tres primeros caen en el cubo de Prompt Engineering y se cubrirán en más profundidad en el próximo capítulo.
Lightweight Approaches
Enfoques ligerosAdding Instructions
Lo primero que debe intentar es volver a explicar al LLM lo que debe hacer a través de instrucciones rápidas. Trate de agregar direcciones más claras, re-frasear o mover instrucciones.
No dude en repetir o reformular declaraciones varias veces en diferentes partes del prompt - los LLM no se molestan por la repetición.
Adding Examples
Los programas de aprendizaje en el contexto (exemplos de entrada y salida) son muy importantes si se utilizan modelos más pequeños; estos no son tan "inteligentes" de forma natural, por lo que requieren mucha orientación (
Ejemplo de un prompt con 2-shot inferencia (detección de lenguaje):
Detect the language of the text and output it in the JSON format: {“language”: “name_of_language”}. If you don’t know the language, output “unknown” in the language field.
Example I:
Input: Hello
Output: {“language”: “English”}
Example II:
Input: EjnWcn
Output: {“language”: “Unknown”}
Text: {{text}}
Normalmente se utilizarán 1-3 ejemplos, aunque en algunos casos se podrían añadir más.
Adding an Explanation Field
Los LLM, como los humanos, se benefician de tener que explicar su pensamiento. Agregue un campo de "explicación" a su salida JSON y la salida generalmente se hará mejor. Esto también le ayudará a identificar por qué el modelo está tomando ciertas decisiones y ajustar instrucciones y ejemplos.
En los casos en que el prompt utilice documentación interna - pida al LLM que saque las secciones de documentación que utilizó para construir respuestas.
También puedes utilizar un
Changing the Model
Diferentes modelos sobresalen en diferentes tipos de tareas.El modelo o3 de OpenAI sobresale en el análisis de código, pero el buen viejo 4o tiende a producir una mejor escritura a pesar de ser más barato por token.
Este experimento funciona de manera más rápida y más segura cuando tienes pruebas y métricas automatizadas para medir la “fitness” de cada modelo para la tarea.
Heavyweight Approaches
Enfoques pesadosCada enfoque hasta ahora ha sido relativamente barato para intentar.
Breaking Up the Prompt
Si un prompt no puede hacer el trabajo, ¿por qué no probar un sistema de dos o más prompt? Esto puede funcionar eficazmente en algunos casos; los dos enfoques comunes son:
-
Splitting the prompt by area of responsibility.
-
Using a new prompt as a guardrail reviewing output of the previous one.
Ambos métodos se introducen en
Fine-Tuning
Fine-tuning es un enfoque aún más pesado que el uso de múltiples prompts. Para la mayoría de los problemas, lo uso como un último recurso.
¿Por qué no recomiendo el ajuste perfecto en la mayoría de los casos?El ajuste perfecto es fundamentalmente un enfoque de aprendizaje automático
Considere el ajuste cuando:
- Otras técnicas no lograron el objetivo.
- El problema es altamente complejo y especializado, y el conocimiento predeterminado de LLM es insuficiente.
- Usted tiene un caso de uso de alto volumen y desea ahorrar dinero usando un modelo inferior.
- Se requiere una latencia baja, por lo que no se pueden ejecutar múltiples prompts en secuencia.
Conclusion
ConclusiónEsperemos que este artículo aclare el orden de pasos que debe tomar cuando los prompts no funcionan como se pretendía. Primero, normalmente intentaría un enfoque de ingeniería prompt. Si eso no funciona, intente cambiar el modelo y ver si eso ayudó. El siguiente paso es utilizar múltiples prompts de interacción. Finalmente, considere ajustar mejor si todos los otros métodos han fracasado.
Si te ha gustado este post, suscríbete para más.