Casos de estudio

Seis semanas de regresión silenciosa de relevancia

Un cambio en la recuperación de información degrada la calidad de las respuestas sin quebrar una sola prueba, porque nada compara el ranking de hoy con el de ayer. Los usuarios absorben la pérdida en silencio.

La forma del incidente

Un cambio de rutina se produce: el índice se reconstruye con un analizador ligeramente diferente, o se agrega una lista de sinónimos, o el corpus se vuelve a importar después de una actualización del parser. Todas las pruebas pasan, porque cada prueba afirma que el endpoint responde y que la respuesta contiene algo plausible. Seis semanas después, alguien lee la cola de soporte en orden y nota que la misma queja aparece, expresada de tres maneras diferentes, cada semana.

No hay error que encontrar. Nunca hubo un error. La clasificación cambió, y la clasificación no es algo que falle una prueba.

Por qué las pruebas de extremo a extremo no pueden verlo

Una afirmación a nivel de respuesta es un instrumento grueso. Si la afirmación es que la respuesta menciona un tema, pasará en un párrafo que menciona el tema y responde a la pregunta incorrecta. Si la afirmación es una puntuación de calidad calificada por humanos, el calificador suele calificar la respuesta en aislamiento, no en comparación con la respuesta anterior a la misma pregunta — por lo que un cambio que hace que cada respuesta sea ligeramente menos relevante produce puntuaciones ligeramente más bajas en una escala donde ligeramente más baja es indistinguible del ruido.

La medición que habría detectado esto es comparativa y mecánica: para un conjunto fijo de consultas, almacenar los resultados principales y compararlos cada vez que cambia la configuración de recuperación. Un fragmento que solía ser el primero y ahora está ausente de los primeros pocos es una señal, y no requiere un juez para interpretarla.

Hacer que los cambios de clasificación sean comparables

  • Mantener un conjunto de consultas doradas — unos pocos cientos de consultas reales es suficiente — y almacenar los identificadores de resultados clasificados para cada una como una línea de base comprometida.
  • En cada cambio al índice, el analizador, el modelo de incrustación o el fragmentador, regenerar la instantánea de clasificación y compararla. Informar cuántas consultas cambiaron su resultado principal, no solo si el promedio mejoró.
  • Separar las dos direcciones. La agitación en una dirección a menudo es intencional; la agitación en ambas direcciones, concentrada en una familia de documentos, es generalmente un defecto de análisis o fragmentación.
  • Adjuntar una razón a cada actualización intencional de la línea de base. Una línea de base que se actualiza sin explicación es una regresión que se ha reclasificado como normal.
  • Ver las consultas que cambiaron de una respuesta correcta a una incorrecta, no las que cambiaron de incorrecta a incorrecta. Las puntuaciones agregadas ocultan el daño direccional.

El hábito que evita la segunda ocurrencia

Tratar la configuración de recuperación como un artefacto versionado con su propia nota de lanzamiento: qué cambió, qué consultas se movieron y qué familias de documentos se vieron afectadas. Ese solo párrafo es lo que convierte una regresión silenciosa de seis semanas en una conversación del mismo día, porque la persona que hizo el cambio tiene el contexto y todavía está disponible para mejorarla.

También resuelve la disputa más común antes de que comience. Cuando alguien afirma que la relevancia se ha degradado, la comparación muestra si es así o no, y la conversación pasa de impresiones a una lista específica de consultas.

Qué hacer con esto

  • Las pruebas de respuestas de extremo a extremo no pueden detectar un cambio en el ranking que aún devuelve un párrafo plausible
  • Captura los resultados principales por consulta para que los cambios en el ranking se puedan comparar
  • Una regresión de calidad que no lanza un error será detectada por los usuarios, no por la integración continua