Preguntar por contexto
Si tenemos un caso de uso complejo, podemos hacer que por defecto el LLM se sienta más inclinado a pedir aclaraciones si añadimos algo como lo siguiente:
If you need more context, please specify what would help you to make a better decision
Zero-Shot / Few-Shot
Clasificación de un prompt en función de los ejemplos que incluya
- zero-shot - prompt donde no introduces ningún ejemplo. Máxima creatividad, cero fiabilidad.
- one-shot - prompt con un ejemplo. Lo mínimo para obtener buenos resultados.
- few-shots - prompts con >1 ejemplo. Cuantos más ejemplos, más inferirá el LLM de ellos, por lo que tendrá menos creatividad pero más fiabilidad.
Multi-Turn
(to do: investigar)
Chain of Thought (CoT)
Evita que los LLMs salten sobre el paso de razonamiento y logra que vayan paso a paso.
En vez de decirle
Cual es la mejor arquitectura para hacer x
Usar
Piensa paso a paso sobre las mejores arquitecturas para hacer x, explicando los pros y contras de cada una y entonces recomiéndame la mejor
Prewarming
Técnica para mejorar resultados con la IA para darle un mejor contexto.
Primero le pedimos
Dame 5 consejos como experto de marketing para nombrar zapatillas deportivas
Una vez tenemos estos consejos, los utilizamos como sigue, aprovechando la ventana de contexto
Siguiente estos consejos, dame 5 nombres comerciales para zapatillas deportivas
External guides
Otra opción parecida a la anterior es buscar previamente nosotros por nuestra cuenta (o si tenemos algunas reglas como los SOLID principles, que queremos cumplir) y pedirle que se base en estos.
Siguiendo estas reglas, dame 5 nombres comerciales para zapatillas deportivas. Reglas: (añadir golden reglas naming)
CRAFT Prompt Structure
Para prompts más complejos con requisitos más específicos.
Estructura de prompts:
- Contexto: dar background apropiado
- Rol: el que debe tomar la IA
- Acción: instrucciones claras
- Format: especificar el output deseado
- Target: audiencia
Ejemplo:
## Contexto
Estoy preparando una presentación sobre el efecto del cambio climático en los próximos años
## Rol
Eres un analista senior
## Accion
Analizame los ultimos estudios disponibles y fuentes de informacion fiables y verificables con reputacion y resume el impacto del cambio climatico en los proximos años relacionado al tiempo ambiental
## Formato
Haz un powerpoint
## Target
un comité de expertos
Especificar formato de respuesta (generar JSON)
Según lo que queramos, podemos pedir formatos específicos como JSON o YAML. Para este approach puede ser útil pasar la respuesta devuelta por un validador de JSON o YAML antes de procesar nada.
Dame 5 nombres comerciales para unas zapatillas deportivas.
Sigue las siguientes reglas:
* Responde únicamente en formato JSON
* El formato JSON tiene que seguir la siguiente [ESTRUCTURA]
* La respuesta se parseará con json.loads(), por lo que asegúrate de que es JSON válido
* No incluyas símbolos backtick como por ejemplo `
[ESTRUCTURA]
[
{
"Product name": "product name here",
"Product description": "description here"
}
]
Comparar contra su propia solución
A veces puede ser útil darle tiempo para pensar y que lo intente solucionar él primero, y vea si su solución es la misma que la nuestra
Primero intenta resolver [PROBLEMA] por tu propia cuenta. Después, compara tu solución contra mi [SOLUCION PROPUESTA]. Dime si lo resolverías del mismo modo o que es lo que mejorarías y/o cambiarías. No juzgues ni compares contra [SOLUCION PROPUESTA] hasta que no lo hayas resuelto por tí mismo.
[PROBLEMA]
problema goes here
[SOLUCION PROPUESTA]
mi solucion goes here
Auto-evaluación
Primero le damos un prompt de lo que queremos hacer
Dame un programa en Python que haga "Hello World"
Luego una vez nos ha dado la solución le hacemos reflexionar iterativamente hasta que no proponga mejoras
Dada la respuesta anterior haz autocrítica y mira si se puede mejorar alguna parte. Si no encuentras ninguna mejora sustancial prefiero que me lo digas antes de que propongas soluciones sin sentido.