Técnicas

Optimización de prompts: un método iterativo

La optimización de prompts es mejorar un prompt midiendo. Un bucle repetible de optimización de prompts para LLM, con refinamiento, conjuntos de pruebas y cuándo parar.

Traducido del original en inglés. El código, los prompts y la salida de los modelos se mantienen en inglés.

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:

  1. Elimina saludos, cortesía y relleno.
  2. Borra las frases repetidas y casi repetidas.
  3. Recorta el contexto que no cambia ninguna respuesta del conjunto de pruebas.
  4. Reduce el número de ejemplos y vuelve a probar.
  5. 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.

Ponlo en práctica

Pruébalo con la herramienta optimizador de prompts

Reduce tokens y añade estructura, con la prueba de que cada requisito sobrevivió. Es gratuito, determinista y no necesita cuenta.

Herramientas relacionadas de PromptFlowEngine

Más sobre técnicas

Ver todas las guías de ingeniería de prompts