
Escuchar este post
Selecciona una voz y genera audio para escuchar este post
El desarrollo de IA está en constante evolución. RAG (Retrieval-Augmented Generation) ha sido la técnica estándar para darle "memoria" a los modelos de lenguaje, permitiéndoles acceder a información externa. Pero existe un nuevo enfoque que está demostrando ser significativamente más efectivo: Agentic Retrieval.
En este artículo exploraremos por qué este cambio representa una mejora fundamental en cómo los sistemas de IA acceden y utilizan información.
El Problema con RAG Tradicional
RAG funciona de manera directa: cuando un usuario hace una pregunta, el sistema busca documentos relevantes en una base de datos y los incluye como contexto en el prompt del modelo.
Nota para principiantes: Una base de datos vectorial almacena información como números (vectores) que representan el "significado" del texto, permitiendo búsquedas por similitud semántica en lugar de solo palabras clave.
El proceso tradicional de RAG es predeterminado:
- Usuario pregunta algo
- Sistema busca documentos relevantes
- Documentos se insertan en el prompt
- Modelo genera respuesta
La limitación principal: Este enfoque es pasivo. El modelo no tiene control sobre qué información necesita ni cuándo la necesita. Es como tener un asistente que solo puede buscar información cuando tú se lo pides, usando exactamente las palabras que le proporcionaste, sin poder refinar o expandir la búsqueda por su cuenta.
El Nuevo Paradigma: Agentic Retrieval
Agentic Retrieval invierte el modelo de control. En lugar de forzar documentos en el contexto del modelo, le das al modelo una herramienta para buscar información cuando la necesite.
La diferencia es fundamental:
- RAG tradicional: Sistema decide qué buscar basado en la pregunta inicial
- Agentic Retrieval: El modelo decide qué buscar, cuándo y cómo
Es como darle a tu asistente la llave de la biblioteca en lugar de traerle los libros que crees que necesita.
Cómo Funciona en la Práctica
El concepto clave es proporcionar al modelo una "herramienta" que puede invocar. En lugar de buscar nosotros, le damos al modelo la capacidad de buscar por sí mismo.
Veamos un ejemplo implementado en TypeScript:
// Definimos una herramienta que el modelo puede usar export const createContextRetrievalTool = (context: ToolContext) => tool( async ({ query, topK = 5 }) => { const retriever = await createVectorRetriever(context.chatbotId); const results = await retriever.retrieve(query, topK); return formatRetrievalResults(results); }, { name: "search_context", description: "Buscar información relevante en la base de conocimiento del chatbot usando búsqueda semántica", parameters: z.object({ query: z.string().describe("Consulta o pregunta del usuario"), topK: z.number().optional().default(5).describe("Número de resultados (1-10)") }) } );
El modelo ahora puede:
- Decidir si necesita buscar información (quizá ya sabe la respuesta)
- Refinar la búsqueda (puede reformular la query para mejores resultados)
- Hacer múltiples búsquedas (si una pregunta requiere información de varias fuentes)
- Buscar en el momento adecuado (durante la generación, no solo al inicio)
¿Por Qué es Mejor?
1. Búsquedas Más Inteligentes
El modelo puede reformular la búsqueda para obtener mejores resultados. Si un usuario pregunta "¿cuánto cuesta?", el modelo puede buscar "precios productos servicios" en lugar de usar literalmente "cuánto cuesta", lo que típicamente produce resultados más relevantes.
2. Control Dinámico de Relevancia
El modelo ajusta la cantidad de información según la necesidad. Para preguntas simples, puede solicitar 2-3 documentos. Para análisis complejos, puede pedir 10 o más. Esto optimiza tanto la calidad de la respuesta como el uso de recursos.
3. Búsquedas Iterativas
Si los primeros resultados no son suficientes, el modelo puede realizar búsquedas adicionales con diferentes términos o enfoques, refinando progresivamente hasta encontrar la información necesaria.
4. Eficiencia de Recursos
En RAG tradicional, siempre se incluyen N documentos, sean necesarios o no. Con Agentic Retrieval, solo se busca cuando es realmente necesario, reduciendo el uso de tokens y los costos operativos en hasta un 40-60% en casos típicos.
Casos de Uso Reales
Soporte Técnico
RAG tradicional:
- Usuario: "Mi app no funciona"
- Sistema busca "app no funciona" → documentos genéricos
- Respuesta poco útil
Agentic Retrieval:
- Usuario: "Mi app no funciona"
- Modelo decide buscar: "errores comunes aplicación móvil"
- Si no es suficiente: "troubleshooting conexión API"
- Respuesta específica y útil
Análisis de Documentos
RAG tradicional:
- Usuario: "Resume este contrato"
- Sistema busca "contrato resumen" → documentación legal general
- Resumen superficial
Agentic Retrieval:
- Usuario: "Resume este contrato"
- Modelo busca: "cláusulas principales contrato servicio"
- Luego: "términos pago penalizaciones"
- Finalmente: "duración renovación cancelación"
- Resumen completo y estructurado
Implementación Práctica
Para implementar Agentic Retrieval necesitas:
1. Un Modelo con Tool Calling
Necesitas un modelo de lenguaje que soporte "tool calling" (llamada de herramientas), como Claude, GPT-4, o Gemini. Esta capacidad permite que el modelo solicite ejecutar funciones específicas durante la conversación.
2. Una Herramienta de Búsqueda
{ name: "search_context", description: "Busca información en la base de conocimiento", parameters: { query: "La búsqueda semántica a ejecutar", topK: "Cantidad de resultados (opcional)" } }
3. Una Base de Datos Vectorial
Necesitas almacenar tus documentos de forma que permita búsquedas semánticas. Opciones populares incluyen: Pinecone, Weaviate, ChromaDB, o Supabase con la extensión pgvector.
4. Lógica de Orquestación
El sistema debe:
- Permitir al modelo llamar la herramienta
- Ejecutar la búsqueda
- Devolver resultados al modelo
- Permitir que el modelo continúe o haga más búsquedas
Migrando de RAG a Agentic Retrieval
Si ya tienes un sistema RAG, la migración es directa:
Antes (RAG):
const docs = await vectorSearch(userQuery); const response = await generateWithContext(userQuery, docs);
Después (Agentic):
const tools = [createSearchTool(vectorStore)]; const response = await generateWithTools(userQuery, tools);
El modelo ahora controla cuándo y cómo buscar.
Limitaciones y Consideraciones
Latencia
Cada búsqueda que realiza el modelo agrega tiempo de respuesta. Si el modelo hace múltiples búsquedas, el usuario podría esperar varios segundos adicionales comparado con RAG tradicional.
Costo
Cada herramienta definida consume tokens en la instrucción inicial. Además, cada búsqueda que ejecuta el modelo genera tokens adicionales de entrada y salida. En promedio, esto puede aumentar los costos en un 20-30% comparado con RAG tradicional, aunque este costo se compensa parcialmente con búsquedas más selectivas.
Complejidad de Implementación
Requiere modelos con capacidad de tool calling robusta y un sistema que pueda manejar llamadas iterativas a herramientas. La arquitectura es más compleja que RAG tradicional.
Cuándo Usar RAG Tradicional
- Casos simples donde siempre necesitas el mismo contexto
- Latencia crítica (respuesta en <500ms)
- Presupuesto muy ajustado
- Búsquedas predecibles
Cuándo Usar Agentic Retrieval
- Búsquedas complejas o múltiples pasos
- Necesidad de precisión sobre velocidad
- Contexto variable según la pregunta
- Queries que requieren razonamiento
El Futuro de la Recuperación de Información
Agentic Retrieval representa un cambio fundamental en cómo los sistemas de IA acceden a información. En lugar de que nosotros decidamos qué información necesita el modelo, el modelo toma esas decisiones basándose en el contexto de la conversación.
Este cambio de paradigma permite sistemas más autónomos y efectivos. Los resultados en producción muestran mejoras consistentes en:
- Precisión de respuestas: 30-40% más relevantes según evaluaciones de usuarios
- Tasa de resolución: 25-35% más consultas resueltas sin intervención humana
- Satisfacción del usuario: Incrementos promedio de 15-20 puntos en NPS
¿Significa esto que RAG tradicional está obsoleto? No completamente. Ambos enfoques tienen su lugar, pero la tendencia de la industria es clara: sistemas más autónomos y contextuales están reemplazando procesos rígidos y predeterminados.
Próximos Pasos
Si quieres comenzar con Agentic Retrieval:
- Experimenta con un caso simple: Implementa una versión básica con tu base de datos vectorial actual
- Mide y compara: Evalúa latencia, costo y calidad de respuestas vs tu sistema RAG actual
- Refina progresivamente: Ajusta las descripciones de herramientas basándote en los resultados
- Escala gradualmente: Aplica en producción comenzando con casos de uso de bajo riesgo
La evolución hacia sistemas agénticos es clara en múltiples áreas de IA. La recuperación de información está siguiendo el mismo camino.
¿Quieres aprender a implementar sistemas agénticos profesionales? Explora nuestro taller de Agentes IA donde construyes asistentes inteligentes con herramientas, memoria y capacidad de decisión.

3 Actualizaciones interesantes de React 19
Checa este otro Post
