Kiro & AWS
Por que o Kiro CLI é mais econômico (com a conta feita)
Se o IDE já faz tudo, por que usar o CLI? A resposta mais honesta não é técnica — é financeira. Vamos fazer a conta.
TL;DR
- A assinatura é uma só. Kiro IDE, CLI, web e IDEs via ACP compartilham os mesmos créditos. Você não paga a mais por usar o CLI — ele não tem preço separado.
- Créditos são a unidade de custo, e o modelo escolhido muda o ritmo de consumo. Uma tarefa que custa
Xno agente Auto custa 1,3X no Sonnet 4.6 — ou seja, rodar no Auto é cerca de ~30% mais barato em créditos para o mesmo trabalho. - O CLI destrava o mais caro de tudo: o tempo humano. Com
kiro-cli chat --no-interactivevocê move trabalho repetitivo para pipelines headless, onde ninguém precisa ficar clicando “aprovar”. - Steering reduz retrabalho. Quando o agente acerta mais na primeira tentativa, você gasta menos créditos refazendo — o custo por feature entregue cai.
- A conta trabalhada aqui é ilustrativa. Não invento “quantos créditos custa uma tarefa”; uso uma variável
Xe mostro a relação1,3X. Confirme preços em kiro.dev antes de decidir qualquer coisa.
Introdução: “se o IDE já faz tudo, por que CLI?”
Essa é a pergunta que ouço toda vez que mostro o Kiro CLI para alguém que já usa o Kiro IDE. E é uma pergunta justa. O IDE tem o mesmo agente, as mesmas specs, os mesmos hooks, o mesmo steering. Ele tem interface gráfica, diff visual, árvore de arquivos. Se o IDE já faz tudo isso, o terminal parece um retrocesso — voltar para o texto puro depois de ter janelas.
A resposta que eu dou não é sobre features. É sobre dinheiro — e sobre o recurso mais caro do seu time, que não aparece na fatura do Kiro: as horas das pessoas.
O ponto de partida é um fato que muita gente não percebe: o CLI não custa nada além do que você já paga. A assinatura do Kiro cobre todas as interfaces. Os créditos que você consome independem de onde o trabalho acontece — IDE, CLI ou web puxam do mesmo balde. Então o CLI não é “mais uma licença”. É uma porta de entrada que você já comprou e talvez não esteja usando.
E o que essa porta destrava é justamente o que o IDE, por natureza, não consegue: rodar sem um humano na frente da tela. Um IDE é interativo por definição — ele existe para uma pessoa olhar e responder. O CLI headless roda em CI/CD, em cron, em pipelines, às três da manhã, em cem repositórios ao mesmo tempo. É aí que a conta vira.
Este artigo faz essa conta. Devagar, com honestidade sobre o que é fato e o que é estimativa.
O CLI não é uma segunda ferramenta que você compra. É uma segunda interface para a assinatura que você já tem — e é a única que roda sem gente na frente.
Uma assinatura, várias interfaces
O modelo comercial do Kiro é deliberadamente simples: você assina um plano, ganha um número de créditos por mês, e gasta esses créditos onde quiser. Não há SKU de “Kiro CLI”. Não há upgrade de “modo terminal”. A tabela de planos abaixo é a mesma para indivíduos e para membros de time (o valor por usuário é idêntico):
| Plano | US$/mês | Créditos/mês |
|---|---|---|
| Free | 0 | 50 |
| Pro | 20 | 1.000 |
| Pro+ | 40 | 2.000 |
| Pro Max | 100 | 5.000 |
| Power | 200 | 10.000 |
Alguns detalhes que mudam a conta na prática:
- Add-on de créditos: quando o plano acaba, você compra créditos avulsos a US$ 0,04/crédito (pacotes de US$ 5 = 125 créditos até US$ 100). Eles rolam por 12 meses, então não viram pó no fim do mês.
- A interface é irrelevante para o custo. Os créditos consumidos independem de você estar no IDE, no CLI ou na web. Isso é o coração do argumento deste artigo: adotar o CLI não adiciona uma linha na fatura.
- Free tier roda Sonnet 4.5 e modelos open weight (Qwen3 Coder, DeepSeek v3.2, MiniMax) com rate limits — bom para experimentar, apertado para produção.
- Team adiciona SSO SAML/SCIM via AWS IAM Identity Center, billing consolidado e analytics, com overage nos mesmos US$ 0,04/crédito.
- GovCloud (US) é cerca de 20% mais caro, não tem free tier e exige IAM Identity Center.
O headless (que veremos adiante) exige uma KIRO_API_KEY, disponível apenas para assinantes Pro, Pro+, Pro Max e Power. O Free não gera chave de API. Ou seja: se o seu objetivo é automação, o Pro é o piso de entrada.
flowchart TB
IDE["🖥️ IDE"] --> P(["💳 Pool único de créditos"])
CLI["⌨️ CLI"] --> P
Web["🌐 Web"] --> P
ACP["🔌 ACP em outros editores"] --> P
O que é um crédito (e por que o modelo importa)
Um crédito é a unidade de trabalho do Kiro, medido com precisão de até 0,01. Ele não é “uma mensagem” nem “uma tarefa” — é uma abstração de quanto trabalho computacional o agente fez para você. E aqui está o detalhe que separa quem economiza de quem desperdiça:
Modelos diferentes consomem créditos em ritmos diferentes. A mesma tarefa não custa o mesmo em todo modelo.
O fato de referência, direto da documentação: uma tarefa que custa X créditos no agente Auto custa 1,3X no Sonnet 4.6.
O agente Auto é o padrão. Ele mistura modelos de fronteira com modelos especializados, usa cache e faz roteamento por intenção — quando a tarefa é simples, ele usa algo barato; quando é complexa, escala. Esse roteamento é o que o torna econômico: você não paga preço de modelo grande para trabalho pequeno.
Escolher Sonnet 4.6 fixo para tudo significa pagar 1,3X — 30% a mais em créditos — mesmo nas tarefas em que o Auto teria resolvido com um modelo mais barato. Não é que o Sonnet 4.6 seja ruim; é que forçá-lo em tudo joga fora a economia do roteamento.
Você acompanha esse consumo em tempo real. No chat (IDE ou CLI), o slash command /usage mostra quanto você já gastou:
# dentro de uma sessão de chat do Kiro
/usage
E para trocar de modelo quando faz sentido — por exemplo, subir para Sonnet 4.6 numa tarefa que você sabe que é difícil, e voltar para Auto depois:
/model
A disciplina econômica, então, é: fique no Auto por padrão e só suba de modelo quando a tarefa justificar. Cada vez que você fixa um modelo caro “por garantia”, está pagando o imposto de 1,3X sobre trabalho que não precisava dele.
Auto não é o modelo “fraquinho”. É o roteador que evita pagar preço de fronteira por trabalho de rotina. Fixar Sonnet 4.6 em tudo é abrir mão de ~30% de créditos.
Exemplo de conta trabalhada (ilustrativo)
Aqui preciso ser explícito, porque é onde artigos desonestos inventam números:
⚠️ Esta seção é ILUSTRATIVA. Eu não sei — e a documentação não afirma — quantos créditos “uma tarefa” custa, porque isso varia enormemente com o tamanho do contexto, o número de arquivos, os testes rodados e o modelo. Então não vou inventar um valor. Vou usar uma variável
X= custo médio de uma tarefa no Auto, e derivar tudo a partir da única relação que é fato: Sonnet 4.6 = 1,3X.
Cenário: um time de 5 desenvolvedores, cada um rodando 10 tarefas de agente por dia, 20 dias úteis no mês.
Volume mensal de tarefas:
tarefas/mês = 5 devs × 10 tarefas/dia × 20 dias
= 1.000 tarefas/mês
Agora o custo em créditos, nos dois modos, mantendo X como incógnita:
No Auto: 1.000 tarefas × X = 1.000X créditos/mês
No Sonnet 4.6: 1.000 tarefas × 1,3X = 1.300X créditos/mês
Diferença: 1.300X − 1.000X = 300X créditos/mês
Sobrecusto: 300X / 1.000X = 30% a mais
O time paga 30% mais créditos por mês rodando tudo em Sonnet 4.6 versus Auto — para o mesmo volume de trabalho. Não é uma opinião; é aritmética sobre o fato 1,3X.
Dá para traduzir isso em plano. Suponha, só para ter uma âncora numérica ilustrativa, que na prática o time descubra (medindo com /usage) que 1.000X ≈ 5.000 créditos/mês. Nesse caso:
| Modo | Créditos/mês (ilustrativo) | Plano que cobre |
|---|---|---|
Auto (1.000X) | ~5.000 | Pro Max (5.000) |
Sonnet 4.6 (1,3X) | ~6.500 | Pro Max + 1.500 avulsos |
E os 1.500 créditos avulsos, a US$ 0,04 cada:
1.500 créditos × US$ 0,04 = US$ 60/mês de overage
= US$ 720/ano só pela escolha de modelo
Repito: o 5.000 é uma âncora inventada para o exemplo — meça o seu com /usage. O que não é inventado é a estrutura: fixar Sonnet 4.6 custa 1,3X, e esse 0,3X extra, multiplicado pelo volume do time, é dinheiro real saindo em créditos avulsos ou forçando um upgrade de plano.
A lição prática: descubra o seu X medindo, não chutando. Rode uma semana no Auto, olhe o /usage, e você terá o X real do seu time. Aí a decisão de modelo vira financeira, não emocional.
Automação economiza o mais caro: tempo humano
Até aqui otimizamos créditos. Mas créditos são baratos perto do custo real de engenharia: horas de gente sênior. Um crédito avulso custa US$ 0,04. Uma hora de dev custa ordens de magnitude mais. É por isso que a maior economia do CLI não está no preço do modelo — está em tirar o humano do loop de tarefas repetitivas.
É aqui que o CLI ganha do IDE de forma definitiva. O IDE é interativo: ele precisa de alguém olhando. O CLI headless não:
kiro-cli chat --no-interactive \
--trust-tools=read,grep \
"Revise as mudanças deste PR em busca de problemas de segurança"
Esse comando roda sozinho — em CI, em cron, num runner do GitHub Actions — sem ninguém para aprovar cada passo. Revisões de PR, atualização de docs, triagem de issues, checagens de conformidade: tudo que hoje come tempo de um sênior pode virar um pipeline que consome créditos (baratos) em vez de horas (caras).
A flag --no-interactive exige um prompt inicial e desliga a UI de terminal; --trust-tools concede permissões específicas por categoria (least privilege) sem intervenção humana. Não vou aprofundar aqui — a mecânica completa de headless, KIRO_API_KEY, GitHub Actions e governança está no artigo sobre CI/CD desta série. O ponto econômico basta: você troca o recurso caro (pessoas) pelo recurso barato (créditos), e só o CLI faz essa troca.
Otimizar qual modelo você usa economiza centavos por tarefa. Automatizar o que antes exigia um humano economiza horas. O CLI é a única interface que faz a segunda coisa.
Menos retrabalho com steering
Há um terceiro vetor de economia, e ele é sutil: cada tentativa errada do agente custa créditos. Se o agente gera código que não segue o padrão do time, você refaz. Refazer é uma nova rodada de contexto, novos tokens, novo consumo. O custo por feature entregue não é X — é X vezes o número de tentativas até acertar.
Steering ataca exatamente isso. São arquivos Markdown em .kiro/steering/ que injetam as convenções do projeto no agente automaticamente, então ele acerta mais na primeira tentativa:
---
inclusion: always
---
# Stack e convenções
- Backend: Node.js 20 + TypeScript strict. Sem `any`.
- Framework HTTP: Fastify. Validação com zod.
- Banco: PostgreSQL via Prisma. Migrations versionadas.
- Testes: Vitest. Cobertura mínima 80% em `src/domain`.
- Erros: nunca engolir exceção; sempre logar com correlação (requestId).
Sem esse arquivo, o agente adivinha o framework, escolhe uma biblioteca de validação qualquer, talvez engula uma exceção — e você gasta uma segunda rodada de créditos corrigindo tudo isso para o padrão da casa. Com ele, o agente já entrega no formato certo.
A economia é composta: menos tentativas por feature × muitas features por mês × custo em créditos por tentativa. Um bom conjunto de steering não deixa o agente “mais inteligente” — deixa ele mais certeiro, e certeiro significa menos rodadas pagas. É a otimização de custo que não aparece em nenhuma tabela de preços, mas que impacta diretamente quantos créditos você queima por resultado entregue.
O terminal já tem as ferramentas: menos código gerado, menos créditos
Este é o vetor de economia mais subestimado do CLI — e talvez o mais importante. Como o Kiro CLI roda dentro do seu shell, ele tem acesso nativo a tudo que já está instalado. A documentação lista as ferramentas embutidas do agente, e duas delas mudam o jogo:
| Ferramenta | O que faz |
|---|---|
shell | Executa comandos bash no seu sistema |
aws | Faz chamadas ao AWS CLI |
read | Lê arquivos e diretórios |
write | Cria e modifica arquivos |
Repare no que isso significa: o agente pode invocar grep, awk, sed, jq, find, sort, uniq, pipes, git e o aws CLI diretamente. Ele não precisa gerar código para fazer o que o Unix já faz há 50 anos.
Por que isso é economia? Porque crédito é unidade de trabalho, e trabalho está correlacionado ao volume de saída que o modelo produz e ao número de iterações. Gerar um script Python de 80 linhas para varrer logs consome tokens de saída (e provavelmente uma ou duas rodadas de depuração). Rodar um one-liner que já existe no sistema consome uma fração disso.
Veja o contraste. Suponha a tarefa “descubra os 5 endpoints com mais erros 500 no log de ontem”.
Abordagem cara (gerar um script): o agente escreve algo assim, e você paga os tokens de gerar, mais os de eventual correção:
# ~40-80 linhas: abrir arquivo, regex, dict de contagem,
# tratar exceção, ordenar, imprimir... e depois debugar
import re
from collections import Counter
counter = Counter()
with open("app.log") as f:
for line in f:
if " 500 " in line:
m = re.search(r'"(?:GET|POST) (\S+)', line)
if m:
counter[m.group(1)] += 1
for path, n in counter.most_common(5):
print(n, path)
Abordagem barata (reusar o terminal): o agente usa a ferramenta shell com um pipe que já resolve tudo — nada de arquivo novo, nada de dependência, nada de rodada de debug:
grep ' 500 ' app.log \
| awk '{print $7}' \
| sort | uniq -c | sort -rn | head -5
Mesmo resultado, uma fração da saída gerada. E como não há código novo para manter, não há segunda rodada corrigindo um IndexError.
O mesmo vale para AWS. Em vez de gerar um script boto3 (import, sessão, paginação, tratamento de erro), o agente chama o aws CLI direto:
# Em vez de ~30 linhas de Python com boto3:
aws logs filter-log-events \
--log-group-name /prod/api \
--filter-pattern '"HTTP 500"' \
--query 'events[].message' --output text \
| awk '{print $NF}' | sort | uniq -c | sort -rn
Há ainda um comando dedicado a essa filosofia: kiro-cli translate converte linguagem natural em comando shell executável — o próprio produto assume que “o comando certo” quase sempre ganha do “script novo”.
Em um IDE, o reflexo do agente é escrever um arquivo. No terminal, o reflexo é compor comandos que já existem. A segunda opção gera menos texto, erra menos e custa menos créditos.
Duas ressalvas honestas. Primeiro: isso não é exclusivo do Kiro — é uma propriedade de agentes que vivem no terminal. Mas o Kiro a expõe de forma explícita, com ferramentas shell e aws nativas. Segundo: dar poder de shell a um agente é uma decisão de segurança, não só de custo. Por isso o CLI tem níveis de confiança por comando (allowedCommands/deniedCommands) e o pedido de aprovação com escopo (comando exato, subcomando, comando base ou ferramenta inteira). Economize créditos, mas mantenha o least privilege — especialmente com a ferramenta aws em ambientes de produção.
Armadilhas comuns
- Fixar um modelo caro “por garantia”. Cada tarefa fora do Auto paga o imposto de
1,3X. Só suba de modelo quando a tarefa realmente justificar, e volte para o Auto depois. - Chutar o consumo em vez de medir. Você não sabe o seu
Xaté rodar/usage. Estimar plano sem medir leva a comprar créditos demais (desperdício) ou de menos (overage a US$ 0,04). - Ignorar o headless por achar que “CLI é a mesma coisa que IDE”. É onde mora a economia de tempo humano. Não usar é deixar dinheiro na mesa.
- Rodar sem steering e reclamar do retrabalho. Sem convenções injetadas, o agente adivinha e você paga a correção em créditos.
- Deixar o agente escrever um script para o que um comando resolve. Se
grep | awkjá faz, não pague os tokens de gerar (e depurar) um script Python. Prefira as ferramentasshell/awsnativas. - Achar que o CLI custa a mais. Não custa. Créditos independem da interface — o CLI é assinatura que você já tem.
Conclusão / Principais aprendizados
- O CLI não adiciona custo. A assinatura é única e os créditos independem da interface — IDE, CLI e web puxam do mesmo pool.
- O modelo é a alavanca de custo mais direta. Auto por padrão; Sonnet 4.6 fixo custa
1,3X(~30% mais) para o mesmo trabalho. Meça com/usage, troque com/model. - A conta ilustrativa é honesta: com
X= custo/tarefa no Auto, um time de 5 devs a 1.000 tarefas/mês paga1.000Xno Auto e1.300Xno Sonnet 4.6 — 30% a mais, comprovado por aritmética, não por número inventado. - A economia grande é o tempo humano.
kiro-cli chat --no-interactivemove trabalho repetitivo para pipelines, trocando horas caras por créditos baratos. É o que só o CLI faz. - Steering reduz o custo por feature entregue ao fazer o agente acertar mais na primeira tentativa — menos rodadas, menos créditos.
- O terminal já resolve metade das tarefas. Com as ferramentas
shelleaws, o agente reusagrep,awk,jq,gite o AWS CLI em vez de gerar scripts — menos saída, menos iterações, menos créditos.
Referências
- Preços do Kiro: https://kiro.dev/pricing/
- Modelos (Auto vs premium): https://kiro.dev/docs/models/
- Créditos avulsos (add-on): https://kiro.dev/docs/billing/add-on-credits/
- Permissões e ferramentas nativas (shell, aws, read, write): https://kiro.dev/docs/cli/chat/permissions/
- Referência de ferramentas embutidas: https://kiro.dev/docs/cli/reference/built-in-tools/
- Comandos do CLI (inclui kiro-cli translate): https://kiro.dev/docs/cli/reference/cli-commands
- Modo headless: https://kiro.dev/docs/cli/headless/
- Steering — documentação: https://kiro.dev/docs/steering/
- Perguntas frequentes: https://kiro.dev/faq/
Este artigo foi publicado originalmente no Medium. Preços, nomes de modelos e detalhes de produto refletem o estado do Kiro em meados de 2026 e podem mudar — confirme em kiro.dev antes de tomar decisões. Este é um conteúdo educacional independente, sem vínculo oficial com a AWS.
Tags: kiro, aws, cli, custos, produtividade
Publicado originalmente em prompt.victorbatistax.com. Se você chegou por outra plataforma, esta é a versão canônica.