- Inicio
- Casos de estudio
- De minutos a menos de un minuto: reconstruir un sistema RAG
De minutos a menos de un minuto: reconstruir un sistema RAG

Jesús fue clave para ayudarnos a renovar el sistema RAG que impulsaba el software de mensajería con huéspedes de Cortado. Con su ayuda reconstruimos nuestro sistema de recuperación desde los primeros principios, y convertimos un mamotreto sobrediseñado en una máquina de recuperación ágil y afilada. Mi equipo recomendaría a Jesús a cualquiera que quiera dominar el machine learning moderno para la era de la inteligencia artificial.

Harry Dubke
CTO, Cortado, Inc.
El reto
El huésped esperaba minutos por una respuesta, y la razón era la capa de recuperación debajo del agente.
El producto de Cortado responde mensajes de huéspedes con agentes LLM. Responder bien uno de esos mensajes es un problema de recuperación antes que un problema de lenguaje: el agente tiene que tener enfrente los datos correctos de esa propiedad en particular, y esos datos vivían en fuentes separadas y no en un solo lugar.
El sistema que se había construido para juntarlos había crecido más allá de la tarea. La descripción es del propio CTO: un mamotreto sobrediseñado. Y el sobrediseño se manifiesta como latencia, porque cada salto extra entre la pregunta y los datos es tiempo que el huésped pasa mirando el indicador de “escribiendo”. Las respuestas tomaban minutos. En un mercado de alquileres donde el huésped puede hacerle la misma pregunta a alguien más, eso no es un detalle técnico.
El lado de la ingesta tenía la misma forma desde el otro extremo: un único proceso monolítico, donde cada etapa avanzaba a la velocidad del conjunto.
El enfoque
Reconstruimos la recuperación desde los primeros principios en vez de optimizar lo que ya existía.
Esa distinción fue la que más pesó en todo el trabajo. Optimizar un sistema sobrediseñado suele conservar justo aquello que lo hace lento, porque las partes que más tiempo cuestan son casi siempre las más difíciles de quitar sin antes decidir que nunca hicieron falta. Partir de lo que el agente realmente necesita al momento de responder vuelve explícita esa decisión, en vez de heredarla.
De ahí salieron dos definiciones. La recuperación tiene un solo lugar de donde leer, así que una respuesta ya no depende de cuál fuente se haya consultado. Y la ingesta deja de ser una sola pieza, así que una etapa lenta deja de marcarle el ritmo a las demás.
La solución
Un solo camino de recuperación, un solo almacén detrás, y una ingesta que corre por partes.
Datos de propiedades consolidados en una base vectorial Pinecone. Los datos que el agente necesita estaban repartidos en fuentes separadas. Llevarlos a un solo almacén vectorial les dio a los agentes un único lugar de donde recuperar, y eso es lo que mejoró la precisión de las respuestas: la relevancia pasó a ser una propiedad de la recuperación y no de cuál fuente alcanzó a tocar la pregunta.
Un sistema de recuperación más liviano, reconstruido y no ajustado. El camino nuevo hace lo que el agente necesita al responder y nada más, que es de donde volvió la latencia.
La ingesta pasó de un monolito a microservicios distribuidos y orientados a eventos. Las etapas publican y consumen eventos en vez de correr como un bloque, así que la latencia de procesamiento bajó y una etapa se puede cambiar sin redesplegar el proceso entero a su alrededor.
Resultados
La latencia de respuesta del agente bajó de minutos por respuesta a menos de un minuto.
La precisión de la recuperación mejoró y la satisfacción de los clientes mejoró. Ninguna de las dos vino con una cifra de parte del cliente, así que ninguna lleva una cifra aquí. Por eso la franja de métricas de arriba carga un número de latencia y un conteo y nada más: las mejoras que el cliente reportó de forma cualitativa se quedan cualitativas, e inventarle un porcentaje a cualquiera de las dos sería la mentira más fácil de esta página y la más difícil de notar.
Lo que sí evidencia el trabajo es la forma de la solución. Una capa de recuperación que había acumulado más maquinaria de la que el problema pedía fue reemplazada por una que no, y el tiempo de respuesta se movió un orden de magnitud.
Qué lo hizo difícil
Decidir qué borrar es más difícil que decidir qué construir. Un sistema sobrediseñado rara vez se construye con descuido; casi siempre lo construye gente que fue respondiendo a restricciones reales, una por una. Reducirlo implica averiguar cuáles de esas restricciones seguían siendo reales y cuáles se siguieron rodeando mucho después de que dejaran de importar, y equivocarse en esa dirección se lleva por delante algo que sostenía el peso.
Consolidar fuentes separadas obliga a preguntarse cuál es la respuesta canónica. Cuando varias fuentes se vuelven un solo almacén, todo punto donde antes se contradecían se resolvía por accidente, según cuál fuente alcanzara la consulta. Después de consolidar, esa resolución tiene que ser una decisión que alguien tomó a propósito.
La migración de la ingesta corrió con el producto en vivo. Pasar de un monolito a eventos es fácil de describir e implacable de secuenciar, porque el camino viejo tiene que seguir atendiendo huéspedes mientras el nuevo toma el relevo etapa por etapa, y los estados intermedios son justo los que nadie diseña.
Una limitación honesta, para quien lea esto para juzgar si se parece a su problema. Lo que quedó instrumentado acá es la latencia. La precisión y la satisfacción las reportaron como mejores las personas dueñas del producto, y no quedaron medidas en un número que se pueda citar, que es un estado normal en una reconstrucción de recuperación y aun así una brecha que vale la pena nombrar.
El camino de escritura y el de lectura
Ingesta, el camino de escritura
Fuentes separadas
Datos de propiedades, repartidos en más de un sistema
Servicios orientados a eventos
Las etapas publican y consumen eventos en vez de correr como un bloque, así que una etapa lenta deja de marcar el ritmo
Almacén vectorial
El único lugar donde aterrizan los datos de propiedades, y el único de donde lee la recuperación
Respuesta, el camino de lectura
Mensaje del huésped
Una pregunta sobre una propiedad en particular
Recuperación
Reconstruida para traer lo que el agente necesita al responder y nada más
Agente LLM
Responde con lo que devolvió la recuperación
El almacén es donde se unen los dos carriles, y eso es lo que hace que una respuesta no dependa de la fuente de la que salió originalmente cada dato.
Siguiente caso de estudio
unos $77M
de gasto en publicidad política de TV rastreado y atribuido
De expedientes de la FCC a unos $77M de gasto publicitario rastreado
una consultora política estadounidense
Lee el caso de estudio
Tu proceso probablemente está en esta lista de alguna forma
La lectura que le cuesta un día a la semana a una persona, el reporte que nadie quiere armar, las preguntas que interrumpen al mismo gerente. Cuéntanos cuál es el tuyo y te decimos si vale la pena automatizarlo.