RAG (Retrieval-Augmented Generation, “generación aumentada por recuperación”) es el
patrón más usado para que un LLM responda sobre información que no estaba en su
entrenamiento: tu documentación, tu base de código, tus tickets. La idea en una frase:
busca primero, responde después.
El flujo
Recupera: con búsqueda semántica, encuentra los
fragmentos más relevantes para la pregunta.
Aumenta: los inserta en el prompt como contexto, junto a la pregunta original.
Genera: el modelo responde usando ese contexto, no solo su memoria interna.
Datos frescos y privados: respondes sobre información posterior al corte del modelo o
que nunca fue pública, sin reentrenar nada.
Menos alucinaciones: el modelo cita material real en lugar de inventar. (No las elimina:
puede malinterpretar o ignorar el contexto.)
Trazabilidad: puedes mostrar de qué documento salió la respuesta.
Coste y contexto: metes solo lo relevante en la
ventana de contexto, no la base entera.
RAG vs. meter todo en el contexto
Con ventanas grandes es tentador pegar todos los documentos y ya. Problemas: cuesta más
tokens, es más lento, y la atención del modelo se diluye entre
tanto ruido. RAG mantiene el contexto pequeño y enfocado. Es una decisión de
context engineering.
Errores comunes en producción
Chunking pobre: fragmentos demasiado grandes (ruido) o demasiado pequeños (pierden
sentido). Es el parámetro que más mueve la calidad.
Recuperar poco o de más:k mal ajustado deja fuera lo relevante o inunda el prompt.
No evaluar la recuperación por separado: si el retrieval trae basura, el mejor modelo
responde basura. Mide retrieval y generación como etapas distintas.
Confundir RAG con memoria del agente: RAG recupera conocimiento; la
memoria de un agente persiste estado entre sesiones. Se parecen y se
combinan, pero no son lo mismo.