Guía · @vanlookeren
Gasté 271 dólares en un modelo barato. Entre el 98 y el 100 % fue por lo que yo le mandaba, no por lo que me respondía. Aquí está cómo lo medí, las dos causas que encontré y cómo revisar lo tuyo.
La intuición dice que pagas por las respuestas. En un sistema automatizado suele ser al revés: la respuesta es corta y lo que mandas es enorme, y lo mandas de nuevo en cada llamada.
De todos los flujos que medí, solo uno tenía más salida que entrada. En el resto, la respuesta casi no pesa en la cuenta.
| Flujo | Por llamada | En 7 días |
|---|---|---|
| Agente de tienda | 242.342 tokens de entrada, 100 de salida | 154 llamadas: 37,3 millones de tokens, el 36 % de lo medido |
| Bot de WhatsApp | 15.034 tokens de entrada | 1.530 llamadas |
El agente de tienda se usa diez veces menos que el bot de WhatsApp y aun así gasta más, porque cada una de sus llamadas pesa dieciséis veces más.
Las instrucciones del agente le ordenaban consultar siempre el catálogo completo de productos. Lo hacía, y lo metía entero en cada consulta, aunque la pregunta fuera por un solo producto. De ahí salen los 242.342 tokens.
Muchos proveedores reutilizan la parte del mensaje que se repite igual de una llamada a otra: eso es la caché. Funciona desde el inicio del mensaje y se corta en el primer carácter distinto.
Mi mensaje empezaba con la fecha y la hora con milisegundos. Cambiaba en cada llamada, así que nunca había nada que reutilizar. Con solo la fecha, el inicio queda igual durante todo el día.
Cambiar a un modelo más barato o pedirle respuestas más cortas casi no mueve la cuenta, porque la salida es entre el 0 y el 2 % del gasto. Lo que se paga es lo que se envía.
Cada bot, agente o automatización. Yo encontré 29 puntos distintos usando la misma cuenta.
Anota cuántos tokens entraron y cuántos salieron. El panel de tu proveedor lo muestra; si usas n8n, cada ejecución de un nodo de IA guarda esos dos números.
Tokens de entrada por llamada × llamadas en 7 días. Ordena de mayor a menor.
¿Manda un catálogo, un documento o un historial completo cuando la pregunta necesita una parte? Busca primero y manda solo lo que calza.
Lo que no cambia va primero: instrucciones, reglas, ejemplos. Lo que cambia va al final: la fecha, el nombre del cliente, la pregunta. Nada de horas con segundos al principio.
Las mismas tres llamadas, después del cambio. Si la entrada no bajó, el cambio no sirvió.
El detalle exacto de mi caso, por si te sirve:
{{ $now.toISO() }} → fecha y hora con milisegundos: cambia en cada llamada
{{ $now.toISODate() }} → solo la fecha (2026-10-04): igual todo el día
Y en las instrucciones de un agente con herramientas, cuidado con la palabra «siempre»: «siempre consulta el catálogo» significa pagar el catálogo en cada mensaje.