Qué es RAG y cuándo usarlo en aplicaciones de IA
RAG significa Retrieval-Augmented Generation. Es una arquitectura que combina búsqueda de información con generación de respuestas usando modelos de lenguaje. En vez de pedirle al modelo que responda solo con lo que aprendió durante el entrenamiento, RAG recupera documentos relevantes y se los entrega como contexto. Así el modelo puede responder usando información actual, privada o especializada.
La idea central es simple: primero buscar, después responder.
El problema que resuelve RAG
Un LLM puede sonar convincente aunque no tenga los datos correctos. También puede desconocer información reciente, documentos internos, políticas de empresa o detalles de un producto específico. Esto se debe a que el modelo fue entrenado en un momento determinado y no tiene acceso a tus datos privados.
RAG reduce ese problema porque conecta el modelo con fuentes externas:
- documentación técnica,
- PDFs y documentos internos,
- bases de conocimiento (Notion, Confluence, etc.),
- tickets de soporte,
- políticas y procedimientos internos,
- catálogos de productos,
- páginas web y artículos,
- bases de datos estructuradas.
El modelo no necesita memorizar todo. Necesita recibir el contexto correcto en el momento correcto.
Cómo funciona RAG paso a paso
Un flujo RAG básico tiene cinco pasos:
1. Dividir documentos en fragmentos (chunking): Los documentos se parten en trozos manejables. El tamaño del chunk es crítico: demasiado grande mete ruido, demasiado pequeño pierde contexto.
2. Convertir fragmentos en embeddings: Cada fragmento se transforma en un vector numérico que representa su significado semántico. Estos embeddings permiten buscar por significado, no solo por palabras exactas.
3. Guardar embeddings en un índice: Los vectores se almacenan en una base vectorial (Pinecone, Weaviate, pgvector, etc.) o en un índice de búsqueda que permita búsqueda por similitud.
4. Recuperar fragmentos relevantes: Cuando el usuario hace una pregunta, se convierte la consulta en embedding y se buscan los fragmentos más similares en el índice vectorial.
5. Generar respuesta con contexto: Los fragmentos recuperados se insertan en el prompt del LLM como contexto, junto con la pregunta del usuario. El modelo genera una respuesta basada en esos fragmentos.
El usuario ve una respuesta natural. Por dentro, el sistema buscó información antes de generar.
RAG no es solo búsqueda semántica
La búsqueda semántica encuentra fragmentos parecidos por significado. RAG usa esa búsqueda como parte de una arquitectura mayor. Un buen sistema RAG también necesita:
- Limpieza de documentos: eliminar duplicados, corregir formato, extraer texto de PDFs correctamente.
- Chunking correcto: partir por secciones lógicas, no por caracteres fijos. Respetar headings y estructura del documento.
- Metadata: etiquetar cada fragmento con fuente, fecha, autor, permisos, categoría.
- Filtros por permisos: asegurar que el usuario solo reciba fragmentos de documentos que puede ver.
- Reranking: reordenar los fragmentos recuperados con un modelo más preciso (cross-encoder) para mejorar la relevancia.
- Prompts con instrucciones claras: decirle al modelo cómo usar las fuentes, cuándo decir "no sé" y cómo citar.
- Citas de fuentes: incluir referencias a los documentos originales para que el usuario pueda verificar.
- Evaluación de respuestas: medir precisión, recuperación, alucinaciones y utilidad de forma sistemática.
- Actualización de índices: mantener los embeddings al día cuando los documentos cambian.
Si solo metes documentos en una base vectorial y preguntas al modelo, puedes obtener resultados mediocres. La calidad está en los detalles.
Cuándo conviene usar RAG
RAG conviene cuando la respuesta depende de información que no quieres o no puedes meter en el modelo base. Casos típicos:
- soporte al cliente con base de conocimiento,
- chat interno sobre documentos empresariales,
- buscador de políticas, contratos o normativas,
- asistentes para documentación técnica,
- resumen de documentos actualizados frecuentemente,
- generación de respuestas con citas verificables,
- análisis de contenido propietario (investigaciones, informes),
- chatbots que necesitan datos en tiempo real.
También conviene cuando necesitas trazabilidad. Si la respuesta incluye fuentes, el usuario puede verificar de dónde sale la información. Esto es crítico en sectores regulados como salud, finanzas o legal.
Cuándo NO conviene usar RAG
No todo necesita RAG. Para tareas simples de redacción, clasificación o transformación de texto, un prompt bien diseñado puede bastar.
RAG puede ser excesivo si:
- la información es estable y pequeña (cabe en el prompt directamente),
- el usuario no necesita fuentes verificables,
- no tienes documentos de calidad suficiente,
- la búsqueda devuelve mucho ruido y pocos resultados útiles,
- no hay permisos claros o la estructura de datos es caótica,
- el costo de mantenimiento supera el beneficio.
RAG agrega infraestructura: base vectorial, pipeline de indexación, sistema de reranking, evaluación. Hay que justificar esa inversión.
Componentes clave de un sistema RAG
1. Corpus: Los documentos que quieres consultar. Si el corpus está desordenado, duplicado o desactualizado, la respuesta también sufrirá. La calidad del corpus es el factor #1.
2. Chunking: La estrategia de partición. Fragmentos demasiado grandes meten ruido. Fragmentos demasiado pequeños pierden contexto. Lo ideal es partir por secciones lógicas (headings, párrafos, secciones de código) y añadir overlap entre fragmentos.
3. Embeddings: Representan el significado del texto para permitir búsqueda semántica. La calidad del modelo de embeddings afecta directamente la recuperación. Modelos como OpenAI text-embedding-3, Cohere embed v3 o modelos open source como BGE son opciones comunes.
4. Retrieval: Decide qué fragmentos entran al contexto. Puede ser búsqueda puramente vectorial, búsqueda híbrida (vectorial + lexical/BM25), o incluir filtros por metadata. El retrieval es donde más se gana o se pierde calidad.
5. Modelo generador: Usa los fragmentos recuperados para redactar una respuesta. No necesita ser el modelo más grande; a menudo un modelo mediano con buen contexto supera a uno grande con contexto pobre.
6. Evaluación: Sin evaluación, no sabes si el sistema responde bien. Debes medir tanto la calidad de la recuperación (¿encontró los documentos correctos?) como la calidad de la generación (¿la respuesta es precisa y útil?).
RAG y agentes
RAG suele ser una herramienta dentro de un agente. El agente decide cuándo necesita consultar, llama al sistema de recuperación, interpreta resultados y responde o ejecuta una acción.
Por ejemplo, un agente de soporte puede:
- buscar artículos relacionados en la base de conocimiento (RAG),
- revisar el historial del cliente en el CRM (otra herramienta),
- verificar el estado del pedido en el sistema de envíos (otra herramienta),
- proponer una respuesta basada en todo lo anterior.
RAG aporta conocimiento; el agente coordina los pasos. Esta combinación es potente porque permite respuestas informadas y contextualmente relevantes.
Riesgos comunes en sistemas RAG
Riesgo 1: Recuperar documentos incorrectos. Si el contexto está mal, el modelo puede responder mal con mucha seguridad. Es el problema más común. Solución: mejor retrieval, reranking y evaluación continua.
Riesgo 2: Mezclar permisos. Un usuario no debería recibir fragmentos de documentos que no puede ver. Solución: filtrar por metadata de permisos antes de enviar al modelo.
Riesgo 3: No citar fuentes. Sin citas, el usuario no puede verificar. Solución: incluir instrucciones explícitas en el prompt para citar fuentes y mostrar referencias.
Riesgo 4: Indexar basura. PDFs duplicados, páginas obsoletas y documentos incompletos contaminan el sistema. Solución: pipeline de limpieza, deduplicación y actualización periódica.
Riesgo 5: Fragmentos sin contexto. Un fragmento aislado puede ser ambiguo. Solución: incluir metadata (título del documento, sección, fecha) junto con el texto del fragmento.
Cómo evaluar un sistema RAG
Evalúa con preguntas reales, no con ejemplos de juguete. Para cada pregunta, revisa:
- si recupera los documentos correctos,
- si omite documentos importantes,
- si responde con precisión basándose en las fuentes,
- si cita fuentes correctas y verificables,
- si reconoce cuando no tiene información suficiente,
- si respeta los permisos del usuario,
- si la respuesta es útil para el usuario final.
Una buena métrica combina calidad de recuperación (precision, recall) y calidad de respuesta (faithfulness, relevance). No sirve que el modelo escriba bien si recuperó mal.
Preguntas frecuentes
¿RAG elimina las alucinaciones?
No. Las reduce significativamente, pero no las elimina. El modelo puede interpretar mal, mezclar fuentes o completar huecos. Por eso importan las citas y la evaluación continua.
¿RAG necesita una base vectorial?
Muchas implementaciones usan bases vectoriales, pero también puede combinar búsqueda lexical (BM25), filtros SQL, reranking y búsqueda híbrida. La base vectorial es una herramienta, no un requisito absoluto.
¿RAG reemplaza el fine-tuning?
No. RAG aporta información externa en tiempo de ejecución. Fine-tuning cambia el comportamiento o estilo del modelo de forma permanente. Pueden coexistir: un modelo fine-tuned puede usar RAG para datos actualizados.
¿Cuántos fragmentos debo recuperar?
Depende del tamaño de cada fragmento y de la ventana de contexto. Un buen punto de partida es 3–10 fragmentos de 500–1000 tokens cada uno. Más no siempre es mejor: el ruido degrada la respuesta.
¿Puedo usar RAG con cualquier LLM?
Sí. RAG es agnóstico al modelo. Cualquier LLM que acepte un prompt con contexto puede usar RAG. La calidad variará según el modelo, pero la arquitectura es la misma.
Fuentes y recursos recomendados
- OpenAI: Retrieval-Augmented Generation — guía oficial para conectar modelos con información recuperada.
- Google Cloud: RAG explained — explicación general de RAG para aplicaciones empresariales.
- Pinecone: What is RAG — introducción práctica a búsqueda vectorial y recuperación.
Conclusión
RAG es una de las arquitecturas más importantes para aplicaciones de IA con datos reales. Permite responder con información actual, privada o especializada sin depender solo de la memoria del modelo.
Su calidad depende menos del modelo y más del sistema completo: documentos, chunking, retrieval, permisos, prompts, citas y evaluación. Construir un buen RAG es un trabajo de ingeniería, no un simple wrapper sobre un LLM.
Si estás considerando implementar RAG, empieza simple: corpus pequeño, chunking básico, un solo modelo de embeddings. Mide resultados. Itera. La complejidad debe justificarse con datos, no con suposiciones.
