MÓDULO 10 · RAG · 25 MIN

El mapa de estrategias de retrieval

Las estrategias de retrieval no son una lista de trucos intercambiables: son tres familias que actúan en tres momentos distintos del mismo proceso. Antes de buscar se puede transformar la pregunta; al buscar se puede cambiar cómo se mide la cercanía; después se puede reordenar y filtrar lo recuperado. Saber en qué momento actúa cada una es lo que dice cuáles se combinan y cuáles son alternativas entre sí.
01 — Los tres momentos
Dónde interviene cada familia
Momento 1 · antes de buscar

Transformar la pregunta

La pregunta del usuario no siempre se parece al documento que la responde. Estas técnicas reescriben la consulta para acercarla al texto que hay indexado. Cuestan una llamada extra al LLM por consulta.

HyDEEl LLM redacta la respuesta que esperaría encontrar y se busca con ese texto, no con la pregunta. Un documento se parece más a otro documento que a una pregunta.
Multi-queryEl LLM genera varias formulaciones de la misma pregunta, se busca con todas y se unen los resultados. Sube el recall a costa de N búsquedas.
Momento 2 · al buscar

Cambiar cómo se mide la cercanía

Aquí no se toca la pregunta: se cambia el criterio con el que la base decide qué está cerca. No cuestan llamadas extra al LLM.

SimilitudEl baseline: los K vectores más cercanos. Rápido y suficiente para preguntas concretas.
MMRPenaliza los candidatos que se parecen a lo ya elegido. Devuelve K chunks distintos entre sí en vez de K formas de decir lo mismo.
HíbridaCombina coincidencia de palabras (BM25) con cercanía semántica. Es la que rescata códigos de error, nombres propios y siglas, que el embedding diluye.
Momento 3 · después de buscar

Reordenar y filtrar lo recuperado

Se recupera de más y se afina después. Cuesta latencia, no llamadas al LLM.

Re-rankingUn modelo más lento y más preciso puntúa cada par (pregunta, chunk) y reordena. Se recuperan 20 y se quedan 5.
Filtrado por metadataDescartar por fuente, fecha o categoría. La más barata de todas y la que más se olvida.

Puestas así se ve lo que una lista no deja ver: las de momentos distintos se suman —multi-query y luego re-ranking es una combinación perfectamente sensata—, mientras que dentro de un mismo momento suelen ser alternativas: no se busca por similitud y por MMR, se elige.

02 — Diagnóstico
Del síntoma a la estrategia

La forma útil de elegir no es «cuál es mejor», es qué fallo tienes delante:

Lo que observasLo que suele fallarPor dónde empezar
Los K chunks dicen casi lo mismoRedundancia en el corpusMMR
Falla con códigos, siglas o nombres propiosEl embedding diluye lo literalBúsqueda híbrida
Preguntas cortas o vagas no encuentran nadaLa pregunta no se parece al documentoHyDE
Preguntas con varios aspectos traen solo unoUna sola formulación, un solo ánguloMulti-query
La respuesta está entre los 20 primeros pero no entre los 3Ordenación, no recuperaciónRe-ranking
Recupera de documentos que no vienen al casoFalta acotar el espacio de búsquedaFiltrado por metadata

Merece la pena leer la última fila dos veces. Antes de montar HyDE con su llamada extra por consulta, comprueba si el problema se resuelve descartando media base de datos con un filtro de metadata que ya tienes escrita. Reducir el espacio de búsqueda casi siempre gana a refinar el ranking dentro de él.

03 — El precio
Qué cuesta cada una por consulta
EstrategiaLlamadas extra al LLMBúsquedasSe nota en
Similitud01—
MMR01 (recuperando de más)Apenas
Híbrida02 (léxica + vectorial)Poco, si el índice léxico está bien montado
Re-ranking0 (pero un modelo extra)1 ampliaLatencia, proporcional a cuántos reordenas
HyDE11Latencia y coste, en cada pregunta
Multi-query1NLatencia y coste, lo más caro de la lista

Las dos últimas filas son las que conviene tener presentes: son las únicas que meten al LLM dentro del camino de recuperación. Eso significa que ahora una pregunta puede fallar por un motivo nuevo —que el modelo generase una mala reformulación— y que el bug es no determinista.

// cada llamada extra al LLM en el retrieval es una fuente más de variabilidad
Auditoría El ejercicio del módulo monta un laboratorio que ejecuta cinco estrategias y compara sus scores en columnas. No se puede: el score de MMR está fabricado con la posición en la lista (score = 1.0 - (i * 0.1), con el comentario «score aproximado por ranking»), así que el primer resultado saca siempre 1.0 con cualquier corpus; y de las cinco columnas, unas son distancias —menor es mejor— y otras similitudes —mayor es mejor—, mezcladas sin aviso. Además la búsqueda híbrida recupera el corpus entero en cada consulta (k=len(self.documentos)) y normaliza con 1 - min(score, 1), que asume un rango que la distancia coseno no respeta. Antes de creerte cualquier comparación de estrategias, comprueba qué significa el número de cada columna y en qué dirección es mejor. Curiosamente la propia guía explica la Reciprocal Rank Fusion, que existe justo para fusionar rankings de escalas distintas — y luego no la usa.
Para hacer
Clasificar diez preguntas reales

Escribe diez preguntas que tus usuarios harían de verdad —no las que se te ocurren para probar— y etiqueta cada una: ¿es concreta o vaga?, ¿lleva dentro un término literal (un código, una sigla, un nombre) que tiene que aparecer sí o sí?, ¿pregunta una cosa o tres?

El recuento te dice qué estrategia te compensa antes de implementar ninguna. Si ocho de diez son concretas y directas, la similitud simple es tu respuesta y el resto del mapa es trabajo que no necesitas. Si la mitad llevan códigos, la búsqueda híbrida te dará más que cualquier otra cosa. Y si no puedes escribir esas diez preguntas, ese es el hallazgo: aún no sabes qué va a hacer tu sistema.