Pular para o conteúdo
OSOKORO

Quanto custa de verdade um agente de IA para programar

Para onde vai o dinheiro numa sessão com agente, por que as estimativas ficam curtas e como pôr um teto que funcione.

Publicado em 22 de ago. de 20266 minutos de leitura

O que surpreende na fatura de um agente de programação não é a tarifa. É que a tarifa parece pequena, a tarefa parece pequena, e a fatura não é.

Quatro motivos, e só um deles tem a ver com o preço por milhão de tokens.

Seu contexto é reenviado a cada turno

Um chat é uma requisição. Um agente resolvendo uma tarefa é um laço, e cada volta reenvia a conversa acumulada inteira: as instruções, os arquivos que ele leu, os diffs que propôs, os resultados das ferramentas e tudo o que disse no caminho.

O turno doze não é um doze avos do trabalho. Ele carrega os onze anteriores como entrada. Uma tarefa que toca seis arquivos e dura vinte turnos pode enviar esses seis arquivos vinte vezes.

Por isso «usar um modelo mais barato» ajuda menos do que se espera e «estreitar a tarefa» ajuda mais. Cortar o preço pela metade corta a fatura pela metade. Cortar os turnos pela metade corta a fatura e encolhe o contexto que cada turno restante carrega.

O cache move o custo, não o elimina

Todo provedor sério já oferece cache: mande o mesmo prefixo duas vezes e a segunda leitura sai bem mais barata. Ótimo. Também significa três preços em vez de um — escrita em cache, leitura de cache e entrada comum — e a escrita costuma custar mais que a entrada sem cache.

Um agente que reordena o contexto entre turnos, ou que insere algo perto do começo, paga a escrita repetidamente e nunca ganha o desconto da leitura. Por fora o comportamento é idêntico. Na fatura, não.

O catálogo do Codoro guarda os quatro números por modelo — entrada, saída, entrada em cache e escrita em cache — porque uma tabela com um único preço de entrada não consegue expressar isso, e uma tabela que não consegue expressar acaba sendo usada para tomar uma decisão errada.

A tarifa que você consultou pode não ser a que você paga

Esta é a parte que eu não teria previsto antes de construir a cobrança.

O preço publicado de um modelo muitas vezes não é um número só. O mesmo modelo pode ter uma tarifa nos Estados Unidos e outra na UE. Alguns cobram conforme o endpoint do provedor que atender. Outros têm faixas de contexto longo, em que cruzar um limiar de entrada reprecifica a requisição inteira, não só o excedente.

E a escolha de região e de endpoint não é nossa. Quem decide é o gateway, depois que enviamos.

Isso cria um problema real para qualquer coisa que queira parar uma execução antes de estourar o orçamento: é preciso se comprometer com um número antes de acontecer aquilo que determina o número.

Reservar e liquidar são operações diferentes

A saída é segurar e liquidar a dois preços distintos, e dizer isso explicitamente.

A reserva é feita antes do primeiro token, pelo preço mais caro que a requisição poderia atrair — o máximo entre as variantes regionais e, quando o modelo cobra por provedor, entre os endpoints no ar. No catálogo do Codoro isso é um campo separado, reserveRates, que só existe quando difere do preço de capa — na maioria dos modelos, não difere.

A liquidação é a tarifa real publicada pelo provedor para o que de fato aconteceu.

Os dois erros possíveis são reais e não são simétricos. Reservar pelo preço de capa reserva de menos, e reservar de menos anula o sentido do teto: a reserva é justamente o que interrompe uma execução. Mas liquidar pelo preço mais caro cobraria de cada desenvolvedor um adicional regional que a requisição talvez nunca tenha tido — e esse erro aparece numa fatura, onde dá para ver.

Uma retenção não é uma cobrança. Confundir as duas é o erro pequeno mais caro que existe neste código.

Os tetos, e qual deles importa

TetoPadrãoQuem define
Por execuçãoUS$ 2,00O desenvolvedor, por tarefa
Por desenvolvedor por diaUS$ 25,00O dono do time
Markup com a sua própria chave0%Não se aplica

O que muda comportamento é o primeiro, porque age enquanto você ainda está ali. Um teto diário conta sobre uma tarde ruim depois que a tarde passou. Um teto por execução interrompe a tarefa específica que está dando errado, que é o momento em que a informação vale alguma coisa.

Ao bater no teto, a execução pausa e oferece um modelo mais barato. Não rebaixa em silêncio, e isso é proposital: uma execução que trocasse de modelo no meio entregaria um diff que você revisaria com premissas que deixaram de valer na metade do caminho.

Sua chave ou a nossa

Com a sua própria chave o markup é zero. O provedor cobra você direto, a chave fica no chaveiro do macOS e só é transmitida ao fornecedor que a emitiu. O Codoro não fica com nada dos tokens.

Com crédito hospedado o markup padrão é de 40% sobre o custo, com exceções publicadas por modelo. Vale ser direto sobre o que isso paga: depois dos 2,9% mais 30 centavos da Stripe, 40% sobre custo rende algo em torno de 25% da receita. É a margem pela conveniência de uma fatura só e nenhuma chave para administrar.

Se você já tem contas nos provedores, traga as chaves. O caminho sem markup não é isca com pegadinha: é o preço honesto de um produto cujo valor é a interface, não os tokens.

Preços do Codoro

PlanoPreçoCrédito incluído
HobbyUS$ 0Nenhum — suas chaves
ProUS$ 20/mêsUS$ 20
Pro+US$ 60/mêsUS$ 60
UltraUS$ 200/mêsUS$ 200
TeamsUS$ 40/assentoUS$ 40 por assento, orçamento comum

As recargas são de US$ 28, US$ 70 e US$ 140. O crédito vale exatamente o que custa, não expira e não renova sozinho.

O que mudar na prática

  1. Corte turnos, não modelos. Duas tarefas de oito turnos custam menos da metade de uma de vinte.
  2. Olhe a tarifa de escrita em cache, não só a de entrada, nos modelos que você mais usa.
  3. Ponha um teto por execução que você ficaria irritado de bater. Um teto acima do seu pior caso é decoração.
  4. Verifique se o seu modelo tem faixa de contexto longo e onde ela começa.
  5. Use a sua própria chave se já tiver uma.

Onde o Codoro está

Não há download público. A build para macOS está em prévia, a página de download é uma lista de espera até existir um manifesto de release assinado, e os preços acima descrevem o modelo de lançamento, não um checkout que você consiga acessar hoje.

O catálogo é real: cerca de 216 modelos sincronizados do Vercel AI Gateway, com uma verificação em CI que falha quando nossas tarifas divergem das publicadas. Essa verificação é a única razão pela qual me disponho a escrever números num texto que ainda vai estar aqui daqui a um ano.

Leia em seguida

Todos os textos