La arquitectura RAG (Retrieval-Augmented Generation) se ha convertido en un estándar para conectar modelos de lenguaje con bases de conocimiento externas. Sin embargo, su dependencia de embeddings y bases de datos vectoriales conlleva problemas inherentes: la similitud vectorial no siempre equivale a relevancia semántica, y la construcción de estos índices requiere recursos significativos. Un artículo reciente en Towards AI presenta una alternativa radical: un sistema RAG completamente vectorless, que reemplaza la búsqueda por similitud con un proceso de razonamiento puro.

El autor parte de una premisa clave: en muchos casos, lo que necesitamos no es encontrar documentos 'similares', sino aquellos que contienen la información necesaria para responder una consulta. Esto, argumenta, es una tarea de comprensión y razonamiento, no de comparación vectorial. Su solución evita por completo el uso de modelos de embedding, bases vectoriales (como Pinecone o Weaviate) y métricas de similitud como el coseno. En su lugar, propone un flujo donde un LLM (como GPT-4 o Claude) recibe directamente los documentos y una consulta, y se le instruye para identificar, extraer y sintetizar la información relevante mediante un prompt cuidadosamente diseñado y, posiblemente, técnicas de razonamiento en cadena.

Esta aproximación, aunque conceptualmente simple, desafía la sabiduría convencional de la pila tecnológica RAG. Las ventajas potenciales son sustanciales: elimina el costo computacional y de almacenamiento de generar y mantener embeddings, reduce la latencia al evitar búsquedas vectoriales, y teóricamente puede capturar relaciones lógicas y contexto que los embeddings vectoriales pierden. Es especialmente atractiva para dominios con documentación estructurada o donde la precisión factual es crítica, ya que el modelo puede ser guiado para verificar fuentes directamente.

Sin embargo, el enfoque no está exento de desafíos. La escalabilidad es la principal preocupación: alimentar un LLM con miles de documentos por consulta es inviable en términos de token limits y costo. El autor probablemente aborda esto mediante técnicas como la fragmentación inteligente (no vectorial), pre-filtrado por metadata, o el uso de modelos más pequeños y rápidos para etapas iniciales de selección. Además, la confiabilidad depende enteramente de la capacidad de razonamiento del LLM, que puede alucinar o pasar por alto información clave si el prompt no es óptimo.

¿Por qué importa este experimento? Primero, cuestiona la tiranía de la infraestructura vectorial, democratizando el acceso a sistemas RAG robustos para equipos con recursos limitados. Segundo, nos fuerza a reconsiderar qué significa 'recuperar' información: ¿es un problema de búsqueda o de comprensión? Tercero, podría inspirar híbridos innovadores que usen razonamiento para tareas de alta precisión y vectores para escalabilidad masiva. El código compartido por el autor es un valioso punto de partida para que la comunidad explore y refine estas ideas, quizás encontrando un punto dulce entre ambos mundos.

En un ecosistema donde la complejidad de las implementaciones RAG a menudo aleja a los desarrolladores, un enfoque minimalista y conceptualmente limpio es una bocanada de aire fresco. Aunque probablemente no reemplace a los sistemas vectoriales en aplicaciones de gran escala, el 'RAG vectorless' destaca como un poderoso recordatorio: a veces, la solución más elegante es aprovechar la inteligencia que ya tenemos, en lugar de añadir capas de complejidad técnica.