Biblioteca · Memoria y contexto: que el agente no pierda el hilo

RAG: Retrieval Augmented Generation

Creador60 minActualizado: octubre de 2026
21 de 105 en la biblioteca

Módulo: Tokens y contexto | Tiempo: ~30 min de teoría + 30 min de práctica


Lo esencial

Claude es inteligente, pero no sabe nada de tu empresa, tus clientes ni tus documentos. RAG es como darle a Claude acceso a tu biblioteca personal: puede encontrar el libro que necesita en un segundo y usarlo para responder. Sin RAG, responde desde su conocimiento general. Con RAG, desde tus datos concretos.


Conceptos clave

  • RAG resuelve el problema de "el modelo no conoce mis datos"
  • Los datos se convierten en vectores: huellas matemáticas del significado
  • La búsqueda no es por palabras clave, sino por significado (semántica)
  • Stack: Gemini Embedding 2 (vectorización) + Pinecone (almacenamiento) + Claude (generación)

Teoría

El problema que resuelve RAG

🎨 Imagínalo así: Claude sin RAG es como un erudito enciclopédico al que invitaron a asesorar a tu empresa. Sabe todo sobre el mundo, pero nada de tus clientes, tus precios ni tus reglas. RAG es la carpeta de documentos que le das antes de la reunión.

Claude fue entrenado con datos hasta cierta fecha y no sabe nada de tu negocio. Si creas un agente asesor para un cliente, el agente no conoce los productos de la empresa, sus reglas internas ni el historial de los clientes. Hay varias formas de resolverlo:

Opción 1: Meter todo en el prompt del sistema Agregar toda la documentación directamente en claude.md. Problemas: el límite de la ventana de contexto (a octubre de 2026, Opus 5.5 y Sonnet 5.5 tienen 1 millón de tokens y Haiku 4.5 bastante menos, las cifras están en Lo vigente; una base de conocimiento corporativa grande igual no cabe, y la calidad de las respuestas baja mucho antes de llenar la ventana), es caro (se lee en cada solicitud) y se actualiza mal. Para una base pequeña, en cambio, es el camino más simple: si tienes pocos materiales, ponlos en el contexto y no construyas infraestructura de más.

Opción 2: Fine-tuning Volver a entrenar el modelo con tus datos. Caro, lento, requiere experiencia y el resultado es impredecible. No es para la mayoría de las tareas.

Opción 3: RAG Guardar los datos por separado, buscar lo relevante en cada solicitud y agregar lo encontrado al contexto. Es el enfoque correcto para la mayoría de las tareas con datos internos.


Cómo funciona RAG, paso a paso

Paso 1: Preparar los datos (Indexing)

🎨 Imagínalo así: un embedding es como armar un mapa de olores para un perro rastreador. El texto se convierte en un "olor digital": un vector. Los textos con significado parecido huelen parecido. El perro (el sistema de búsqueda) encuentra lo que busca por el olor, no por las palabras.

Tomas tus datos (documentos PDF, artículos, páginas web, tablas, imágenes, video) y los procesas con un modelo de embeddings.

El modelo de embeddings convierte cada fragmento de texto (o imagen, o video) en un vector: un arreglo de miles de números. Esos números codifican el significado del contenido. Los textos con significado parecido reciben vectores parecidos, aunque estén escritos con palabras distintas.

Ejemplo: "Cómo cancelar mi suscripción" y "Procedimiento para rescindir el contrato" son palabras distintas, pero el mismo significado. Los vectores quedarán cerca.

Paso 2: Guardar los vectores (Vector Database)

🎨 Imagínalo así: una base de datos vectorial es una biblioteca donde los libros no están ordenados alfabéticamente, sino por significado. Los libros sobre "amor" están juntos aunque estén escritos en idiomas distintos. Una base de datos común no puede hacer eso.

Todos los vectores obtenidos se guardan en una base de datos vectorial: Pinecone. Es una base de datos especializada, optimizada justamente para buscar vectores.

Cada vector se guarda junto con el texto original y metadatos (fuente, fecha, categoría). Así, cuando se encuentra un vector, puedes recuperar el texto original.

Paso 3: Búsqueda (Retrieval)

Cuando el usuario hace una pregunta, la pregunta también se convierte en vector (con el mismo modelo de embeddings). Luego se buscan en la base los N vectores más cercanos según la distancia matemática (cosine similarity).

Resultado: los 3 o 5 documentos semánticamente más cercanos a la pregunta.

Paso 4: Enriquecer y generar (Augment + Generate)

Los documentos encontrados se agregan al contexto antes de la solicitud a Claude:

Código
Estos son los documentos relevantes de la base de conocimiento:
[Documento 1: Condiciones de devolución de productos...]
[Documento 2: Preguntas frecuentes sobre cancelar la suscripción...]

Responde la pregunta del usuario usando la información de estos documentos:
"¿Cómo devuelvo un producto que compré hace 3 meses?"

Claude ve datos concretos y responde con base en ellos, no en su conocimiento general.


Google Gemini Embedding 2: multimodalidad

🎨 Imagínalo así: los embeddings multimodales son como un traductor que entiende no solo texto, sino también gestos, cuadros y música. Le muestras la foto de una pieza rota y encuentra algo parecido en el catálogo sin necesidad de palabras.

Para la vectorización, este stack usa Google Gemini Embedding 2 (identificador del modelo gemini-embedding-2), un modelo de embeddings con capacidades multimodales. A octubre de 2026 ya pasó de versión preliminar a estable. También existe el modelo anterior, solo de texto, gemini-embedding-001.

Qué significa en la práctica:

  • Documentos de texto → vector ✅
  • Imágenes (JPG, PNG) → vector ✅
  • Video → vector ✅
  • Audio → vector ✅
  • Documentos PDF → vector ✅

Esto abre posibilidades que no existen con los modelos de embeddings solo de texto: una base de conocimiento con imágenes de productos, videos instructivos, notas de voz; todo eso se vuelve buscable.

Ejemplo: una empresa que fabrica electrodomésticos guarda fotos de todos sus modelos. El usuario sube la foto de un aparato descompuesto y el sistema encuentra imágenes parecidas en la base e identifica el modelo aunque no tenga el nombre.


Pinecone: por qué una base de datos vectorial y no una común

Una base de datos común (PostgreSQL, MySQL) sabe buscar coincidencias exactas: "encuentra los registros donde category = 'FAQ'". No sabe buscar por significado.

Pinecone está optimizado para una sola tarea: "encuentra los N vectores más cercanos a este vector". La búsqueda tarda milisegundos incluso entre millones de vectores. Es una solución en la nube: no necesitas montar tu propia infraestructura.

Alternativas: Weaviate (open source), Qdrant (open source, se puede autoalojar), pgvector (extensión para PostgreSQL), Chroma (local, para desarrollo). Pinecone es bueno para empezar: integración sencilla y un plan gratuito Starter con límites de volumen y de número de operaciones.


El proceso para crear un sistema RAG

  1. Prepara los datos: reúne los documentos, artículos, preguntas frecuentes e imágenes que el sistema debe conocer
  2. Divide en chunks: los documentos grandes se cortan en fragmentos de ~500 palabras (con un traslape de ~50 palabras). Esto importa: un documento completo en un solo vector funciona peor que varios chunks con temas concretos
  3. Crea un índice en Pinecone: mediante la API creas el "espacio" para guardar
  4. Sube los vectores: para cada chunk obtienes un vector con Gemini Embedding 2 y lo subes a Pinecone
  5. Crea la interfaz de consultas: una función que recibe la pregunta, busca en Pinecone y agrega el resultado al contexto de Claude
  6. Prueba: haces preguntas, revisas la calidad de las respuestas y ajustas

Cuándo necesitas RAG y cuándo no

Necesitas RAG:

  • Un agente asesor sobre los productos o servicios de la empresa
  • Búsqueda en la base de conocimiento corporativa
  • Preguntas sobre documentos específicos (legales, técnicos)
  • Recomendaciones personalizadas basadas en el historial

No necesitas RAG:

  • Tareas donde Claude ya sabe todo (preguntas generales, programación)
  • Si toda la información necesaria cabe en claude.md
  • Tareas de una sola vez donde los datos no cambian

Aplicaciones reales de RAG

Base de conocimiento de la empresa: un empleado pregunta "¿cómo tramito los viáticos de un viaje de trabajo?" y el agente encuentra la sección correspondiente de la política de RR. HH. y la explica con sus palabras.

Agente asesor de una tienda en línea: el comprador describe un problema con un producto y el agente encuentra casos parecidos en la base de soluciones y propone un paso concreto.

Asistente legal: un abogado sube un paquete de contratos y pregunta "¿estos contratos tienen cláusulas de fuerza mayor?"; el sistema encuentra los puntos relevantes.

Soporte basado en tickets: el agente ha visto miles de preguntas parecidas de clientes; encuentra las similares y usa las respuestas que ya funcionaron.


Práctica

Tarea: un sistema RAG sencillo con textos

Para practicar, crearemos un pequeño sistema RAG sin servicios externos, usando almacenamiento local.

  1. Crea en el proyecto una carpeta knowledge-base/ con 5-7 archivos de texto sobre un tema que conozcas bien (por ejemplo, preguntas frecuentes sobre tus servicios)
  2. Pídele a Claude Code: "Crea un sistema RAG simple que busque en los archivos de knowledge-base/. Ante una pregunta, que encuentre el documento más relevante y responda con base en él. Usa TF-IDF para la búsqueda (sin APIs externas)."
  3. Pruébalo: haz una pregunta que esté en uno de los documentos y luego una que no esté
  4. Para el stack completo con Pinecone + Gemini Embedding: crea una cuenta en pinecone.io (plan gratuito Starter), obtén una clave de API (guárdala en .env, no en el chat) y pídele al agente que migre el sistema

Comparación de modelos de embeddings

Modelo Modalidades Costo (a octubre de 2026) Mejor para
Google Gemini Embedding 2 Texto + imágenes + video + audio + PDF Tiene un nivel gratuito con límites; precios de pago en la página de precios de Gemini API Bases de conocimiento multimodales
Voyage AI (familia voyage-4) Texto (alta calidad), también tiene modelos multimodales Pago por tokens, con un volumen inicial gratuito; precios en el sitio de Voyage AI Búsqueda semántica precisa en texto
OpenAI text-embedding-3-small Texto Pago por tokens, la opción más económica de OpenAI; precio en el sitio de OpenAI Opción económica, texto
OpenAI text-embedding-3-large Texto (alta calidad) Pago por tokens, más caro que small; precio en el sitio de OpenAI Máxima precisión en texto

Comparación de bases de datos vectoriales

Las condiciones de los planes gratuitos cambian: consulta precios y versiones vigentes en los sitios de cada servicio y en la página Lo vigente.

Base Tipo Plan gratuito Mejor para
Pinecone Nube Plan Starter con límites Producción, integración sencilla
Chroma Local Gratis Desarrollo, prototipos
Qdrant Autoalojado / Nube Gratis (autoalojado) Control total, open source
Weaviate Autoalojado / Nube Autoalojado gratis; para la nube, ver la página de precios Consultas complejas, GraphQL
pgvector Extensión de PostgreSQL Gratis Si ya tienes PostgreSQL

Herramientas y recursos

  • Pinecone: base de datos vectorial, plan inicial gratuito
  • Google Gemini Embedding 2: mediante la Google AI API, modelo de embeddings multimodal
  • Anthropic: Embeddings: guía oficial de embeddings para Claude (ahí mismo hay un enlace a un ejemplo de RAG con Pinecone)
  • LangChain / LlamaIndex: frameworks de Python que simplifican la creación de pipelines de RAG
  • Chroma: base vectorial local para desarrollo (sin registro)
  • Voyage AI: modelo de embeddings de alta precisión; Anthropic no tiene modelo de embeddings propio y su documentación remite a Voyage
  • OpenAI text-embedding-3-small: modelo de embeddings alternativo (solo texto, más barato)

Errores comunes

🎨 Imagínalo así: RAG sin pruebas es como abrir un restaurante y decidir que todo va bien porque los dos primeros clientes no se quejaron. El décimo cliente pedirá algo que no está en el menú y ahí empiezan los problemas.

Error 1: Chunks demasiado grandes Subiste documentos completos de 5000 palabras como un solo vector. Resultado: la búsqueda encuentra el documento, pero la parte no relevante. Tamaño óptimo de chunk: 300-500 palabras con un traslape de 50-100 palabras.

Error 2: RAG cuando basta con CLAUDE.md Si tienes 10 reglas y 5 plantillas, mételas en CLAUDE.md. RAG hace falta cuando los datos son bastante más de lo razonable para tener en el contexto (ventana a octubre de 2026: 1M de tokens en Opus 5.5 y Sonnet 5.5, menos en Haiku 4.5, y la calidad baja antes de llenarse). Para bases de conocimiento pequeñas, RAG es excesivo.

Error 3: No probar la calidad de las respuestas Configuraste RAG, probaste una pregunta y funciona. Pero con 10 preguntas distintas, 3 respuestas son imprecisas. Crea un conjunto de 15-20 preguntas de prueba con sus respuestas correctas y revisa la calidad de forma sistemática.


Referencias cruzadas


Ideas clave

RAG es el puente entre el enorme conocimiento de Claude y los datos específicos de tu negocio. Sin RAG, el agente es inteligente pero ciego a tu realidad concreta.

La búsqueda vectorial busca por significado, no por palabras. Eso distingue a RAG de un simple grep o CTRL+F: el usuario puede preguntar con sus propias palabras y aun así encontrar lo que necesita.

La multimodalidad (texto + imágenes + video) abre usos imposibles con embeddings de solo texto. Es una posibilidad nueva y vale la pena probarla con tus propios materiales.


Siguiente lección

→ Sitios y aplicaciones web desde cero: del prompt al sitio terminado

La marca se guarda solo en este navegador y no se envía a ningún sitio. Mi progreso