La optimización de prompts es el proceso de mejorar un prompt frente a un objetivo definido: mejores respuestas, menos tokens, menor latencia o un formato más coherente. Lo que la separa de trastear es la medición. Decides qué significa «mejor», cambias una cosa y compruebas.
Decide qué estás optimizando
Un prompt se puede optimizar en varios ejes, y tiran en direcciones opuestas.
| Objetivo | Se mide con | A menudo cuesta |
|---|---|---|
| Calidad | Tasa de aciertos en un conjunto de pruebas | Tokens |
| Coherencia | Misma entrada, misma forma de salida | Flexibilidad |
| Coste | Tokens de entrada y salida por llamada | Contexto, ejemplos |
| Latencia | Tiempo hasta el primer y el último token | Profundidad de razonamiento |
| Seguridad | Resistencia a la inyección y a las fugas | Algo de utilidad |
Elige un objetivo principal y un límite para los demás, por ejemplo «subir la tasa de aciertos sin superar los 800 tokens de entrada».
El bucle de optimización
1. Corrige primero los problemas estáticos
Algunos defectos no necesitan un modelo para encontrarse: sin objetivo, palabras vagas, tamaños sin números, instrucciones en conflicto, sin formato de salida, frases repetidas, variables sin delimitar. Despéjalos antes de gastar en llamadas al modelo. El analizador de prompts de PromptFlowEngine los enumera, cada uno con una corrección sugerida.
2. Crea un conjunto de pruebas
Reúne de 20 a 50 entradas que representen el uso real. Incluye:
- Casos típicos.
- Casos límite: vacíos, muy largos, en varios idiomas, mal formados.
- Casos adversarios: texto que intenta cambiar las instrucciones.
- Fallos pasados. Cada error se convierte en una prueba.
Para cada entrada, anota lo que debe contener o cumplir una salida correcta.
3. Establece una línea base
Ejecuta el prompt actual con cada entrada y registra los resultados. Esta cifra es con la que se compara cada cambio. Sin ella no puedes distinguir una mejora del ruido.
4. Lee los fallos
Agrúpalos. Diez fallos suelen tener dos o tres causas. Busca el patrón: ¿son siempre las entradas largas, siempre una categoría, siempre el mismo campo ausente?
5. Formula una hipótesis y haz un cambio
«El modelo añade comentarios porque el prompt no dice que devuelva solo JSON». Haz ese cambio y nada más.
6. Vuelve a ejecutar todo el conjunto
Comprueba que los fallos se han corregido y, igual de importante, que nada que antes pasaba ahora falla. Una corrección para un caso que rompe otros dos es una regresión.
7. Conserva o revierte, y repite
Registra qué cambiaste y por qué. Consulta la gestión de prompts para el versionado.
Movimientos de refinamiento que suelen funcionar
| Síntoma | Refinamiento |
|---|---|
| La salida varía en extensión | Sustituye las palabras de tamaño por números |
| La salida varía en forma | Añade un formato explícito o un esquema |
| Ignora una regla | Sácala de un párrafo y ponla en una lista; elimina conflictos |
| Demasiado genérico | Añade contexto de audiencia y dominio |
| Falla en casos límite | Añade una regla o un ejemplo para ese caso |
| Inventa datos | Aporta fuentes y exige «no indicado» cuando falten |
| Verboso | Da un límite de palabras y di qué dejar fuera |
Movimientos de refinamiento que suelen no funcionar
- Añadir énfasis (mayúsculas, «muy importante») a cada línea.
- Repetir la misma instrucción en varios sitios.
- Añadir una nueva regla de caso especial por cada fallo sin comprobar conflictos.
- Cambiar la redacción de algo que no era la causa.
Optimizar tokens
Una vez que la calidad es aceptable, reduce el coste sin cambiar el comportamiento:
- Elimina saludos, cortesía y relleno.
- Borra las frases repetidas y casi repetidas.
- Recorta el contexto que no cambia ninguna respuesta del conjunto de pruebas.
- Reduce el número de ejemplos y vuelve a probar.
- Pon primero la parte estable del prompt para que se aplique la caché del proveedor.
Los pasos 1 y 2 son mecánicos y se pueden automatizar con seguridad. El optimizador de prompts de PromptFlowEngine los hace y luego verifica que cada frase original, requisito y tramo protegido sigue presente, de modo que el prompt más corto pide exactamente lo que pedía el más largo. Detalles en la optimización de tokens.
Optimización automatizada
Existen herramientas que buscan prompts mejores automáticamente, haciendo que un modelo proponga variantes y puntuándolas en tu conjunto de pruebas. Pueden encontrar mejoras que las personas pasan por alto. Necesitan tres cosas para funcionar: un buen conjunto de pruebas, una función de puntuación fiable y una revisión del prompt ganador, porque un optimizador explotará cualquier debilidad de la métrica.
Una precaución similar vale para pedir a un modelo de chat que «mejore este prompt». Producirá algo que se lee mejor. También puede omitir una restricción o añadir una suposición. Compara el resultado con el original y confirma que sobrevivió cada requisito.
Cuándo parar
Para cuando el prompt cumpla el objetivo en el conjunto de pruebas y los cambios adicionales muevan los resultados dentro del ruido. Pasado ese punto, más mejoras vendrán de un mejor contexto, de otra técnica como el encadenamiento de prompts o de otro modelo.
Qué puede y qué no puede decirte una puntuación basada en reglas
Una puntuación de calidad estática, como la de la evaluación de prompts, mide el prompt tal como está escrito: claridad, integridad, coherencia y seguridad. Es rápida y reproducible, por lo que sirve para cada edición y cada commit. No mide lo que un modelo hace con el prompt. Úsala para mantener el prompt en buen estado y usa un conjunto de pruebas para confirmar la salida. Ambas se tratan en las pruebas y evaluación de prompts.