Guía Completa de RAG: 4 Métodos para Conectar tus Agentes con Datos
Aprende cuándo usar filtros, SQL, contexto completo o vectores para que tus agentes de IA respondan con precisión.
Table of Contents(11 sections)
On This Page
Cuando tu agente de IA no responde correctamente, el problema casi siempre está en cómo accede a los datos. Esta guía te enseña los 4 métodos principales de RAG (Retrieval-Augmented Generation) y cuándo usar cada uno para obtener respuestas precisas.
Importante: No todo necesita una base de datos vectorial. Elegir el método correcto puede hacer tu agente más rápido, más barato y más preciso.
Prerrequisitos
Antes de empezar, necesitás:
- Conocimiento básico de agentes de IA
- Familiaridad con herramientas como n8n, LangChain o similares
- Entender la diferencia entre datos estructurados y no estructurados
- Tiempo estimado de lectura: 15 minutos
El Error Más Común
Cuando los desarrolladores descubren que su agente necesita datos externos, corren directo a implementar una base de datos vectorial. Pero esto puede ser un error costoso.
El Problema con los Vectores
Las bases de datos vectoriales funcionan dividiendo documentos en "chunks" (fragmentos) y buscando semánticamente entre ellos. Esto causa varios problemas:
- Pérdida de contexto: El agente no entiende el documento completo
- Sin metadata: No sabe de qué documento viene cada chunk
- Malo para datos tabulares: No puede calcular promedios, totales o tendencias
- Resúmenes incompletos: Solo resume los chunks que encontró, no el documento entero
Ejemplo Real del Problema
Imaginá que tenés datos de ventas y preguntás: "¿Qué semana tuvimos más ventas?"
Con chunk-based retrieval:
- El agente busca "más ventas" semánticamente
- Encuentra un chunk con algunas semanas
- Responde "Semana 6" (la mejor en ese chunk)
- Pero las semanas 4, 14 y 19 tenían más ventas - estaban en otros chunks
Método 1: Filtros
El método más simple y subestimado. Funciona como los filtros de una planilla de Excel.
Cuándo Usarlo
- Datos estructurados en filas y columnas
- Sabés exactamente qué campos querés filtrar
- La pregunta se responde con un subconjunto pequeño de registros
Ejemplo Práctico
Pregunta: "¿Cuántos parlantes Bluetooth vendimos el 16 de septiembre?"
Proceso del agente:
- Filtrar
producto = "Bluetooth Speaker" - Filtrar
fecha = "2024-09-16" - Sumar las cantidades
Ventajas
| Aspecto | Beneficio |
|---|---|
| Velocidad | Muy rápido |
| Costo | Muy barato (pocos tokens) |
| Precisión | Alta (búsqueda exacta) |
| Escalabilidad | Buena para datasets grandes |
Configuración Importante
En el system prompt, tenés que especificar las opciones válidas:
Productos válidos: ["Wireless Headphones", "Bluetooth Speaker", "Phone Case"]
Formato de fecha: YYYY-MM-DD
Si el agente escribe "bluetooth speaker" (minúscula), el filtro no va a funcionar porque no es búsqueda semántica, es coincidencia exacta.
Regla de oro: Si un humano usaría filtros en Excel para responder, usá filtros en tu agente.
Método 2: SQL Queries
Cuando necesitás que la base de datos haga el trabajo pesado: cálculos, agrupaciones, ordenamientos.
Cuándo Usarlo
- Necesitás totales, promedios, rankings o tendencias
- La pregunta involucra muchas filas
- Necesitás combinar o comparar datos de múltiples tablas
Ejemplo Práctico
Pregunta: "¿Cuáles son nuestros 3 productos más rentables?"
Query generada por el agente:
SELECT product, SUM(total_price) as total_revenue
FROM sales_data
GROUP BY product
ORDER BY total_revenue DESC
LIMIT 3;
El SQL hace todo el trabajo: suma, agrupa, ordena y limita. El agente solo interpreta el resultado.
Ventajas sobre Filtros
- La base de datos hace los cálculos (más confiable que la IA)
- Puede procesar millones de filas sin traerlas todas al agente
- Más barato porque envía menos datos al modelo
Configuración del System Prompt
Tablas disponibles: sales_data
Columnas: order_id, customer_name, product, quantity, unit_price, total_price, date
Ejemplos de queries válidas:
- SELECT product, COUNT(*) FROM sales_data GROUP BY product
- SELECT AVG(total_price) FROM sales_data WHERE date > '2024-01-01'
Regla de oro: Si un humano usaría pivot tables o fórmulas, usá SQL.
Método 3: Contexto Completo
A veces, la mejor solución es dejar que el agente lea el documento entero.
Cuándo Usarlo
- Necesitás resúmenes, líneas de tiempo o explicaciones paso a paso
- El orden de la información importa
- El dataset es lo suficientemente chico para caber en el context window
3 Formas de Implementarlo
1. Herramientas para elegir documentos
El agente tiene tools para seleccionar qué documentos leer:
Tools disponibles:
- read_transcript_video_a()
- read_transcript_video_b()
Ventaja: Solo lee lo que necesita.
2. Contexto directo en el prompt
System: Tenés acceso a estos documentos:
[DOCUMENTO 1]
{contenido completo del documento 1}
[DOCUMENTO 2]
{contenido completo del documento 2}
Ventaja: Respuestas más rápidas (no llama tools). Desventaja: Siempre procesa todos los tokens.
3. Documentos cargados dinámicamente
Cada vez que el agente responde, se cargan los documentos actualizados como variables.
Ventaja: Contenido siempre actualizado sin editar el prompt.
Comparación de Costos
| Implementación | Tokens Promedio |
|---|---|
| Herramientas (1 doc) | ~4,000 |
| Todo en prompt | ~6,500+ |
| Vector chunks | ~2,600 |
La diferencia se agranda exponencialmente con más documentos.
Regla de oro: Si un humano leería todo el documento antes de responder, el agente también debería.
Método 4: Base de Datos Vectorial
El método más conocido, pero no siempre el mejor. Ideal para búsquedas específicas en grandes volúmenes de datos.
Cómo Funciona
- Chunking: Documentos se dividen en fragmentos (ej: 500 tokens cada uno)
- Embedding: Cada chunk se convierte en un vector numérico
- Búsqueda semántica: El agente busca chunks similares a la pregunta
- Retrieval: Se devuelven los N chunks más relevantes
Cuándo Usarlo
- Bases de conocimiento muy grandes (miles de documentos)
- Preguntas específicas que se responden con fragmentos aislados
- FAQs donde una respuesta no depende de otra
- Cuando costo y velocidad importan más que contexto completo
Cuándo NO Usarlo
- Datos tabulares (ventas, métricas, inventario)
- Cuando necesitás resúmenes de documentos completos
- Cuando el orden o la secuencia importa
- Comparaciones entre diferentes partes del mismo documento
Mejorando los Resultados
Si decidís usar vectores, podés mejorar la precisión con:
Metadata tagging:
{
"chunk_id": "doc1_chunk_15",
"source": "manual_usuario.pdf",
"page": 12,
"section": "Configuración Inicial"
}
Aumentar el límite de chunks: En vez de traer 4 chunks, traer 10-20 para dar más contexto.
Hybrid search: Combinar búsqueda semántica con búsqueda por keywords.
Cómo Elegir el Método Correcto
Árbol de Decisión
¿Tus datos son estructurados (tablas/filas)?
├── SÍ → ¿Necesitás cálculos complejos?
│ ├── SÍ → Usá SQL
│ └── NO → Usá Filtros
└── NO → ¿El documento es corto (<10 páginas)?
├── SÍ → ¿Importa el orden/contexto?
│ ├── SÍ → Usá Contexto Completo
│ └── NO → Usá Vectores
└── NO → ¿Buscás respuestas específicas?
├── SÍ → Usá Vectores
└── NO → Considerá dividir en documentos más chicos
Resumen Rápido
| Método | Mejor Para | Evitar Cuando |
|---|---|---|
| Filtros | Datos tabulares simples, búsquedas exactas | Necesitás cálculos o texto libre |
| SQL | Cálculos, rankings, tendencias, agregaciones | Datos no estructurados |
| Contexto Completo | Resúmenes, orden importa, docs cortos | Datasets muy grandes |
| Vectores | Búsquedas en grandes volúmenes, FAQs | Datos tabulares, resúmenes completos |
Context Engineering: Los 5 Pilares
Más allá del método que elijas, estos principios aplican a cualquier implementación:
1. Empezá con el Objetivo Final
Antes de construir, preguntate:
- ¿Qué tipo de preguntas va a recibir este agente?
- ¿Qué datos necesita ver para responder correctamente?
- ¿Cómo mediría yo si la respuesta es buena?
2. Diseñá tu Pipeline de Datos
- ¿De dónde vienen los datos?
- ¿Con qué frecuencia se actualizan?
- ¿Cómo garantizás que estén limpios?
3. Asegurá la Precisión
Basura entra, basura sale. Si tus datos tienen errores, tu agente va a heredarlos.
4. Optimizá el Context Window
Menos tokens = más barato + menos alucinaciones + respuestas más rápidas.
Preguntate siempre: ¿Cómo puedo darle al agente solo lo que necesita?
5. Especializá tus Agentes
Un agente que hace todo, hace todo mal. Considerá tener:
- Agente de ventas (SQL)
- Agente de soporte (Vectores)
- Agente de onboarding (Contexto completo)
Próximos Pasos
Ahora que entendés los 4 métodos:
- Auditá tu implementación actual: ¿Estás usando el método correcto?
- Experimentá con alternativas: Probá filtros o SQL antes de ir a vectores
- Medí los resultados: Compará precisión, costo y velocidad entre métodos
Recursos Adicionales
¿Preguntas? Unite a nuestra comunidad en Discord para discutir implementaciones de RAG.
Contenido relacionado
- 📘 Guía Completa de n8n para Principiantes — Aprendé n8n para construir pipelines de RAG sin código
- 📘 Crea un Digest de Noticias IA con n8n — Ejemplo práctico de un workflow que usa procesamiento de datos con IA
- 📘 Prompt Engineering para Claude: Mejores Prácticas — Optimizá los prompts que usan tus pipelines de RAG
- 📝 Construye un Chatbot de Documentación con Claude y RAG — Tutorial práctico aplicando estos métodos de RAG