Tu cliente tiene un manual de procedimientos de doscientas páginas y quiere que sus empleados le pregunten cosas en lenguaje natural. Meter todo el manual en cada consulta es lento, caro y muchas veces ni entra en el contexto del modelo. Reentrenarlo es desproporcionado. La salida más usada es RAG, por retrieval-augmented generation: generación aumentada por recuperación.
La idea en una frase
Antes de preguntarle al modelo, buscás en tus documentos los pasajes que parecen relevantes y se los pasás junto con la pregunta. El modelo contesta apoyándose en ese material, no en lo que recuerda de su entrenamiento. Es el equivalente a dejarle abierto el manual en la página correcta.
El flujo, paso a paso
1. Dividir. Los documentos se cortan en fragmentos (en inglés, chunks) de un tamaño manejable, digamos unos pocos párrafos. Es una decisión que parece menor y no lo es, más abajo vuelvo sobre eso.
2. Indexar. Cada fragmento se guarda en un índice que permita buscarlo después. Puede ser un índice de texto, uno semántico basado en embeddings o una combinación. Junto con el texto conviene guardar de dónde salió: archivo, título, sección, página.
3. Recuperar. Cuando llega una pregunta, se usa para buscar en el índice y se toman los mejores fragmentos, por ejemplo los cinco primeros.
4. Armar el prompt. Se construye la instrucción con la pregunta y los fragmentos encontrados:
Respondé la pregunta usando solo los fragmentos de abajo.
Si la respuesta no está en ellos, decí que no la encontraste.
Al final, indicá de qué fragmento sale cada dato.
[Fragmento 1 - manual_vacaciones.pdf, sección 3]
...
[Fragmento 2 - manual_vacaciones.pdf, sección 5]
...
Pregunta: ¿Con cuánta anticipación hay que pedir una licencia?
5. Citar fuentes. Pedirle al modelo que indique el fragmento de origen le permite a quien lee verificar la respuesta. En una herramienta interna, esto marca la diferencia entre algo en lo que se puede confiar y algo que se usa con desconfianza.
Dónde falla en la práctica
Un RAG armado en una tarde da buenas demos y problemas en uso real. Los fallos más comunes:
Fragmentos mal cortados. Si cortás cada mil caracteres sin mirar el contenido, una regla puede quedar partida entre dos fragmentos: la condición en uno y la excepción en otro. Cortar respetando títulos y párrafos, y dejar un pequeño solapamiento entre fragmentos contiguos, ayuda. Las tablas y las listas numeradas suelen sufrir especialmente.
Recuperación que trae lo irrelevante. Si el buscador devuelve pasajes que se parecen en palabras pero no responden la pregunta, el modelo trabaja con material equivocado. Revisá a mano qué recupera el sistema para una muestra de preguntas reales. Muchas veces el problema no está en el modelo sino en la búsqueda. Pasa también lo contrario: la respuesta existe pero no queda entre los primeros resultados.
Respuestas que ignoran el contexto. Aun con los fragmentos correctos, el modelo puede contestar con lo que "sabe" o mezclar ambas fuentes. Una instrucción explícita de usar solo el material, y de admitir cuando no alcanza, reduce el problema pero no lo elimina. Hay que probarlo con preguntas cuya respuesta no esté en los documentos y comprobar que el sistema diga que no la encontró.
Documentos desactualizados. Si el manual cambia y el índice no, el sistema responde con reglas viejas. Definí cómo se reindexa y cuándo, y quién se entera si falla.
Permisos. Si hay documentos que no todos pueden ver, la recuperación tiene que filtrar por usuario antes de armar el prompt. Después ya es tarde: lo que entra al contexto puede terminar en la respuesta.
Cómo evaluarlo
Armá un conjunto de preguntas con su respuesta esperada y el documento donde está. Medí dos cosas por separado: si la búsqueda trae el fragmento correcto y si el modelo contesta bien dado ese fragmento. Cuando todo se mide junto, no sabés dónde arreglar.
Un cierre práctico
Empezá con pocos documentos y una búsqueda simple, mirá los errores reales y recién ahí sumá complejidad. Muchas veces el mayor salto de calidad viene de limpiar y estructurar los documentos de origen, no de cambiar de modelo.