# Antes de encender la IA, medila

> Construí un RAG completo para tasar propiedades, lo medí sobre 113 consultas y quedó encendida la opción más simple. Qué medir antes de pagar por IA.

Autor: Ricardo Brossard (Ingeniero en sistemas · IA y automatización) · Publicado: 2026-09-18 · Temas: IA, RAG, Evaluación
URL: https://ricardobrossard.com/blog/antes-de-encender-la-ia-medila/

Para una inmobiliaria de Buenos Aires construí el Tasador: una aplicación que arma el informe de tasación de una propiedad con los avisos comparables que justifican el precio. Adentro tiene un RAG completo, lo que hoy muchos proveedores venden como el corazón de "su IA": fragmentación de avisos, embeddings locales en pgvector, búsqueda léxica, fusión de rankings y un reranker. De todo eso quedó encendida una sola pieza: la búsqueda léxica, la más simple.

No la elegí por gusto ni por ahorro. La elegí porque ganó una medición cuya regla escribí antes de conocer el resultado. Sirve para cualquier negocio que esté por sumar IA: primero se define qué cuenta como mejora, después se mide, y se enciende lo que gana.

## Qué es un RAG y por qué no alcanza con construirlo

RAG es buscar primero la información relevante y recién después pedirle al modelo que trabaje con eso. En el Tasador, la búsqueda tiene que traer, entre miles de avisos, los 60 más parecidos a la propiedad que se tasa. Si trae avisos que no comparan, el precio sale peor, por bueno que sea el modelo que viene después.

Hay varias maneras de hacer esa búsqueda. La léxica busca por palabras, con las raíces del español ("ambientes" encuentra "ambiente"). La densa convierte cada texto en una lista de números y compara significados. La fusión mezcla los dos rankings (usé Reciprocal Rank Fusion, que no pide calibrar escalas entre uno y otro). El reranker es un segundo modelo que reordena los finalistas mirando la propiedad y el aviso juntos.

> Figura: Las cuatro piezas del RAG del Tasador. Todas construidas y medidas; quedó encendida la que ganó.

- Búsqueda léxica (encendida): Por palabras, con las raíces del español.
- Búsqueda densa (apagada): Embeddings locales en pgvector.
- Fusión de rankings (apagada): Reciprocal Rank Fusion entre densa y léxica.
- Reranker (apagada): Un segundo modelo que reordena los finalistas.

Sobre el papel, cada pieza suma. En la práctica, cada pieza cuesta: tiempo de cómputo, mantenimiento y un punto más donde algo se puede romper. La única forma de saber si paga lo que cuesta es medirla.

## La vara, escrita antes de medir

Antes de correr una sola comparación escribí la regla para encender una pieza nueva. Tenía que cumplir tres condiciones: superar al sistema base en la métrica principal por fuera del margen de error, bajar la cantidad de avisos que el propio sistema termina descartando por no comparables, y no empeorar el error de precio. Si no las cumplía, quedaba construida, medida y apagada.

Escribirla antes importa. Después de semanas construyendo un reranker, es fácil encontrarle una métrica donde brille. Con la regla escrita, esa discusión no existe.

Después armé la vara: 113 consultas fijas, las mismas para todas las variantes, y cuatro métricas:

- **nDCG@25**: qué tan buenos son los primeros 25 resultados y qué tan arriba aparecen los mejores. 1 es perfecto.
- **Recall**: qué parte de los avisos relevantes aparece entre los primeros 30.
- **MRR**: qué tan arriba aparece el primer resultado bueno.
- **bpref**: una métrica que tolera que no todos los avisos tengan juicio de relevancia.

Qué es relevante lo decidió el mismo paso de curaduría del sistema, aplicado a la unión de lo que traían todas las variantes. Y para no confundir ruido con mejora, cada diferencia contra el sistema base lleva un intervalo por bootstrap apareado: se remuestrean las consultas para ver si la ventaja se sostiene o depende de un par de casos.

## Qué salió

El sistema base (filtro por barrio, superficie y ambientes, con los avisos más recientes primero) sacó 0,747 de nDCG@25. La búsqueda léxica sola, 0,821, por fuera del intervalo. Fue la mejor en lo que el informe usa: el orden, la cobertura y cuántos avisos termina descartando la curaduría, que bajaron del 29 % al 22 %. Y el error de precio, lejos de empeorar, bajó dos puntos.

Todas las variantes con embeddings quedaron por debajo del léxico. Las híbridas, que fusionan denso y léxico, solo ganaron en bpref. El reranker compraba el primer puesto (MRR de 0,935) a cambio de 30 segundos más por informe, y nada más: contra el híbrido sin reranker, la diferencia en nDCG fue ruido.

> Figura: nDCG@25 sobre las mismas 113 consultas (1 es perfecto; el eje arranca en 0,70 para que se vean las diferencias). La léxica sacó el mejor valor y fue la que quedó encendida.

- Base: filtro + más recientes: 0,747
- Densa, aviso truncado: 0,805
- Densa, por oraciones: 0,760
- Léxica, texto completo en español: 0,821
- Híbrida densa + léxica: 0,781
- Híbrida + reranker: 0,790

La explicación tiene sentido una vez que se ve el dato. Los avisos inmobiliarios repiten un vocabulario muy concreto: ambientes, cochera, balcón. Buscar por palabras aprovecha eso mejor que un modelo de embeddings chico, que era el que se podía correr en CPU con experimentos repetibles.

Encendí el léxico. El denso y el reranker siguen construidos y medidos, apagados detrás de una opción de configuración. Si mañana aparece un modelo mejor, se vuelve a medir con la misma vara y se decide con datos.

## Medir también los controles

La misma lógica vale para los controles que evitan que la IA invente. En el Tasador el precio no lo calcula un modelo: lo calcula una fórmula explícita. El modelo redacta la explicación, y un control sin IA busca cada cifra del texto en los datos del informe. Una sola cifra que no aparece, y el texto se rechaza.

Ese control también lo audité. Le inyecté precios inventados para ver cuántos pasaban. Con una regla de tolerancia que parecía razonable, pasaba el 50,5 %: la mitad. Después de tres correcciones, cada una medida, pasa el 4,3 %. No es cero, y no lo presento como cero. Es un número conocido, que se vuelve a medir cada vez que algo cambia.

> Figura: Auditoría del crítico: precios inventados a propósito que igual pasaban el control. Cada corrección se midió antes de pasar a la siguiente.

- Con la regla de tolerancia inicial: 50,5 %
- Después de tres correcciones: 4,3 %

> Figura: El Tasador mientras arma un informe. La verificación es un paso más del proceso, no un agregado al final.

Un informe completo cuesta entre 2 y 5 centavos de dólar. Y el reranker apagado son 30 segundos que ningún informe tiene que esperar.

## Qué preguntarle a un proveedor de IA antes de contratar

El Tasador es una aplicación completa, probada con datos reales y con el código publicado, así que cada número de este artículo se puede revisar. Si estás evaluando un proyecto de IA para tu negocio, estas preguntas separan rápido:

1. **¿Contra qué lo comparaste?** Una mejora sin sistema base no es una mejora. Pedí el número de lo más simple que podría funcionar.
2. **¿Cuál era el criterio para encenderlo, y lo escribiste antes de medir?** Si la regla aparece después del resultado, la regla es el resultado.
3. **¿Cuánto cuesta cada consulta y cuánto tarda?** En dólares y en segundos. Una pieza que mejora poco y suma 30 segundos puede no valer la pena.
4. **¿Cuántas veces se le escapa un error al control, y cómo lo mediste?** Desconfiá de "cero errores". Un proveedor serio te da un porcentaje y te cuenta cómo lo obtuvo.

Si querés aplicar este criterio a la IA de tu negocio, escribime y lo miramos juntos.

## Preguntas frecuentes

### ¿Qué es un RAG en inteligencia artificial?

RAG (Retrieval-Augmented Generation, o generación aumentada por recuperación) es buscar primero la información relevante en tus propios datos y recién después pedirle al modelo que trabaje con ella. Así la IA responde sobre tu información sin necesidad de entrenar un modelo propio. La calidad depende sobre todo de la búsqueda: si trae lo que no corresponde, ni el mejor modelo lo arregla.

### ¿Conviene usar embeddings o búsqueda por palabras clave?

Depende de tus datos, y la forma de saberlo es medir con tus propias consultas. En el Tasador, con avisos inmobiliarios que repiten un vocabulario muy concreto, la búsqueda por palabras superó a todas las variantes con embeddings, incluidas las híbridas que combinan ambas. Los embeddings suelen aportar más cuando la gente describe lo mismo con palabras muy distintas, y eso también se comprueba midiendo.

### ¿Qué es un reranker y vale la pena usarlo?

Un reranker es un segundo modelo que reordena los mejores resultados de una búsqueda mirando la consulta y cada resultado juntos. Suele mejorar el primer puesto, pero suma tiempo de cómputo en cada consulta. En el Tasador llevaba el MRR a 0,935 a cambio de 30 segundos más por informe, sin mejorar el ranking general más allá del ruido, así que quedó construido, medido y apagado.

### ¿Qué es el chunking en un RAG?

Chunking es partir los documentos en fragmentos antes de indexarlos, porque los modelos de embeddings leen una cantidad limitada de texto por vez. La forma de partir cambia los resultados y también se mide: en el Tasador, el 28,1 % de los avisos superaba los 512 tokens. Con un modelo de embeddings chico, usar el aviso truncado rindió más que partirlo en oraciones (nDCG de 0,805 contra 0,760), al revés de lo que se esperaba.

### ¿Cómo se mide si un RAG funciona?

Con un conjunto fijo de consultas reales, las mismas para cada variante, y métricas que evalúan el orden de los resultados, comparando siempre contra lo más simple que podría funcionar. En el Tasador fueron 113 consultas, cuatro métricas y un intervalo por bootstrap para separar una mejora real del ruido. Además, conviene medir el efecto en el resultado del negocio: en ese caso, el error de precio del informe.

### ¿Qué es nDCG?

nDCG (Normalized Discounted Cumulative Gain) es una métrica que evalúa qué tan buenos son los primeros resultados de una búsqueda y qué tan arriba aparecen los mejores. Va de 0 a 1, donde 1 es el orden perfecto, y premia más acertar arriba que abajo. En el Tasador, la búsqueda léxica sacó 0,821 en los primeros 25 resultados, contra 0,747 del sistema base.

### ¿Hace falta una base de datos vectorial para hacer RAG?

No necesariamente. En el Tasador los vectores se guardan en PostgreSQL con la extensión pgvector, en la misma base que el resto de los datos, y la búsqueda corre sobre un grupo ya filtrado de cientos de avisos en lugar del corpus entero. Así la búsqueda exacta cuesta milisegundos, y una base vectorial dedicada sería una pieza más para mantener sin sumar resultados.

### ¿Cuánto cuesta cada consulta a un sistema con IA?

Depende de cuántas veces se llama al modelo y de qué modelo se usa, y es un número que se puede medir paso por paso. En el Tasador, un informe completo cuesta entre 2 y 5 centavos de dólar, con los embeddings y el reranker en modelos locales sin costo por consulta. Antes de contratar, pedí ese número en dólares y también en segundos.

### ¿Cómo sé si mi negocio necesita IA o alcanza con algo más simple?

Comparando contra la solución más simple que podría funcionar. A veces gana la IA y otras veces alcanza con una regla bien escrita: en un CRM inmobiliario que construí, los emails de los portales tienen formato fijo, y clasificarlos con reglas da el mismo resultado, gratis y comprobable con casos reales. La IA conviene donde suma de verdad, y eso se ve midiendo.

### ¿Qué pasa con un sistema de IA cuando sale un modelo mejor?

Se evalúa con las mismas consultas y el mismo criterio que el sistema actual, y se enciende solo si gana. Por eso conviene que cada pieza se pueda prender o apagar por configuración: en el Tasador, la búsqueda con embeddings y el reranker siguen construidos detrás de una opción, listos para volver a medirse. Esa revisión es parte del mantenimiento de un sistema con IA, que también ofrezco.

## Contacto

- WhatsApp: https://wa.me/5493442679907?text=Hola%20Ricardo%2C%20vi%20tu%20sitio%20y%20quiero%20consultarte%20por%20un%20proyecto.
- Email: info@ricardobrossard.com
- LinkedIn: https://www.linkedin.com/in/ricardo-brossard
- GitHub: https://github.com/ricardobing
