Capítulo 3 — Generación aumentada por recuperación
Tercera entrega del recorrido capítulo por capítulo de LLM Primer V: Building Real-World LLM Applications. El capítulo que recorre el pipeline RAG de extremo a extremo y separa la demo que funciona con tus diez documentos favoritos del sistema que sobrevive al contacto con tu corpus real.
Por qué existe este capítulo
Un modelo base sabe lo que su corpus de entrenamiento le mostró y nada más. El producto que estás construyendo casi seguro necesita que el modelo razone sobre cosas fuera de ese corpus — documentos internos, los tickets de la semana pasada, el historial de pedidos del cliente, una política que se publicó esta mañana. La generación aumentada por recuperación es la disciplina de ingeniería que cierra la brecha: en tiempo de consulta, traer el material relevante del sistema de registro, formatearlo dentro del prompt y dejar que el modelo genere sobre él. La versión ingenua es una llamada de embedding y un top-k. La versión de producción es un pipeline con estrategia de chunking, transformación de consulta, puntuación híbrida, reranking y un bucle de evaluación. El Capítulo 3 recorre el pipeline de extremo a extremo, y después las técnicas que convierten un pipeline de demo en un despliegue.
3.1 El pipeline de cinco etapas y la recuperación híbrida
El pipeline RAG mínimo tiene cinco etapas y cada una interactúa con las otras de maneras que solo resultan obvias a posteriori. Los cargadores preservan la estructura — encabezados, rutas de sección, marcas de tiempo, URL de origen, etiquetas de control de acceso — porque todo lo que viene después depende de lo que el cargador conservó. Los chunkers cortan a lo largo de la fibra natural del documento, no según un conteo arbitrario de tokens. Los embedders proyectan los chunks en un espacio vectorial cuya geometría queda enteramente determinada por la distribución de entrenamiento del modelo de embedding. Los recuperadores encuentran los vecinos más cercanos. Los generadores se invocan con el contexto recuperado, y el encuadre importa: "responde solo con el contexto de abajo, y responde 'no tengo esa información' si no está" es el patrón individual más eficaz de reducción de alucinaciones en RAG de producción. La recuperación densa pura entiende la paráfrasis pero se pierde los identificadores exactos; la léxica atrapa los identificadores pero se pierde la semántica; la híbrida, fusionada con Reciprocal Rank Fusion, se queda con ambos efectos, y un reranker de cross-encoder sobre el top-50 fusionado compra otro diez o veinte por ciento de precisión.
3.2 El chunking es donde vive o muere la calidad
El default de "corta cada 500 tokens con 50 tokens de solapamiento" funciona en una fracción sorprendente de los corpus genéricos y falla en casi todos los especializados. El chunker estructural recorre HTML o Markdown por nivel de encabezado y emite un chunk por sección hoja, prefijado con la ruta de encabezados ancestros. El chunker padre-hijo embebe chunks hijos pequeños para precisión de recuperación pero expande cada acierto a su párrafo padre antes de pasarlo al generador, desacoplando la unidad de recuperación de la unidad de contexto. El chunker semántico recorre una secuencia de embeddings de frase y parte donde el tema cambia. Compuestos, primero estructural y luego semántico dentro de secciones largas, los dos patrones manejan casi cualquier tipo de fuente que contenga un corpus real. Y cada chunk lleva metadatos de enriquecimiento — origen, URL, marca de tiempo, ruta de encabezado, idioma, ámbito de visibilidad — porque esos son los campos que hacen a los chunks recuperados atribuibles, filtrables y legibles para el resto del sistema.
3.3 Transformación de consulta, multimodal y text-to-SQL
La consulta del usuario rara vez es la consulta ideal para la recuperación. La expansión multi-consulta pide al modelo varias reformulaciones, recupera para cada una y las fusiona. HyDE — Hypothetical Document Embeddings — pide al modelo que invente una respuesta plausible y embebe eso en lugar de la pregunta, con la teoría de que las respuestas viven en una región del espacio de embedding distinta de las preguntas. El step-back prompting produce una versión más general de la pregunta, recupera contra ambas y deja que el modelo use el encuadre para responder al caso específico. La descomposición divide una pregunta compuesta en subpreguntas que el recuperador puede tratar de una en una. La recuperación iterativa deja que el modelo decida qué traer a continuación — el puente entre RAG y agentes. RAG también se extiende más allá del texto: los espacios conjuntos de embedding imagen-texto tipo CLIP soportan recuperación multimodal, y text-to-SQL trata los esquemas de base de datos como el corpus de recuperación y genera consultas contra una réplica de lectura con timeout. Un router elige la transformación correcta por consulta en lugar de ejecutarlas todas.
Lo que prepara el Capítulo 3
RAG es una capacidad entre muchas. Un asistente de producción rara vez vive de la recuperación en solitario: necesita traer los pedidos recientes de un cliente, comprobar el inventario en otro sistema, resumir los resultados, hacer una pregunta aclaratoria y decidir por su cuenta cuándo hacer qué. El encuadre natural para ese comportamiento es agéntico — el modelo elige de un conjunto de herramientas, el sistema ejecuta la herramienta elegida, el resultado vuelve al modelo, y el bucle sigue hasta que la tarea está hecha. La recuperación, en ese encuadre, es una herramienta a la que el agente puede recurrir. El Capítulo 4 convierte el envoltorio en un agente: el bucle ReAct, los esquemas de herramientas como contratos, y las tres capas de memoria que permiten a un agente sostener estado a lo largo de los turnos.
Próximamente — Capítulo 4: Agentes de IA y llamada a herramientas. El bucle que convierte un modelo sin estado en un actor que persigue un objetivo — con herramientas, memoria y límites duros al comportamiento descontrolado.