La Generación Aumentada por Recuperación (RAG, por sus siglas en inglés) es una técnica que te ayuda a trabajar con documentos grandes que son demasiado extensos para incluir en un solo prompt. En lugar de meter todo en un prompt masivo, RAG divide los documentos en fragmentos y solo incluye las piezas más relevantes al responder preguntas.
El problema con los documentos grandes
Imagina que tienes un documento financiero de 800 páginas y quieres hacerle a Claude preguntas específicas sobre él, como "¿Qué factores de riesgo tiene esta empresa?" Necesitas llevarle a Claude la información relevante del documento de alguna manera, pero hay límites en cuanto a la cantidad de texto que puedes incluir en un prompt.

Opción 1: Incluir todo en el prompt
El primer enfoque es sencillo: extraer todo el texto del documento y meterlo en tu prompt junto con la pregunta del usuario. Tu prompt podría verse así:
Answer the user's question about the financial document.
<user_question>
{user_question}
</user_question>
<financial_document>
{financial_document}
</financial_document>
Este enfoque tiene limitaciones serias:
- Hay un límite estricto en la longitud del prompt: tu documento podría ser demasiado largo
- Claude se vuelve menos efectivo con prompts muy largos
- Los prompts más grandes cuestan más procesarlos
- Los prompts más grandes tardan más en procesarse
Opción 2: Dividir los documentos en fragmentos
RAG adopta un enfoque más inteligente. Primero, divides el documento en fragmentos más pequeños durante un paso de preprocesamiento. Luego, cuando un usuario hace una pregunta, encuentras los fragmentos más relevantes para su pregunta y solo incluyes esos en tu prompt.

Así es como funciona: si alguien pregunta "¿Qué riesgos enfrenta esta empresa?", buscarías entre tus fragmentos, encontrarías la sección de "Factores de riesgo" e incluirías solo ese fragmento relevante en tu prompt.

Beneficios de RAG
- Claude puede enfocarse solo en el contenido más relevante
- Escala hasta documentos muy grandes
- Funciona con múltiples documentos
- Los prompts más pequeños cuestan menos y se ejecutan más rápido
Desafíos con RAG
- Requiere un paso de preprocesamiento para fragmentar documentos
- Se necesita un mecanismo de búsqueda para encontrar fragmentos "relevantes"
- Los fragmentos incluidos podrían no contener todo el contexto que Claude necesita
- Hay muchas formas de fragmentar texto: ¿cuál enfoque es el mejor?
Por ejemplo, podrías dividir los documentos en porciones de igual tamaño, o podrías crear fragmentos basados en la estructura del documento, como encabezados y secciones. Cada enfoque tiene ventajas y desventajas que deberás evaluar para tu caso de uso específico.
Cuándo usar RAG
RAG implica muchas decisiones técnicas y requiere más trabajo que simplemente incluir todo en un prompt. Necesitarás analizar si los beneficios superan la complejidad para tu aplicación particular. Es especialmente valioso cuando trabajas con documentos muy grandes, múltiples documentos, o cuando necesitas optimizar el costo y el rendimiento.
La idea clave es que RAG intercambia simplicidad por escalabilidad y eficiencia. Aunque requiere más trabajo inicial para implementarse correctamente, te permite trabajar con colecciones de documentos que serían imposibles de manejar con el simple relleno de prompts.