# Agentes de IA que no inventan números: dónde termina el modelo y empieza el código

> Cómo diseño agentes de IA que no inventan precios: el modelo entiende y redacta, y los totales y el dinero pasan por código probado. Dos casos reales.

Autor: Ricardo Brossard (Ingeniero en sistemas · IA y automatización) · Publicado: 2026-09-24 · Temas: IA, Agentes, Buenas prácticas
URL: https://ricardobrossard.com/blog/ia-que-no-inventa-numeros/

Un cliente escribe por WhatsApp: "¿cuánto me salen dos grandes y una media?". El asistente contesta con un total seguro y prolijo. El de la carta es otro, más alto. El comercio tiene dos opciones: perder la diferencia o discutir con alguien que tiene la captura de pantalla. Ese es el miedo razonable de cualquier dueño de negocio con la IA: que "alucine" un número y lo diga con total seguridad.

La respuesta habitual es escribir en las instrucciones "no inventes precios". No alcanza. Un modelo de lenguaje produce texto probable, y un precio verosímil es texto muy probable. Mi regla es otra: el modelo se ocupa del lenguaje y del juicio; los precios, los totales y cualquier decisión con dinero pasan por código que se prueba. No le pido que no invente. Diseño el sistema para que no pueda.

## La línea divisoria

Antes de escribir código, separo el trabajo en dos columnas. En una va lo que el código no hace bien: entender cómo escribe la gente, leer un aviso en prosa libre, redactar una explicación. En la otra, todo lo que tiene una respuesta correcta: sumar, cotizar, aplicar una regla, decidir si un dato alcanza. La primera es del modelo. La segunda es de código determinista, con tests.

> Figura: La línea divisoria: el modelo se queda con el lenguaje; todo lo que tiene una respuesta correcta pasa por código con tests.

- Del modelo: entender cómo escribe la gente; leer un aviso en prosa libre; redactar una explicación
- Del código: sumar y cotizar; aplicar una regla; decidir si un dato alcanza

Lo difícil es sostenerlo, porque el modelo se mete en la segunda columna apenas le dejás una puerta abierta. Dos proyectos míos muestran cómo se cierra.

## TomaNota: el modelo elige, el sistema cobra

TomaNota (tomanota.lat) es un producto propio: un asistente que atiende el WhatsApp de pizzerías, rotiserías y carnicerías y toma los pedidos como los escribe la gente. La IA es Vercel AI SDK sobre una API compatible con OpenAI, con tool calling. Así se reparte el trabajo:

- **El modelo tiene 8 herramientas y nada más**: agregar un producto, agregar una media o una mitad y mitad, sumar un extra, cambiar cantidad, quitar, definir envío o retiro, mostrar el carrito y avisar que el pedido está listo.
- **Ninguna herramienta acepta un precio.** El modelo elige productos por su id de catálogo y cantidades. Un producto agotado ni figura entre los ids válidos. Ve los precios para poder contestar "¿cuánto sale la grande?", pero no tiene cómo escribir uno en el pedido.
- **El resumen y el total los arma el sistema** desde el carrito. El texto que el cliente confirma nunca lo escribió el modelo.
- **Sin que la persona toque Confirmar, no hay pedido.** La herramienta de "listo" no confirma nada: le pide al sistema que muestre el resumen con los botones Confirmar, Modificar o Cancelar.
- **Al confirmar, la base vuelve a cotizar** con los precios y la disponibilidad de ese momento. Si algo se agotó en el medio, lo dice y no confirma.

> Figura: El recorrido de un pedido en TomaNota. El modelo elige productos del catálogo; el precio, el resumen y la confirmación los resuelve el sistema.

1. Escribe el pedido como le sale (Persona). "Una mitad muzza y mitad fugazzeta, y media docena de empanadas."
2. Elige productos por id de catálogo (Modelo de IA). Con 8 herramientas. Ninguna acepta un precio.
3. Arma el carrito, el resumen y el total (Sistema). El texto que el cliente confirma no lo escribe el modelo.
4. Toca Confirmar, Modificar o Cancelar (Persona)
5. La base vuelve a cotizar (Sistema). Con los precios y la disponibilidad de ese momento. Si algo se agotó, lo dice y no confirma.

> Figura: Una conversación de prueba en TomaNota: el resumen con envío y total lo arma el sistema, y el pedido existe recién cuando la persona confirma.

La carta online con QR y los pedidos de mostrador pasan por esa misma función de la base. Un pedido cuesta lo mismo entre por donde entre.

El modelo igual puede escribir de más, así que también mido lo que dice. Un banco de pruebas corre conversaciones contra el modelo real, y una regla marca cualquier importe que diga el bot y no salga del sistema (precios, envío, mínimo, total). Otra regla cruza cada frase de cierre contra los pedidos realmente confirmados.

Con la carta real de una pizzería, el bot cotizó mal una media pizza, y encima la regla lo acusaba de inventar cuando decía el precio correcto. En esa carta la media no cuesta la mitad de la entera, y encontré cuatro lugares que dividían por dos cuando faltaba el dato, incluida la propia regla. Los saqué los cuatro. Hoy, si la media no tiene precio cargado, no se vende por media. Dividir sería inventar un precio.

## Tasador: la IA lee, la fórmula tasa

El Tasador arma el informe de tasación de una propiedad con los avisos comparables que justifican el precio. Lo desarrollé para una inmobiliaria de Buenos Aires: es una aplicación completa probada con datos reales, con el código publicado en github.com/ricardobing/tasador-rag. Acá la IA tiene más trabajo, y por eso más controles.

La IA busca avisos comparables con RAG, los lee y extrae lo que mueve el precio: estado, orientación, piso, ascensor, antigüedad. También decide cuáles no sirven para comparar. Pero **el precio lo calcula una fórmula explícita**: la mediana del valor en dólares por metro cuadrado, con coeficientes de ajuste escritos. Un test de arquitectura impide ponerle un modelo a ese paso.

Donde sí interviene un modelo, hay un control:

- **Cada dato viene con su cita.** La IA señala el fragmento del aviso de donde lo sacó, y una función sin IA verifica que ese texto esté en el original. Un dato sin cita verificada no mueve el precio.
- **Los descartes tienen motivo cerrado**, entre cinco posibles, y cita obligatoria.
- **Un crítico revisa el texto antes de entregarlo.** Su primera fase no usa IA: busca cada cifra del informe en los datos calculados, y una sola que no esté rechaza el texto. Lo audité inyectando precios inventados: al principio pasaban el 50,5 %. Tras tres correcciones, el 4,3 %.
- **Con menos de 5 comparables válidos, dice que no sabe.** No entrega un número.

> Figura: Cómo se reparte el trabajo en el Tasador: la IA lee y redacta, y cada paso de la IA tiene un control sin IA detrás.

1. Lee cada aviso y extrae lo que mueve el precio (Modelo de IA). Cada dato viene con la cita del fragmento de donde salió.
2. Verifica que la cita esté en el original (Sistema). Un dato sin cita verificada no mueve el precio.
3. Calcula el precio con una fórmula explícita (Sistema). Mediana del dólar por metro cuadrado, con coeficientes escritos.
4. Redacta la explicación del informe (Modelo de IA)
5. El crítico busca cada cifra en los datos (Sistema). Una sola cifra que no está rechaza el texto.

Si el crítico rechaza el texto tres veces, el informe sale sin narrativa, con la tabla de comparables y el rango, que son correctos porque salieron de la fórmula. Pasó en una prueba con avisos reales: el redactor escribió que no había avisos activos cuando había 60, y el informe salió igual con los números bien. Prefiero entregar menos antes que algo falso.

## Qué tiene que ver esto con tu negocio

El patrón sirve para cualquier proceso donde la IA toca números: presupuestos, cotizaciones, liquidaciones, stock. Tres preguntas alcanzan para evaluar un sistema:

1. **¿Quién escribe el número que ve el cliente?** Si es el modelo, hay un problema, por buenas que sean las instrucciones.
2. **¿Qué pasa si el modelo se equivoca?** Tiene que haber un punto donde el código vuelve a calcular y una persona confirma.
3. **¿Cómo se mide?** "Anda bien" no es una medición. Una regla que marca cada número que no sale del sistema, sí.

## Para llevarte

La pregunta útil no es si podés confiar en la IA, sino qué parte del trabajo le das. Dale el lenguaje: entender, leer, redactar. La plata dejala en el código, con tests. Cuando un número importa, que lo calcule algo que da siempre el mismo resultado.

Si tenés un proceso con números que querés automatizar sin revisar cada cuenta a mano, escribime y lo vemos.

## Preguntas frecuentes

### ¿La IA puede inventar precios?

Sí: un modelo de lenguaje puede decir un precio que no existe, y decirlo con total seguridad, porque genera el texto más probable y un precio verosímil es muy probable. Por eso, en los sistemas que construyo, el número que ve el cliente nunca lo escribe el modelo. La IA entiende el pedido y redacta; el precio sale de la base de datos y lo calcula código probado.

### ¿Qué es una alucinación de la IA?

Es cuando un modelo de lenguaje afirma algo que no está en ningún dato, como un precio, un producto o un hecho inventado, con el mismo tono que una respuesta correcta. Pasa porque el modelo completa texto probable en lugar de consultar una fuente, salvo que el sistema lo obligue a hacerlo. Se combate con diseño: los datos salen de fuentes verificables y un control sin IA revisa lo que el modelo escribe.

### ¿Alcanza con poner "no inventes precios" en las instrucciones de la IA?

No. Una instrucción baja la frecuencia del error, pero el modelo sigue teniendo la posibilidad de escribir cualquier número. Lo que funciona es quitarle esa posibilidad: en TomaNota, ninguna de las 8 herramientas que usa el modelo acepta un precio, así que no tiene forma de cargar un importe en el pedido. La garantía está en la estructura del sistema, no en la redacción de las instrucciones.

### ¿Qué es tool calling en inteligencia artificial?

Tool calling es la capacidad de un modelo de lenguaje de pedirle al sistema que ejecute una función concreta, con parámetros definidos, en lugar de contestar solo con texto. El modelo decide qué herramienta usar, por ejemplo "agregar producto" o "mostrar carrito", y el código la ejecuta y le devuelve el resultado. Bien diseñado, es lo que permite que un agente actúe sobre datos reales sin inventarlos: el modelo elige y el sistema calcula.

### ¿Los modelos de lenguaje saben hacer cuentas?

Muchas veces aciertan, pero no lo garantizan, y la misma consulta puede dar dos resultados distintos. Para sumar un pedido, cotizar o aplicar un descuento hace falta código determinista, que con los mismos datos da siempre el mismo resultado y se puede probar con tests. Por eso le dejo al modelo el lenguaje y al código las cuentas.

### ¿Conviene que una persona confirme lo que hace la IA?

Sí, en todo paso que involucre dinero o un compromiso con el cliente. En TomaNota el modelo puede avisar que el pedido está listo, pero el pedido existe recién cuando la persona toca Confirmar sobre un resumen que armó el sistema. A eso se le llama tener a una persona en el circuito (human in the loop): la IA propone y alguien aprueba lo que importa.

### ¿Qué pasa si el modelo de IA falla o deja de responder?

El sistema está preparado para seguir atendiendo sin el modelo. En TomaNota, si el modelo no contesta a tiempo o falla, el cliente recibe un mensaje claro de que lo va a atender una persona, y el dueño recibe un aviso con el motivo concreto. Una conversación que pasa a una persona siempre es mejor que un chat que queda en silencio.

### ¿Cómo se verifica que un texto escrito por IA no tenga cifras inventadas?

Con un control que no usa IA: extrae cada número del texto y lo busca en los datos calculados, y si uno solo no aparece, el texto se rechaza. Ese control también se mide, por ejemplo inyectándole cifras falsas a propósito para ver cuántas se le escapan. En el Tasador, esa auditoría llevó los precios inventados que pasaban del 50,5 % al 4,3 %.

### ¿Se puede usar IA para hacer presupuestos o cotizaciones?

Sí, repartiendo bien el trabajo. La IA es muy buena para entender un pedido escrito en lenguaje libre, por WhatsApp o por email, y convertirlo en una lista de productos y cantidades. El precio, los descuentos y el total los calcula el sistema con tu lista de precios, y una persona confirma antes de que salga. El mismo esquema sirve para liquidaciones, stock o cualquier proceso donde un número importa.

### ¿Una IA puede responder "no sé"?

Puede, si el sistema está diseñado para eso, y conviene que esa decisión la tome el código y no el modelo. En el Tasador, cuando quedan menos de 5 comparables válidos, el sistema no entrega un precio: informa que no tiene datos suficientes. Un "no sé" a tiempo protege más al negocio que un número inventado con buena redacción.

## 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
