Jesús Martínez
EN
← Notas

Nota · 30 sep 2026 · 3 min de lectura

A tu RAG probablemente le sobran piezas.

La mayoría de los sistemas de recuperación que me piden arreglar no necesitan otro componente. Necesitan menos.

La llamada casi siempre empieza igual. El asistente es lento, algunas respuestas están mal y el equipo ya intentó arreglarlo agregando cosas: un reescritor de consultas, un segundo índice, un re-ranker, un agente que decide si vale la pena buscar. Cada pieza tenía sentido el día que salió. Juntas armaron un sistema que nadie logra entender.

Lo he visto tantas veces que ahora mi primera pregunta es: ¿qué podemos quitar?

Cómo se vuelve pesada la recuperación

Nadie se propone construir un monstruo. La recuperación se vuelve pesada un arreglo razonable a la vez. Una respuesta sale mal, así que alguien agrega un paso para ese caso. La latencia sube, así que alguien agrega una caché. Los datos viven en tres lugares, así que el pipeline aprende a consultar los tres y a mezclar los resultados.

Cada etapa es un lugar donde el pasaje correcto se puede perder.

El costo no es solo la velocidad. Cada etapa es un lugar donde el pasaje correcto se puede perder, y cuando una respuesta sale mal, ya no sabes en qué etapa se perdió. Depurar se vuelve arqueología.

Cómo se ve una reconstrucción

Uno de mis clientes, una plataforma de alquiler de propiedades, usaba un agente de IA para responder los mensajes de los huéspedes. Las respuestas tardaban minutos. La recuperación detrás del agente había crecido hasta volverse lo que su CTO después llamó «un monstruo sobrediseñado».

La reconstruimos desde cero, partiendo de los principios. El cambio más grande fue el menos emocionante: los datos de las propiedades vivían en varias fuentes desconectadas, así que los consolidamos en un solo índice vectorial donde los agentes pudieran buscar. Un solo lugar donde mirar y un solo lugar donde arreglar. También pasamos la ingesta de un monolito a servicios pequeños basados en eventos, para que un anuncio editado llegara al índice sin reprocesar todo lo demás.

La forma del problema, simplificada. A la izquierda, muchas etapas y fuentes entre la pregunta y la respuesta. A la derecha, un solo índice.

Las respuestas pasaron de minutos a menos de un minuto, y se volvieron más precisas. Nada en el diseño nuevo era ingenioso, y esa era la idea.

Por dónde empezaría

Si tu recuperación se siente lenta o poco confiable, prueba esto antes de agregar nada:

  1. Haz una lista de cada etapa entre la pregunta y la respuesta, y de para qué sirve cada una. Si nadie recuerda por qué existe una etapa, es tu primera candidata.
  2. Arma un set de prueba pequeño: cincuenta preguntas reales, cada una con el pasaje que debería responderla. Sin eso, no puedes quitar nada con seguridad.
  3. Quita una etapa a la vez y vuelve a correr el set. Quédate con lo que se gana su lugar.
  4. Pon tus datos en la menor cantidad de lugares posible. La mayoría de los errores de recuperación terminan siendo errores de datos.

A veces sí necesitas el re-ranker. Deberías poder señalar las preguntas que arregla.

La recuperación tiene un solo trabajo: poner el pasaje correcto frente al modelo, rápido, de una forma que puedas depurar a las 3 de la mañana. Todo lo que no ayude con ese trabajo puede irse.

¿Problemas con tu recuperación?

Todas las notas →