Saltar al contenido
OSOKORO

Cuánto cuesta de verdad un agente de IA para programar

A dónde se va el dinero en una sesión con un agente, por qué las estimaciones se quedan cortas y cómo poner un tope que se cumpla.

Publicado el 22 ago 20266 minutos de lectura

Lo desconcertante de la factura de un agente de programación no es la tarifa. Es que la tarifa parece pequeña, la tarea parece pequeña, y la factura no lo es.

Hay cuatro razones, y solo una tiene que ver con el precio por millón de tokens.

El contexto se reenvía en cada turno

Un chat es una petición. Un agente resolviendo una tarea es un bucle, y cada vuelta reenvía toda la conversación acumulada: las instrucciones, los ficheros que ha leído, los diffs que ha propuesto, los resultados de las herramientas y todo lo que ha dicho por el camino.

El turno doce no es una doceava parte del trabajo. Lleva dentro los once anteriores como entrada. Una tarea que toca seis ficheros y dura veinte turnos puede enviar esos seis ficheros veinte veces.

Por eso «usar un modelo más barato» ayuda menos de lo que uno espera y «acotar la tarea» ayuda más. Reducir el precio a la mitad reduce la factura a la mitad. Reducir los turnos a la mitad reduce la factura y reduce el contexto que arrastra cada turno restante.

La caché mueve el coste, no lo elimina

Todos los proveedores serios ofrecen ya una caché: si envías el mismo prefijo dos veces, la segunda lectura sale mucho más barata. Bien. También significa tres precios en lugar de uno —escritura en caché, lectura de caché y entrada normal— y la escritura suele costar más que la entrada sin cachear.

Un agente que reordena su contexto entre turnos, o que añade algo cerca del principio, paga la escritura una y otra vez y no cobra nunca el descuento de lectura. Por fuera se comporta igual. En la factura no.

El catálogo de Codoro guarda los cuatro números por modelo —entrada, salida, entrada cacheada y escritura en caché— porque una tabla con un solo precio de entrada no puede expresar esto, y una tabla que no puede expresarlo se acabará usando para tomar una decisión equivocada.

La tarifa que consultaste puede no ser la que pagas

Esta es la parte que yo no habría anticipado antes de construir el cobro.

El precio publicado de un modelo muchas veces no es un único número. El mismo modelo puede tener una tarifa en Estados Unidos y otra en la UE. Algunos cobran según el endpoint del proveedor que atienda la petición. Otros tienen tarifas por tramos de contexto largo, donde superar un umbral de entrada cambia el precio de toda la petición, no solo del exceso.

Y la elección de región y de endpoint no es nuestra. La decide la pasarela, después de que hayamos enviado la petición.

Eso plantea un problema real para cualquier cosa que quiera detener una ejecución antes de que se pase de presupuesto: hay que comprometerse con una cifra antes de que ocurra lo que determina esa cifra.

Reservar y liquidar son operaciones distintas

La salida es retener y liquidar a dos precios distintos, y decirlo explícitamente.

La reserva se toma antes del primer token, al precio más caro que la petición podría llegar a tener: el máximo entre las variantes regionales y, si el modelo cobra por proveedor, entre los endpoints que estén levantados. En el catálogo de Codoro eso es un campo aparte, reserveRates, que solo existe cuando difiere del precio de cabecera —en la mayoría de modelos no difiere.

La liquidación es la tarifa real publicada por el proveedor para lo que de verdad ocurrió.

Los dos errores posibles son reales y no son simétricos. Reservar al precio de cabecera reserva de menos, y reservar de menos anula el sentido del tope: la reserva es justo lo que detiene una ejecución. Pero liquidar al precio más caro cobraría a cada desarrollador un recargo regional que su petición quizá nunca tuvo, y ese error sí aparece en una factura que se puede leer.

Una retención no es un cargo. Confundirlas es el error pequeño más caro que hay en este código.

Los topes, y cuál importa

TopePor defectoQuién lo fija
Por ejecución2,00 $El desarrollador, por tarea
Por desarrollador y día25,00 $El propietario del equipo
Recargo con tu propia clave0%No aplica

El que cambia el comportamiento es el primero, porque actúa mientras todavía estás delante. Un tope diario te informa de una mala tarde cuando la tarde ya pasó. Un tope por ejecución interrumpe la tarea concreta que se está torciendo, que es el momento en que el dato vale algo.

Al llegar al tope, la ejecución se pausa y ofrece un modelo más barato. No degrada en silencio, y es deliberado: una ejecución que cambiara de modelo a mitad de camino produciría un diff que revisarías con supuestos que dejaron de ser ciertos por el medio.

Tu clave o la nuestra

Con tu propia clave el recargo es cero. El proveedor te factura directamente, la clave se guarda en el llavero de macOS y solo se transmite al proveedor que la emitió. Codoro no se lleva nada de los tokens.

Con crédito alojado el recargo por defecto es del 40% sobre el coste, con excepciones publicadas por modelo. Conviene ser claro sobre qué paga eso: después del 2,9% más 30 céntimos de Stripe, un 40% sobre coste deja alrededor de un 25% de los ingresos. Ese es el margen por la comodidad de una sola factura y ninguna clave que gestionar.

Si ya tienes cuentas con los proveedores, trae las claves. La vía sin recargo no es un gancho con truco: es el precio honesto de un producto cuyo valor es la interfaz, no los tokens.

Precios de Codoro

PlanPrecioCrédito incluido
Hobby0 $Ninguno — usas tus claves
Pro20 $/mes20 $
Pro+60 $/mes60 $
Ultra200 $/mes200 $
Teams40 $/puesto40 $ por puesto, presupuesto común

Las recargas son de 28 $, 70 $ y 140 $. El crédito vale exactamente lo que cuesta, no caduca y no se renueva solo.

Qué cambiar en la práctica

  1. Recorta turnos, no modelos. Dos tareas de ocho turnos cuestan menos de la mitad que una de veinte, porque también encoge el contexto de cada turno.
  2. Mira la tarifa de escritura en caché, no solo la de entrada, en los modelos que más uses.
  3. Pon un tope por ejecución que te fastidiaría alcanzar. Un tope por encima de tu peor caso es decorativo.
  4. Comprueba si tu modelo tiene tramo de contexto largo y dónde empieza.
  5. Usa tu propia clave si ya la tienes.

Dónde está Codoro

No hay descarga pública. La versión para macOS está en vista previa, la página de descarga es una lista de espera hasta que exista una release firmada, y los precios de arriba describen el modelo de lanzamiento, no una caja que puedas pasar hoy.

El catálogo sí es real: unos 216 modelos sincronizados desde Vercel AI Gateway, con una comprobación en CI que falla cuando nuestras tarifas se desvían de las publicadas. Los números de este artículo salen de esa tabla y no de la página de marketing de nadie, que es la única razón por la que me atrevo a escribirlos en un texto que seguirá aquí dentro de un año.

Sigue leyendo

Todos los escritos