Portada
EL LIBRO DE GETNET

6. RAG — conocimiento corporativo

Estudio · Pieza 6 de 17

0:000:00

1 · QUÉ ES — PARA PROFANOS

El modelo no sabe nada de tu empresa. Reentrenarlo con tus documentos cuesta una fortuna y

cada cambio tardaría semanas. Y no puedes pegarle todo en el prompt: no cabe, y pagas por cada

token.

RAG es la solución de cajón: Recupera, Aumenta, Genera.

1. Recupera — buscas en tus documentos los trozos que tienen que ver con la pregunta.

2. Aumenta — los metes en el prompt junto con la pregunta.

3. Genera — el modelo responde solo con eso delante.

La metáfora médica: el modelo es el especialista; RAG es el historial del paciente abierto

por la página correcta antes de opinar. Sin historial, habla de memoria; con él, habla del caso.

Y como el especialista debe poder decir de qué página sacó cada afirmación, el RAG serio exige

citas.

Las piezas, en orden: ingesta → troceado (chunking) → embeddings → índice → búsqueda →

prompt con contexto → respuesta con cita.

El matiz que lo cambia todo en un banco: el mismo sistema que busca debe no enseñar a cada

empleado los documentos que no le tocan. Eso es "control de acceso a fuentes" — y la JD lo pide

literal.

El pipeline estándar: LangChain o LlamaIndex para el armazón, un modelo de embeddings

(text-embedding-3, bge-m3), y un motor vectorial (Pinecone, Azure AI Search, pgvector). La búsqueda

es híbrida: vector (significado) + BM25 (palabra exacta), fusionados con RRF y un reranker

encima.

Por qué híbrida y no solo vectorial: cada técnica falla donde la otra acierta. "T-17" no tiene

parecido semántico con nada; "¿qué hago si me duele?" no contiene la palabra "dolor". Solo las dos

juntas son fiables — esto es conocimiento estándar del sector desde 2024.

Los tres controles que un RAG serio lleva:, Control, Qué es, Qué pasa sin él,, Grounding, la respuesta debe citar el fragmento, el modelo "decora" y nadie lo nota,, Abstención, decir "no lo sé" cuando no está, inventa normativa con aplomo,, Control de acceso, filtrar por permisos antes de buscar, filtra información entre áreas — en banca, un incidente, ## 3 · NUEVAS TENDENCIAS

- GraphRAG: además de trozos, un grafo de entidades y relaciones. Responde mejor a preguntas

globales ("¿qué dicen TODOS los contratos sobre X?") que un RAG de trozos sueltos.

- RAG agéntico: el agente corrige su propia búsqueda — reformula la consulta si no encuentra,

busca de nuevo con otros términos, decide cuándo parar. La recuperación deja de ser un paso y se

convierte en un bucle controlado.

- Contexto largo contra RAG: los modelos de 1M+ tokens pueden tragarse libros enteros. La

discusión del sector ya no es "¿RAG sí o no?" sino "¿qué es más barato: recuperar bien o meterlo

todo?". La respuesta en 2026: recuperar bien gana — porque el coste crece con el contexto.

- Embeddings mejorados: Matryoshka (un mismo vector sirve para varias dimensiones) y vectores

binarios (memoria y latencia a la décima parte).

- Contextual retrieval (Anthropic): se añade contexto del documento a cada trozo antes de

indexar — mejora la recuperación sin cambiar el modelo.

No tenemos un RAG: tenemos SEIS, y cada uno existe por una decisión de diseño distinta.

RAG 1 · %RAG.m — TF-IDF en 41 líneas. Sin embeddings: un nodo de 242 MB de RAM no admite

cargar un modelo. 2.255 documentos · 1,79 M caracteres · 302 ms por consulta. La lección: no

siempre hace falta IA dentro del RAG.

RAG 2 · corpusrag.m — la saga troceada estructuralmente. Todo el corpus literario con

identificadores LIBRO:cNN:pK (libro:capítulo:página). El troceado es estructural: cada fragmento

sabe de dónde viene, y por eso se puede citar.

RAG 3 · vocesrag.m — RAG por personaje. 1.278 líneas de citas con VOCES:<slug>:<k>, cada

una con su libro y capítulo. La pregunta "¿cómo habla Ada?" se responde con las frases de Ada. Es

control de acceso llevado al extremo: el alcance es el personaje.

RAG 4 · ebvecload.m — el jerárquico con MiniLM. Embeddings de 384 dimensiones cuyo índice

es la propia jerarquía de rutas. Cuando la estructura ya existe, no hace falta motor vectorial

aparte — lo que la industria compra como "FAISS local con metadatos".

RAG 5 · Zalo — el híbrido de producción en edge. Tres niveles en cascada: bge-m3 + Vectorize

(topK 30) → FTS5 (15 documentos) → LIKE (5.000 caracteres), con deduplicación por contenthash.

Un solo índice falla; tres niveles no devuelven vacío. El sistema no responde "no encontrado"

cuando el dato existe.

RAG 6 · El clínico — recuperación dirigida por el auditor. En imagen médica, la búsqueda no va

por similitud semántica: va dirigida por el auditor clínico, porque lo relevante no es lo que se

parece, es lo que importa clínicamente.

Y los tres controles del sector, implementados:

- Control de acceso: filtro alcance por documento, aplicado en la consulta, no en el

prompt. Si el control está en el prompt, un cambio de redacción lo tira; si está en la consulta,

no hay prompt que lo desactive.

- Cita obligatoria: si la respuesta no está en el contexto recuperado, el modelo tiene que

decirlo. Sin cita, el resultado se descarta.

- Higiene de ingesta: deduplicación por hash antes de insertar, commit por proyecto, purga del

índice por lotes.

> "He hecho seis RAG distintos, y ninguno se parece al anterior: TF-IDF donde no cabía un modelo,

> un corpus troceado estructuralmente, un RAG por personaje con su alcance, uno jerárquico sin motor

> vectorial, y un híbrido de tres niveles en producción. Cada uno tiene una decisión de diseño

> detrás. Y el control de acceso lo hago en la recuperación, no en el prompt — que es exactamente

> donde la JD lo pide."

> "Diseñar e implementar arquitecturas RAG para integrar conocimiento corporativo con modelos

> generativos." · "Trabajar con embeddings, búsqueda semántica y vector databases." ·

> "Control de acceso a fuentes utilizadas por soluciones RAG."

La lectura: de todo el bloque técnico, RAG es la responsabilidad más concreta — y la última

frase, el control de acceso, es la que casi ningún candidato puede marcar. Es nuestro punto más

fuerte: lo tenemos implementado y en producción.

"¿Cómo controlas que un RAG no enseñe documentos sin permiso?"

> "En la recuperación, no en el prompt. Cada documento lleva un campo de alcance y la consulta

> filtra por él antes de llegar al modelo. Un mismo índice sirve a perfiles distintos sin duplicar

> el corpus, y un usuario no puede recibir un fragmento que no le toca aunque la búsqueda lo

> encuentre. La razón de hacerlo ahí: si el control está en el prompt, un cambio de redacción o un

> modelo distinto lo tira; si está en la consulta, no hay prompt que lo desactive."

"¿Cómo troceas los documentos?"

> "Depende del corpus. Para los libros, troceado estructural — capítulo:página — porque el

> fragmento debe saber de dónde viene para poder citarlo. Para documentos operativos, trozos con

> solape controlado. La regla que aplico: el trozo es una promesa de cita, no una unidad arbitraria.

> Si no puedes decir de dónde salió un trozo, no deberías indexarlo."

"¿Qué haces cuando la búsqueda no encuentra nada?"

> "Mi híbrido de producción tiene tres niveles en cascada: vectorial, texto completo y literal. Si

> el primero no devuelve, entra el segundo; si falla, el tercero. Y solo entonces, si de verdad no

> está, el sistema dice 'no lo sé' — con la obligación de decirlo, porque en normativa abstenerse

> vale más que improvisar. Un RAG que devuelve 'no encontrado' cuando el dato existe es un RAG roto

> de una forma muy concreta: tiene un solo índice."

"¿Qué métricas usarías para medir la calidad del RAG?"

> "Un conjunto dorado de unas 200 preguntas reales con su documento correcto etiquetado. Y cuatro

> cosas: que el documento correcto esté entre los primeros (recall@k), que la cita exista en el

> texto, que sepa abstenerse cuando no está, y que no pueda devolver nada sin permiso. El umbral

> que aplicaría: 85 % en el top cinco para desplegar, y tolerancia cero en fuga de permisos — la

> fuga no es calidad, es un incidente. No tengo ese número medido hoy, y prefiero decirlo a

> inventarlo: tengo el método y el umbral."

Volver al índice del estudio
Cadences Lab · voz MS Edge (Álvaro) · director de la saga · texto sincronizado palabra a palabra
Siguiente: la pieza siguiente
Continúa solo en 15 segundos