Cuando RAG obtiene el documento incorrecto con una similitud del 0.89: proximidad vs relevancia
Por qué RAG puede recuperar el documento incorrecto con una similitud del 0.89: la proximidad no es relevancia, la geometría de los embeddings se distorsiona, y la búsqueda híbrida junto con el reclasificado ayudan.
Fuentes: *What if Your RAG Retrieves the Wrong Document — Even When the Similarity Score Looks Perfect?*
Una escena familiar en la generación mejorada con recuperación de información: los fragmentos se incrustan e indexan, un usuario hace una pregunta, la consulta se incrusta, la similitud coseno selecciona los k fragmentos principales, estos se incluyen en el prompt y el LLM responde. El mejor fragmento obtuvo una puntuación de 0.89, lo que parece indicar confianza, pero la respuesta sigue siendo incorrecta.
Cualquiera que haya implementado más de un sistema RAG ha visto esto. Ocurre con tanta frecuencia que ningún ajuste en la división en fragmentos ni cambio en los métodos de incrustación logra solucionarlo. Por lo tanto, la pregunta relevante es si el sistema mide la relevancia o solo la proximidad geométrica.
Una revisión de la tecnología RAG publicada en agosto de 2026 en la revista Symmetry denomina a esta tensión como una de las cuatro contradicciones estructurales en el campo y la denomina desajuste geométrico-semántico. Es útil ser preciso respecto a lo que implica ese término: no afirma que la búsqueda vectorial esté rota, ni constituye un teorema comprobado sobre las capacidades de la geometría. Se trata de una forma de denominar una limitación que se observa empíricamente en configuraciones de recuperación muy diferentes.
Resumen del proceso
Si se eliminan las herramientas, RAG consiste en dos etapas unidas.
- En el momento de la indexación, los documentos se dividen en fragmentos; cada fragmento se procesa con un codificador para convertirlo en un vector denso, y estos vectores se almacenan en un índice como FAISS o HNSW.
- En el momento de la consulta, la pregunta se procesa con el mismo codificador, se calcula la similitud con cada vector de fragmento, se seleccionan los k mejores y se entregan al LLM como contexto.
Una suposición fundamental sostiene todo el sistema: la distancia en el espacio vectorial refleja la relevancia semántica en el lenguaje. Los textos con significados similares deberían encontrarse cerca entre sí, mientras que los textos con significados diferentes deberían estar muy separados.
La mayoría de las veces esto funciona lo suficientemente bien como para ser útil, y esa es la razón por la cual la recuperación densa funciona en general. Los problemas surgen en los casos extremos, y en la práctica estos casos extremos aparecen más de lo esperado. Cada vez que un sistema de recuperación da una alta puntuación a algo, está respondiendo si ese texto está cerca en el espacio vectorial, no si resuelve la pregunta. Por lo general, ambas respuestas coinciden, pero los casos interesantes son aquellos en los que no lo hacen.
La similitud no es equivalente a la relevancia
La similitud coseno mide cuán cerca están dos vectores al apuntar en la misma dirección. No mide directamente si un pasaje responde a la pregunta. Los dos tienen suficiente superposición como para que la recuperación densa sea realmente útil, pero se trata de conceptos diferentes, y una parte significativa de los fallos en la recuperación se debe a esa brecha.
Esta observación es antigua. El artículo de 2020 que presentó DPR ofrece un par de cifras reveladoras. Su recuperador con codificador dual denso logró un 78.4 por ciento de precisión en los 20 mejores resultados en Natural Questions, pero descendió al 63.2 por ciento en SQuAD, donde el método BM25 simple alcanzó el 68.8 por ciento. Los autores atribuyeron esto al sesgo en la distribución del entrenamiento: las preguntas de SQuAD comparten una cantidad inusualmente alta de palabras con sus pasajes de respuesta, un patrón que un comparador léxico puede aprovechar mejor que un codificador denso entrenado con datos más amplios.
Un único punto de datos no establece una ley universal. Sin embargo, demuestra de manera concreta que la similitud semántica y la precisión léxica pueden diferir en el mismo criterio de evaluación con el mismo mecanismo de recuperación. La revisión de Symmetry generaliza este patrón: un mecanismo ajustado para significados similares no está necesariamente ajustado para esa palabra específica que resulta importante, y lo mismo ocurre al revés. Determinar si esto se aplica en todos los escenarios de recuperación debe considerarse como una hipótesis de trabajo; de hecho, coincide con gran parte de la experiencia de los profesionales del campo.
Donde se dobla la geometría
A un nivel más profundo se encuentra el problema geométrico en sí. Los mapas de recuperación densos transforman el texto en un espacio vectorial continuo, casi siempre euclidiano, ya que el producto escalar y la similitud coseno presuponen este tipo de espacio. El espacio euclidiano es eficaz para indicar que dos elementos son similares en ciertas dimensiones, pero tiene menos capacidad para manejar al menos tres patrones que aparecen constantemente en el texto real.
- Jerarquía. Un perro es un mamífero, que a su vez es un animal. Un espacio vectorial plano no posee un concepto inherente de relación de pertenencia, y al aproximar un árbol mediante distancias en línea recta se produce una mayor distorsión a medida que la jerarquía se profundiza.
- Sinonimia versus cuasi sinonimia. “Barato” y “de bajo costo” deberían estar cerca en el espacio vectorial. “Barato” y “de mala calidad” probablemente no deberían estarlo, sin embargo, aparecen con tanta frecuencia en los textos de entrenamiento que sus vectores pueden acercarse más de lo que justificaría únicamente su significado.
- Tiempo. El CEO de una empresa es una persona diferente dependiendo de cuándo se escribió la oración. Un embedding estático no cuenta con un eje para representar hechos que caducan, a menos que algo anterior lo codifique.
Un remedio propuesto en la literatura es utilizar el espacio hiperbólico en lugar del euclidiano. Las distancias allí crecen exponencialmente hacia el exterior, por lo que las jerarquías en forma de árbol se representan con menos distorsión, permitiendo mapeos naturales a muchos niveles separados. Se ha reportado que los métodos de recuperación densa hiperbólica ofrecen una mejor generalización en tareas de jerarquía conceptual. Sin embargo, se trata de un compromiso y no de una solución definitiva: los costos de cálculo aumentan, las herramientas disponibles son mucho menos avanzadas, y la jerarquía es solo uno de los tres patrones posibles, por lo que un corpus dominado por sinonimia o desviaciones temporales podría no beneficiarse en absoluto al cambiar la geometría.
Eso es a lo que realmente se refiere la falta de coincidencia: diferentes suposiciones geométricas implican compromisos en cuanto a qué relaciones semánticas se representan bien. Si se elige el modelo euclidiano, la jerarquía tiende a verse afectada. Si se opta por el modelo hiperbólico, el costo es el mayor consumo de recursos computacionales y herramientas inmaduras, mientras que la sinonimia y el tiempo siguen sin abordarse. Sea cual sea el espacio elegido, la elección decide implícitamente qué relaciones el sistema de recuperación maneja bien y cuáles es más probable que juzgue erróneamente.
Un ejemplo con documentación
Imagínese un conjunto de documentación de un producto y la pregunta: ¿cómo restablezco mi clave API?
El recuperador devuelve un fragmento titulado “cómo restablecer la contraseña de una cuenta” con una similitud de coseno de 0,87. Eso es alto, ya que los conceptos de restablecimiento, clave API y contraseña se encuentran en una zona estrechamente relacionada con la autenticación y la gestión de cuentas. El fragmento sobre la rotación de claves API está en otra sección, está redactado con un vocabulario menos genérico y obtiene una puntuación de 0,81.
Primero regresó el documento incorrecto, con una puntuación que superaría cualquier umbral de relevancia básico. El espacio de incrustación detectó correctamente que ambos temas conciernen a la seguridad de las cuentas. No tenía forma de distinguir el procedimiento específico para uno de los temas del procedimiento específico para el otro cuando ambos forman parte del mismo clúster semántico.
El mismo patrón se aplica a cláusulas contractuales que difieren por una sola negación, instrucciones de dosificación que varían según el subgrupo de pacientes, y términos financieros que cambian según el año fiscal. En cada caso, la similitud en los vectores refleja un tema común y no indica si la respuesta coincide.
La recuperación clasifica a los candidatos pero no emite un veredicto
Muchos pipelines RAG asumen silenciosamente que el resultado número 1 o número k es la respuesta sobre dónde se encuentra la información. Sería mejor considerarlo como un candidato que aún debe ganarse un lugar en la consulta.
Un recuperador que muestra la página de contraseñas para una consulta sobre una clave API no ha fallado necesariamente en su tarea. En términos estrictos, su función consiste en realizar una primera filtración económica: reducir una colección enorme a un pequeño número de candidatos plausibles. El punto débil radica en un diseño que acepta el primer resultado como verdadero y no lo examina más a fondo. La cadena de procesamiento no tiene por qué ser consulta, recuperador, los mejores 1 resultados, LLM; también puede ser consulta, luego un recuperador económico con alto índice de recuperación, seguido de un conjunto de candidatos, después un reordenador más lento pero preciso, luego el mejor candidato y finalmente el LLM.
El fallo en la recuperación de información y el fallo en su generación están relacionados pero son separados, y confundirlos hace que la discrepancia parezca peor de lo que es. Un proceso de tipo “single-shot top-1” no puede corregirse una vez que el ranking sea incorrecto. Un proceso que trata la recuperación como una generación preliminar y deja la verdadera evaluación de relevancia para una segunda etapa tiene más posibilidades de detectar aquellos casos cercanos al éxito: documentos lo suficientemente similares en el espacio vectorial como para parecer ganadores, pero lo suficientemente diferentes en su contenido como para ser relevantes.
Por qué son importantes las notificaciones en producción
Esto no es solo un enfoque académico. La brecha entre la proximidad y la relevancia genera fallos concretos y costosos.
- Amplificación silenciosa de las alucinaciones. El LLM no puede detectar que un fragmento está relacionado con el tema pero es incorrecto. Escribe una respuesta fluida y segura a partir de una fuente errónea, y una respuesta segura pero errónea es peor que admitir que no sabe, prácticamente para cualquier uso posterior.
- Disminución de la precisión en corpus jerárquicos. Tanto los ejemplos anecdóticos como la literatura especializada indican que cuanto más profunda y estructurada sea una base de conocimientos, con políticas anidadas, especificaciones versionadas o organigramas, mayor es la dificultad que enfrenta la búsqueda vectorial plana. La revisión propone un diagnóstico formal que mide cómo disminuye la precisión a medida que aumenta la profundidad jerárquica. Se presenta como una métrica útil y no como una curva fija, y es mejor medirla en el corpus concreto que se esté utilizando en lugar de asumir valores generales.
Medidas de mitigación
Nada de esto significa que la recuperación densa esté rota. Significa que la recuperación mediante un único mecanismo está insuficientemente especificada para corpus reales. Estas medidas de mitigación se enumeran aproximadamente según cuánto requiere cada una de ellas en términos de arquitectura.
Recuperación híbrida, léxica más densa. Ejecutar BM25 y la recuperación densa en paralelo y fusionar las puntuaciones, por ejemplo con fusión de rangos recíprocos, es una opción común y sencilla. Esto corrige directamente el punto ciego relacionado con la superposición léxica y deja el modelo de embeddings intacto.
# Minimal hybrid retrieval sketch: dense + BM25 fused via RRF
from rank_bm25 import BM25Okapi
import numpy as np
def reciprocal_rank_fusion(dense_ranked_ids, bm25_ranked_ids, k=60):
scores = {}
for rank, doc_id in enumerate(dense_ranked_ids):
scores[doc_id] = scores.get(doc_id, 0) + 1 / (k + rank + 1)
for rank, doc_id in enumerate(bm25_ranked_ids):
scores[doc_id] = scores.get(doc_id, 0) + 1 / (k + rank + 1)
return sorted(scores.items(), key=lambda x: -x[1])# dense_ranked_ids = [doc_id, ...] from your vector store's top-k search
# bm25_ranked_ids = [doc_id, ...] from bm25.get_top_n(query_tokens, doc_ids, n=k)
fused = reciprocal_rank_fusion(dense_ranked_ids, bm25_ranked_ids)
Reclasificación con codificador cruzado. Utilice la recuperación densa para generar de forma económica entre 50 y 100 candidatos con alto nivel de recuperación, y luego realice una reclasificación con un codificador cruzado que tenga en cuenta tanto la consulta como el documento. Aunque cuesta más por par, es mucho más eficaz en los casos en que los resultados son temáticamente similares pero factualmente incorrectos, ya que no depende de un único vector fijo para cada texto.
Reescritura o descomposición de la consulta. RQ-RAG es un ejemplo: el sistema se entrena para reformular preguntas vagas o compuestas antes de realizar cualquier búsqueda. Estas estrategias son útiles cuando la discrepancia se debe a una pregunta insuficientemente especificada y no a una estructura compleja en el corpus.
Recuperación consciente de la estructura al estilo GraphRAG. Para materiales verdaderamente jerárquicos o relacionales como organigramas, dependencias entre cláusulas o taxonomías de productos, se representa dicha estructura de forma explícita como un grafo en lugar de forzarla en un espacio plano. Ya no se lucha contra la geometría, sino que se evita.
Embebidos ajustados al dominio. Se ajusta el codificador con negativos reales extraídos del propio corpus de la organización, es decir, pares de sinónimos cercanos que tienen un significado similar pero son incorrectos como respuestas. Los resultados muestran una reducción medible de la brecha, aunque no su eliminación total.
Cada uno de estos enfoques soluciona un síntoma específico y ninguno resuelve la contradicción subyacente, lo cual merece admitirse abiertamente.
La pregunta de investigación más amplia
Si diferentes geometrías representan bien cosas distintas, la conclusión lógica es si la forma del espacio de representación podría adaptarse a la consulta o al corpus en lugar de estar fijada de antemano.
La revisión de Symmetry apunta en esa dirección y la presenta como una ruptura de simetría: elegir una métrica euclidiana, hiperbólica o mixta significa decidir qué simetría semántica se va a abandonar. La dirección que propone es el aprendizaje de espacios geométricos híbridos, en el cual un sistema ajusta su estructura métrica según la relación que se está codificando en cada punto del corpus y no se compromete con una sola geometría global para todo el índice. Se trata de una dirección propuesta en un artículo de revisión, no de una técnica ya implementada con pruebas de rendimiento. Es una hipótesis que merece ser observada y no una base sobre la cual construir hoy en día.
Lo que realmente cambia de manera útil es la pregunta que se plantea. En lugar de preguntarse cuál es el mejor modelo de incrustación, la pregunta pasa a ser cuál es la forma que realmente adoptan las relaciones semánticas en los datos, y si la arquitectura de recuperación cuenta con algún mecanismo para representar esa forma.
Qué llevarse como aprendizaje
En entornos de producción, una alta similitud coseno y una recuperación correcta suelen coincidir lo suficiente como para que la diferencia sea imperceptible. El esfuerzo de diseño debe centrarse en los casos en que ambas métricas se desvían sin que se note, con vectores cercanos entre sí debido a un tema en común y no a una respuesta compartida.
Un modelo de embedding mejor no lo solucionará, al igual que ninguna arquitectura por sí sola. Un espacio geométrico plano, sea el que sea el elegido, codifica una apuesta implícita sobre qué relaciones son las más importantes en el corpus, y por eso existen la recuperación híbrida, el reclasificado y el indexado consciente de la estructura: nadie puede hacer esa apuesta sin tomar precauciones. Los modelos de embedding no son malos. Se le pidió a un espacio geométrico que realizara razonamiento semántico para el cual nunca fue diseñado completamente, y lo hace de manera impresionante hasta el momento en que deja de funcionar.