Regresiones en prompts: cuando un cambio de texto rompe lo que ya funcionaba

Una regresión en un prompt ocurre cuando un cambio de texto o de modelo empeora casos que ya funcionaban. Cómo detectarla y migrar sin sorpresas.

info Definición Rápida
Una regresión en un prompt ocurre cuando un cambio de texto o una actualización de modelo empeora casos que antes funcionaban. Como un prompt influye en muchas respuestas a la vez, arreglar un caso puede romper otros, y sin un conjunto de pruebas fijo nadie se entera hasta que un usuario se queja.

¿Por qué un prompt puede regresar?

Un prompt no es código con líneas independientes. Cada palabra afecta a todas las respuestas posibles. Cuando agregas una regla para corregir un caso, puedes cambiar el peso de otras instrucciones, y el modelo empieza a aplicar la regla donde no correspondía.

Hay dos fuentes frecuentes de regresión:

  1. El cambio de texto. Agregar “siempre confirma antes de responder” para un caso de reservas, y de pronto el asistente pide confirmación para preguntas de menú.
  2. El cambio de modelo. Una versión nueva se comporta distinto aunque el prompt no haya cambiado.

La segunda suele sorprender más, porque nadie tocó nada. Una guía de migración independiente de Claude abre diciendo que migrar una carga de producción “rara vez” es cambiar el identificador del modelo y publicar. La documentación oficial de Anthropic apunta en la misma dirección: su guía de Claude Sonnet 5.5 pide repetir el barrido de nivel de esfuerzo contra tus propias evaluaciones, en vez de conservar el ajuste que usabas con Claude Sonnet 5.

¿Qué puede cambiar al migrar un modelo?

La guía oficial de migración a Claude Sonnet 5.5 es un buen ejemplo concreto. Estos son algunos de los cambios que documenta, según el modelo de partida:

AspectoQué dice la documentaciónQué revisar en tu producto
Parámetros de muestreotemperature, top_p y top_k devuelven error 400Cualquier llamada que los envíe
PrefillRellenar el último turno del asistente devuelve error 400Prompts que forzaban formato con un prefill
TokensFrente a Sonnet 4.6, 4.5 y Haiku 4.5, el mismo texto produce alrededor de un 30 % más de tokensLímite de salida, margen de contexto y costo
RazonamientoEl texto del razonamiento viene omitido por defectoCódigo o interfaz que mostraba ese texto
RechazosAparece el motivo de parada refusalCódigo que asume texto en el primer bloque
EsfuerzoLos niveles se recalibran: el mismo nivel no produce la misma cantidad de razonamientoCalidad, latencia y costo en cada nivel

Una guía independiente añade que los modelos nuevos tienden a seguir las instrucciones de forma más literal y que la frecuencia con que usan herramientas puede cambiar. Eso no está en la documentación oficial consultada, así que trátalo como una hipótesis que tu set de pruebas debe confirmar o descartar.

La lección no depende del modelo concreto: cada fila es algo que se mide, no que se supone.

¿Cómo se detecta una regresión?

El método es el de cualquier prueba de regresión, adaptado al lenguaje. Hamel Husain lo resume así: como las pruebas unitarias, los evals pueden detectar problemas que vuelven después de un arreglo. También advierte que cuestan bastante más de mantener y ejecutar que una prueba unitaria.

  1. Fija el conjunto de casos. Un golden dataset versionado, con casos representativos, casos que ya fallaron y casos de borde.
  2. Corre la versión actual y la candidata sobre el mismo conjunto, lado a lado.
  3. Califica por propiedades, no por texto exacto. Si el resultado debe ser un JSON válido, revisa que lo sea. Si debe llamar a una herramienta, revisa esa decisión. Comparar frases palabra por palabra da falsas alarmas. Para criterios subjetivos, usa un juez modelo validado contra etiquetas humanas.
  4. Revisa los cambios de signo. Los casos que pasaban y ahora fallan son la señal más importante. Los que mejoran también merecen una mirada, porque a veces mejoran por una razón que no esperabas.
  5. Guarda las salidas crudas. Cuando algo falla, necesitas ver qué respondió el modelo para diagnosticar.

Husain recomienda que el análisis parta de trazas reales y no de métricas genéricas. Langfuse lo traduce en una regla práctica: cada error que se escapa a producción se convierte en un caso nuevo del set.

¿Cómo se automatiza?

Langfuse propone mover la comparación a la integración continua, de modo que cada cambio que toque un prompt corra el golden dataset automáticamente. Para que la revisión de cada cambio sea rápida, sugiere una compuerta con un subconjunto de decenas a pocos cientos de casos, y reservar la suite completa para cambios grandes o antes de publicar.

En un equipo pequeño, esto puede empezar siendo un script que corre el set y muestra los casos que cambiaron de pasar a fallar. Lo importante es que el prompt viva en un archivo versionado, para que cada cambio de texto deje rastro y se pueda revertir.

¿Cómo se despliega sin sorpresas?

Una secuencia que reduce el riesgo:

  1. Inventario: encuentra cada lugar donde aparece un identificador de modelo, incluidos configuraciones y fixtures de prueba.
  2. Fija la versión durante la migración, para que las comparaciones sean reproducibles, y deja la anterior disponible como respaldo.
  3. Compara sin tráfico real, offline, y revisa tasas de error, latencia y costo.
  4. Despliega por etapas: primero una porción pequeña, luego más. El identificador del modelo debe estar en configuración para poder revertir sin redeploy.
  5. Define los umbrales de reversión antes: límites de calidad, errores y costo. Si se cruzan, se revierte.
  6. Ajusta el prompt aparte, después de migrar y medir, para que cada efecto tenga una causa identificable.

¿Cuándo NO conviene?

  • Cuando el prompt es corto, el caso de uso es simple y el set de pruebas costaría más que los errores que evita. Pero un set de 20 casos ya suele valer la pena.
  • Cuando no hay forma de comparar versiones. Sin set fijo, cada cambio es una opinión.
  • Cuando la migración se hace y el prompt se reescribe en la misma semana. Pierdes la capacidad de atribuir efectos.

Ejemplo

Ejemplo ilustrativo: un asistente de citas médicas tiene 120 casos en su golden dataset. El equipo agrega una regla en mayúsculas para que el asistente siempre confirme el horario antes de cancelar. La compuerta rápida pasa, pero al correr la suite completa aparece una regresión: 9 casos de consultas de precios ahora piden confirmación de horario, sin sentido. Quitan el énfasis, reformulan la regla como condición (“si el usuario pide cancelar”) y vuelven a correr. Ese mismo trimestre migran de modelo: el set detecta que la tasa de herramientas innecesarias subió de 2 % a 7 %. Revierten el modelo en configuración, ajustan el prompt en un cambio aparte y migran de nuevo cuando las cifras cuadran.

Para entender cómo armar el conjunto de casos, lee golden datasets. Para la idea de evals como prueba continua, qué son los evals. Y para medir resultados con criterios, LLM-as-judge.

Errores comunes

  • Cambiar el identificador del modelo sin correr ningún caso.
  • Corregir un fallo con un énfasis fuerte que afecta otros comportamientos.
  • Comparar texto exacto y concluir que hay regresión por una palabra diferente.
  • Migrar modelo y prompt en el mismo cambio, sin poder atribuir efectos.
  • Conservar el nivel de esfuerzo del modelo anterior sin repetir la medición.
  • No revertir cuando un umbral se cruza, porque “el nuevo modelo es mejor en general”.

Fuentes

Preguntas frecuentes

¿Qué es una regresión en un prompt?
Es cuando un cambio en el prompt o en el modelo hace que casos que antes funcionaban ahora fallen. Como el texto de un prompt afecta muchas respuestas a la vez, un arreglo en un caso puede romper otros diez.
¿Por qué cambiar de modelo puede romper un prompt?
Porque un modelo nuevo puede devolver errores con parámetros que antes aceptaba, contar más tokens para el mismo texto, ocultar el razonamiento o rechazar peticiones con un motivo de parada nuevo. La guía de migración de Anthropic lo documenta y pide repetir tus propias evaluaciones en lugar de arrastrar la configuración anterior.
¿Cómo detecto una regresión antes de publicar?
Corre un conjunto fijo de casos con la versión actual y con la candidata, compara resultados caso por caso y revisa los que pasaban antes y ahora fallan. Eso exige un golden dataset versionado.
¿Conviene cambiar el modelo y el prompt a la vez?
No. Primero migra el modelo y mide; después ajusta el prompt en un cambio aparte y medido. Si lo haces al mismo tiempo, no sabrás qué cambio causó cada efecto.