RAG tiene dos mitades que viven en flujos separados. Una prepara la base: indexas los documentos (los divides en fragmentos, los conviertes en números y los guardas en un vector store). La otra responde: la pregunta pasa por un clasificador que decide si vale la pena usar al agente; el agente busca el fragmento relevante en el vector store y responde anclado en este fragmento y, cuando no encuentra nada, cae en un fallback ser honesto en lugar de inventar.
Diagrama ilustrativo — la indexación (azul) está separada de la consulta (cian). El agente busca el fragmento; cuando nada es relevante, sigue la rama de respaldo en lugar de inventar.
❓ El problema: la IA no sabe lo que no está en el contexto
Qué es
Un modelo de IA solo responde sobre dos cosas: lo que aprendió en el entrenamiento (conocimiento general, con fecha de corte) y lo que está en el contexto de esa conversación (lo que pegaste ahí). No tiene acceso mágico a los tus archivos. Si no pones la política de cambios, las preguntas frecuentes o el manual a su alcance, simplemente no los conoce.
¿Qué es?Contexto — la «ventana» de texto que la IA ve en una conversación: instrucciones, mensajes y cualquier documento que hayas adjuntado. RAG — generación aumentada por recuperación: el patrón de buscar el fragmento correcto de tus datos e insertarlo en el contexto antes de que la IA genere la respuesta.
El peligro es sutil: sin la fuente a mano, la IA no se queda callada; tiende a llenar el vacío, inventando un plazo, un monto o una regla que parecen plausibles. Eso es una alucinación. RAG existe justamente para cerrar esa brecha: en vez de cruzar los dedos para que el modelo "recuerde" tu política, te aseguras de que el texto de la política esté en el contexto en el momento adecuado. Ese es el porqué de todo lo que viene a continuación en este módulo.
Por qué aprender
Quien entiende este límite deja de exigirle lo imposible a la IA y empieza a darle la información correcta. En vez de "¿por qué no conoce mi política?", la pregunta pasa a ser "¿cómo pongo mi política a su alcance?".
- •Sin fuente, no hay verdad: la IA no inventa a propósito: completa los vacíos.
- •Tus datos = al alcance: las políticas, las preguntas frecuentes y los manuales deben incluirse en el contexto.
- •Fundamento del RAG: recuperar la fuente es lo que fundamenta la respuesta.
Conceptos clave
La IA solo ve el contexto.
Tus archivos no se incorporan por sí solos.
Sin fuente, la completa.
Recupera y ancla la respuesta.
⚖️ System prompt vs vector store (cuándo usar cada uno)
Qué es
Hay dos formas de darle conocimiento al agente. En system prompt, pegas el texto completo directamente en las instrucciones: la forma más sencilla y económica, ideal para un documento pequeño y estable. En el vector store (RAG), el agente busca solo las secciones relevantes para cada pregunta: escalable, recomendado cuando la base es grande o crece.
¿Qué es?System prompt — el bloque fijo de instrucciones que define cómo actúa el agente; admite texto, pero siempre ocupa contexto. Vector store — un repositorio que guarda tus documentos listos para buscarlos por significado; el agente toma solo el fragmento necesario.
Por qué aprender
Elegir mal cuesta caro de dos maneras. Si incluyes una base enorme en el system prompt, consumes contexto en cada llamada (más tokens, más lento) y además alcanzas el límite de la ventana cuando la base crece. Si creas un vector store para un solo párrafo, agregas complejidad sin obtener beneficios. La regla práctica: documento pequeño y fijo → system prompt; base grande o que crece → vector store.
✓ Vector store (opción para escalar)
- ✓Busca solo el fragmento relevante — no carga toda la base.
- ✓Escala: puedes crecer de 5 a 500 documentos.
- ✓Menor costo de contexto por pregunta.
✗ Todo en el system prompt (no escala)
- ✗Carga el documento completo en cada llamada.
- ✗Consume contexto (token) incluso en lo que no se preguntó.
- ✗Limita el crecimiento: la ventana se desborda cuando crece la base.
🎯 Consejo práctico
Empieza por lo más simple: si es una FAQ de un párrafo, pégala en el system prompt y pruébala. Migra a vector store solo cuando la base tenga varias secciones o empiece a crecer; no montes un indexador para algo que cabe en tres líneas.
Conceptos clave
Texto directo, barato y pequeño.
Encuentra lo relevante, escala bien.
Un prompt completo consume tokens siempre.
Fijo y corto → prompt; grande → vector.
🧬 Embeddings y vector store en lenguaje sencillo
Qué es
Embedding es transformar un texto en números que capturan el significado. Las frases parecidas en significado se convierten en conjuntos de números cercanos, incluso sin tener ninguna palabra en común. El vector store guarda estos números y, al momento de la búsqueda, encuentra los fragmentos cuyo significado se acerca más a la pregunta: no por coincidir exactamente en las palabras, sino por la proximidad de significado.
¿Qué es?Embedding — una lista de números (un «vector») que representa el significado de un texto. Búsqueda por similitud — encontrar los fragmentos cuyos vectores están más cerca del vector de la pregunta. Por eso, "¿cómo devuelvo un producto?" encuentra un documento titulado "Política de cambios", aunque no aparezca la palabra "devuelvo".
Diagrama ilustrativo — la búsqueda compara distancias en el espacio del significado. Los puntos cercanos a la pregunta (azul) se convierten en los fragmentos recuperados; los lejanos (gris) se ignoran.
Por qué aprender
Este es el motor que hace que la búsqueda «entienda» la pregunta. Sin embeddings, dependerías de que el usuario use exactamente las mismas palabras del documento — algo frágil y propenso a fallos. Con embeddings, «quiero que me devuelvan el dinero» encuentra la «Política de reembolso» porque el sentido coincide. Saber esto explica por qué el vector store encuentra el fragmento correcto y por qué, a veces, se equivoca (cuando el significado realmente está lejos).
Conceptos clave
Embedding captura el sentido.
La distancia mide la similitud.
Busca por significado, no por letra.
Es lo que hace que RAG «entienda».
📥 Indexador (trigger manual → docs → vector store)
Qué es
O indexador es un flujo separado del agente, que existe solo para completar el vector store. La secuencia es: disparador manual → leer los documentos → dividir en partes (divisor de texto) → generar embeddings → cargar el vector store. Ejecutas este flujo una vez para crear la base y de nuevo cada vez que cambien los documentos.
¿Qué es?Disparador manual — tú presionas «ejecutar» cuando quieres; no se ejecuta solo. Text splitter — divide un documento largo en fragmentos más pequeños, del tamaño que la búsqueda puede comparar bien. Vector store en memoria — una versión que existe mientras el flujo está activo; ideal para aprender y probar.
Diagrama ilustrativo — el indexador es un flujo de una sola dirección que termina llenando el vector store. No responde preguntas; solo prepara la base.
Por qué aprender
Separar la indexación de la consulta es el patrón de arquitectura de RAG. El indexador se ejecuta rara vez (una vez o cuando cambia la base); el agente se ejecuta con cada pregunta. Mezclar los dos haría que volvieras a indexar todo en cada consulta: lento y costoso. Entender esta separación es lo que evita el error más común: activar el agente antes de que exista la base.
🎯 Consejo práctico
Ejecuta el indexador antes de activar el agente — la base debe estar poblada para que la búsqueda encuentre algo. Si usas un vector store en memoria, recuerda: al reiniciar el flujo, la base desaparece; vuelve a ejecutar el indexador antes de probar.
Conceptos clave
Indexar ≠ consultar.
Text splitter prepara la búsqueda.
Una vez o al actualizar.
La salida es la base de datos poblada.
🚏 Classifier — enrutar antes de gastar en el agente
Qué es
O clasificador de texto es un nodo que decide temprano, desde el inicio, si el mensaje es relevante (por ejemplo: "¿es una pregunta de soporte?" frente a "¿es spam o está fuera de alcance?") y enruta de acuerdo. Solo lo importante pasa al agente más costoso; el resto se detiene o se procesa de forma económica antes de gastar en el modelo.
¿Qué es?Clasificar — encajar la entrada en una categoría ("soporte", "ventas", "fuera del alcance"). Enrutar — enviar cada categoría a una ruta distinta del flujo. Clasificación — ese filtro económico al inicio, antes del trabajo pesado.
Diagrama ilustrativo — el filtro económico decide el destino. Solo la ruta «relevante» (cian) llega al agente costoso; el resto se detiene antes, ahorrando tokens.
Por qué aprender
Un triaje económico antes del agente ahorra tokens y evita respuestas fuera de alcance. Sin el clasificador, cada mensaje — incluidos el spam y los temas que ni siquiera son tuyos — activa al agente costoso, que consume contexto y hasta puede intentar responder algo que no debería. Con él, usas el modelo solo cuando vale la pena y mantienes al agente dentro del alcance acordado.
Conceptos clave
Clasificación al inicio.
Cada categoría, un camino.
Solo lo relevante consume al agente.
Bloquea lo que se sale del tema.
🎯 Confidence score y fallback (no inventar)
Qué es
El agente emite un marcador de confianza junto con la respuesta; por ejemplo, alta (>0,8) / media (0,6–0,8) / baja (<0,6), o incluso una etiqueta sencilla como «política encontrada» / «ninguna política encontrada». Un nodo de código lee este marcador y un nodo IF se ramifica: cuando hay un fragmento relevante, sigue el borrador de la respuesta; cuando no lo hay, cae en un fallback educado («vamos a investigar y te respondemos») en lugar de alucinar.
¿Qué es?Confidence score — una nota que da el agente para indicar cuánto respalda la fuente su respuesta. Fallback — la alternativa honesta cuando no hay suficiente información en la base. Nodo IF — la bifurcación que elige entre «responder» y «fallback».
Diagrama ilustrativo — la bifurcación según la confianza. La rama de baja confianza (roja) no es un error: el agente se niega a inventar.
Por qué aprender
Un agente que se niega a inventar es un resultado deseado, no un bug. Cuando recurre al fallback porque no encontró la política, está siendo honesto: es mucho mejor que dar un plazo o un monto inventado que podría causar pérdidas y romper la confianza. El indicador de confianza es lo que permite controlar este comportamiento: defines el umbral y decides en el código cuándo responder y cuándo abstenerse.
✓ Rechaza inventar (fallback honesto)
- ✓Sin un fragmento relevante → "no tenemos eso aquí; vamos a investigar y te respondemos".
- ✓Una confianza baja activa el fallback automáticamente.
- ✓Comportamiento predecible y auditable (ves la nota).
✗ Alucinar una respuesta
- ✗Inventar un plazo o valor que "parece correcto".
- ✗Responder con confianza incluso sin fuentes en el store.
- ✗Tratar el "no sé" del agente como un defecto que hay que eliminar.
La secuencia de construcción del RAG
-
1
Índice — ejecuta el indexador (docs → fragmentos → embeddings → vector store) y confirma que la base esté poblada.
-
2
Classifier — coloca el filtro de clasificación al inicio para bloquear lo que está fuera del alcance antes de que llegue al agente.
-
3
Agente con tool de vector store — el agente consulta la base y responde con fundamento en el fragmento recuperado.
-
4
Fallback — revisa la confianza, ramifica en el IF y, si no hay un fragmento relevante, responde con el fallback honesto.
🎯 Objetivo: armar la base de conocimiento (indexador) y el agente que la consulta
crie um indexador (trigger manual → ler <meus-documentos> → dividir em pedaços → embeddings → vector store) e um agente que classifica a pergunta, busca no vector store e, se não achar nada relevante, responde com um fallback honesto em vez de inventar.
✅ Cómo verificar: ejecuta el indexador una vez; haz una pregunta fuera de alcance y confirma que el agente use la respuesta alternativa (sin alucinar).
🧩 Pseudocódigo: leer el marcador de confianza y ramificar en el IF
confianca = ler_marcador(resposta_do_agente) // ex.: 0.42
se confianca < 0.6:
rota = "preciso pesquisar" // fallback honesto
senão:
rota = "rascunhar resposta" // responder ancorado
// o nó IF usa "rota" para escolher o caminho do fluxo
✅ Cómo verificar: fuerza una confianza baja (pregunta sin fuente) y confirma que «ruta» se convierta en «necesito investigar».
🎯 Consejo práctico
Prueba con una pregunta fuera de alcance y confirma que el agente no inventes — debe pasar al fallback. Esta prueba de «pregunta sin fuente» es la mejor demostración de que tu RAG es honesto.
Conceptos clave
Alta / media / baja.
Interpreta el score.
Responder o usar una alternativa.
"No sé" no es un bug.
Al cerrar el módulo: qué hace un buen agente RAG lo hace cuando la búsqueda no encuentra ¿nada relevante?
📌 Resumen del módulo
Siguiente módulo:
Ruta 3 — Prompts y patrones de conversación