La generación aumentada por recuperación (RAG) es un sistema que, antes de escribir, busca. Un recuperador encuentra pasajes relevantes en una colección de documentos y un generador redacta la respuesta leyéndolos. El término viene de P. Lewis et al. (2020), que lo presentaron como una combinación de dos memorias: la paramétrica, guardada en los pesos de un modelo, y la no paramétrica, un índice de textos que se consulta (2020, sec. 1).
Cómo funciona
El recuperador es un bi-codificador: un codificador BERT-base convierte la pregunta en un vector y otro convierte cada documento en un vector del mismo espacio, como en Sentence-BERT. La Wikipedia de diciembre de 2018, cortada en 21 millones de fragmentos de 100 palabras, se guarda como índice, y recuperar consiste en hallar los k vectores con mayor producto punto (2020, secs. 2.2, 3). El generador es BART-large, un modelo tarea secuencia a secuencia de 400 millones de parámetros que recibe la pregunta concatenada con cada pasaje (2020, sec. 2.3).
La novedad técnica es que el pasaje se trata como variable latente: el sistema genera una respuesta por cada uno de los k pasajes y las combina ponderándolas por su relevancia. En la variante RAG-Sequence se usa el mismo pasaje para toda la respuesta; en RAG-Token, cada palabra puede apoyarse en uno distinto (2020, sec. 2.1). Durante el ajuste fino se entrenan juntos el codificador de preguntas y el generador, sin decirle al sistema qué documento era el correcto; el índice queda fijo (2020, sec. 2.4).
Qué logró
RAG superó el estado del arte en tres conjuntos de preguntas de dominio abierto (2020, sec. 1). Con 626 millones de parámetros entrenables obtuvo 44,5 de coincidencia exacta en Natural Questions, frente a 28,9 de un T5 de tamaño comparable que responde solo con lo que tiene en los pesos (2020, app. G). En una tarea de redactar preguntas estilo Jeopardy!, evaluadores humanos juzgaron más factual a RAG en el 42,7 % de los casos y a BART solo en el 7,1 % (2020, sec. 4.3). El experimento más elegante es el de cambiar el índice: con la Wikipedia de 2016, RAG acertó el 70 % de los líderes mundiales de 2016; con la de 2018, el 68 % de los de 2018; con el índice equivocado, apenas entre el 4 y el 12 % (2020, sec. 4.5). Actualizar lo que «sabe» fue tan simple como cambiarle los libros.
De artículo a patrón de diseño
Hoy «RAG» nombra sobre todo una receta: dividir documentos en fragmentos, convertirlos en embeddings, guardarlos en una base de datos vectorial, recuperar los vecinos más cercanos a la consulta y pegarlos en el prompt de un modelo generativo, que produce una respuesta «anclada» y, idealmente, con citas (Alammar y Grootendorst, 2024, pp. 229–230, 249–251). A diferencia del original, estos sistemas no suelen entrenar las piezas en conjunto. Las versiones avanzadas reescriben la consulta, encadenan búsquedas o dejan que el modelo decida dónde buscar, y así se acercan a un agente (2024, pp. 255–256).
Límites
La búsqueda densa siempre devuelve algo, aunque la colección no contenga la respuesta; falla con frases exactas, que piden búsqueda por palabras clave; y se degrada fuera del dominio en que se entrenó (Alammar y Grootendorst, 2024, pp. 234–235). Cómo cortar los documentos es una decisión de diseño sin receta única (2024, pp. 235–237). En algunas tareas el recuperador «colapsa» y trae siempre los mismos documentos, y el generador aprende a ignorarlos (P. Lewis et al., 2020, app. H). RAG reduce las alucinaciones, pero no las elimina, y evaluar si las citas realmente respaldan lo que se afirma sigue siendo un problema abierto (Alammar y Grootendorst, 2024, p. 257).