Qué es RAG en IA: definición simple y para qué sirve

RAG es buscar tus documentos y dárselos al modelo antes de que responda. Qué es, qué problema resuelve, cómo funciona y cuándo no merece la pena.

Qué es RAG en IA: definición simple y para qué sirve

RAG (retrieval-augmented generation, o generación aumentada por recuperación) es una técnica para que un modelo de lenguaje responda usando documentos que nunca vio durante su entrenamiento. Primero se buscan los fragmentos relevantes para la pregunta, después se le pasan al modelo junto a ella, y el modelo redacta la respuesta con ese texto delante.

Para seguir el resto te hace falta una sola idea previa: qué es un modelo de lenguaje y por qué inventa cosas. Si no lo tienes claro, empieza por qué es un LLM explicado sin tecnicismos y vuelve aquí.

El problema que resuelve: el modelo no conoce tus datos

Un modelo de lenguaje solo sabe lo que estaba en el texto con el que se entrenó, y ese entrenamiento terminó en una fecha concreta. De ahí salen los dos agujeros que RAG viene a tapar: no ha leído los documentos privados de tu empresa, y no sabe nada de lo que ha pasado desde su fecha de corte.

Imagínate a alguien que se ha leído media internet de memoria pero nunca ha entrado en el Drive de tu empresa. Le preguntas por la política de vacaciones y no te dice “no lo sé”: te contesta con la política más plausible que se le ocurre, con el mismo aplomo con el que te diría la capital de Francia. Eso es una alucinación.

Reentrenar el modelo cada vez que alguien sube un PDF no es viable. Así que la salida es la otra: dejarlo como está y darle el texto bueno en el momento de preguntar.

Cómo funciona RAG por dentro

RAG son tres pasos, y ninguno de ellos toca el modelo.

El primero es recuperar. Cuando llega la pregunta, un buscador va a tu colección de documentos y saca los trozos que hablan de ese tema. No es una búsqueda por palabra exacta como la de Ctrl+F: lo habitual es usar embeddings, que son representaciones numéricas del significado de un texto. Con ellos, “cuántos días libres tengo” encuentra un documento que habla de “jornadas de descanso anual” aunque no compartan ni una palabra.

El segundo es aumentar, que es lo que le da nombre a la técnica. Los fragmentos recuperados se pegan dentro del prompt, es decir, el texto que le mandas al modelo. La pregunta deja de viajar sola: viaja acompañada del material con el que debe responderse.

El tercero es generar. El modelo hace lo de siempre, redactar la continuación más plausible, solo que ahora lo plausible es lo que se apoya en el texto que tiene delante.

// Los tres pasos de RAG, sin librerías de por medio
const pregunta = "¿Cuántos días de vacaciones me quedan este año?";

// 1. Recuperar: busca en tus documentos los 4 fragmentos más relevantes
const fragmentos = await buscarEnDocumentos(pregunta, { top: 4 });

// 2. Aumentar: mete esos fragmentos en el prompt, antes de la pregunta
const prompt = `Responde usando SOLO este contexto:
${fragmentos.join("\n---\n")}

Pregunta: ${pregunta}`;

// 3. Generar: el modelo redacta con el contexto ya delante
const respuesta = await modelo.completar(prompt);

Ese buscarEnDocumentos de una línea es donde se concentra toda la dificultad real: cómo trocear los documentos, cómo combinar búsqueda semántica con búsqueda por palabras, cómo reordenar los resultados antes de pasárselos al modelo. Está desarrollado en la guía del pipeline de RAG que funciona en producción, y no te hace falta para entender qué es RAG.

Un ejemplo: el asistente de soporte que sí conoce tu producto

Piensa en un chat de soporte para un producto que sacó versión nueva hace dos meses. Sin RAG, el modelo contesta con lo que aprendió en el entrenamiento y describe una versión antigua. Con RAG, la pregunta dispara una búsqueda en la documentación actual, los dos o tres artículos que tocan el tema entran en el prompt, y la respuesta sale con el comportamiento de la versión publicada hoy. Y como sabes exactamente qué fragmentos le has pasado, puedes enseñar las fuentes debajo: el usuario deja de tener que creerse al modelo y puede ir a comprobarlo.

Cuándo merece la pena RAG y cuándo no

RAG tiene sentido cuando el conocimiento que necesitas es privado, cambia a menudo, o tiene que ser verificable. Si no se cumple ninguna de esas condiciones, suele ser complejidad que no te devuelve nada.

Situación¿RAG?
Preguntas sobre documentación interna que cambia cada semanaSí, es el caso exacto para el que se inventó
Necesitas mostrar de dónde sale cada respuestaSí: como controlas qué fragmentos entran, puedes citarlos
Quieres cambiar el tono o el formato con el que escribe el modeloNo. Eso se ajusta con instrucciones en el prompt, o con fine-tuning si el estilo es muy específico
Conocimiento general y estable: gramática, historia, lenguajes de programación popularesNo hace falta, el modelo ya lo lleva dentro
Tienes cuatro PDFs y los consultas una vez al mesProbablemente no. Pégalos en la conversación y ya está

Esa última fila es la que más dinero ahorra. Montar un buscador semántico para un puñado de documentos que caben en una conversación es trabajo tirado a la basura.

Lo que RAG no arregla

RAG traslada el problema más que eliminarlo: la calidad de la respuesta pasa a depender de la calidad de lo que encuentra el buscador. Si la búsqueda devuelve el fragmento equivocado, el modelo redactará una respuesta equivocada con el mismo tono seguro de siempre. La mayoría de los fallos de un sistema RAG no son fallos del modelo. Son fallos de recuperación.

Tampoco te libra de tener los documentos en orden. Una wiki con tres versiones contradictorias de la misma política le da al buscador tres candidatos igual de válidos, y el modelo se quedará con uno sin avisarte del conflicto.

Si quieres ver cómo estas piezas, RAG incluido, encajan dentro de un agente de IA completo, el curso Patrones de Diseño para Agentes de IA las recorre con ejercicios interactivos.

Preguntas frecuentes

¿RAG es lo mismo que fine-tuning?

No. RAG no toca el modelo: le cambia lo que tiene delante al responder, metiendo fragmentos de tus documentos en el prompt. El fine-tuning sí lo modifica, entrenándolo con ejemplos adicionales. Regla práctica: si el problema es que el modelo no sabe algo, RAG; si el problema es cómo lo dice, fine-tuning.

Cuando alguien dice “un RAG” en una reunión, ¿a qué se refiere?

En inteligencia artificial, “un RAG” es el sistema completo, no la técnica. “Hemos montado un RAG” significa que hay una colección de documentos indexada, un buscador que la consulta y un modelo que redacta la respuesta con lo que ese buscador devuelve.

¿Necesito RAG si el modelo ya sabe muchísimo?

Depende de si tus preguntas van sobre conocimiento público o sobre el tuyo. Un modelo grande responde de sobra sobre lo que había en internet antes de su entrenamiento, y no sabe nada de tu contrato con un proveedor ni del incidente de producción de la semana pasada. RAG solo hace falta para lo segundo.

¿Qué es agentic RAG?

Es la versión en la que el modelo decide cuándo buscar, qué buscar y si lo encontrado le sirve, en lugar de ejecutar siempre una búsqueda fija antes de responder. Puede reformular la consulta, lanzar varias búsquedas seguidas o concluir que no necesita ninguna. Es RAG metido dentro de un bucle agéntico.

¿RAG elimina las alucinaciones?

No. Las reduce bastante: anclar la respuesta en un texto concreto quita la mayor parte de las invenciones, y aun así el modelo puede mezclar dos fragmentos o extrapolar más allá de lo que dicen. Por eso los sistemas serios muestran las fuentes: para que el error se pueda detectar.