Amazon Q e Kiro: a Aposta da AWS
A AWS lançou dois produtos distintos no mercado de coding agents — com filosofias quase opostas. O Amazon Q Developer é uma extensão de IDE voltada para o ecossistema AWS. O Kiro (2025) é uma aposta em uma forma diferente de pensar desenvolvimento de software.
Amazon Q Developer: herdeiro do CodeWhisperer
O Amazon Q Developer é a evolução do CodeWhisperer, o assistente de código da AWS lançado em 2022. A renomeação reflete uma expansão de escopo: de autocomplete para um assistente completo integrado ao ecossistema AWS.
A pergunta honesta: e se eu passar contexto AWS pro meu Claude Code?
Essa é a pergunta certa. Claude Code com CLAUDE.md bem montado, acesso à AWS CLI na máquina, e WebFetch da documentação AWS — ele não ficaria tão bom quanto o Q? Para a maioria das tarefas de código, sim, fica competitivo. O moat do Q não está no LLM. Está em quatro camadas que Claude Code não replica facilmente:
Resumo brutal: para escrever código que usa AWS, Claude Code com bom contexto empata. Para operar dentro do ecossistema AWS (IAM, SSO, Console, migrações Java em lote, compliance com FedRAMP/GovCloud) — o Q tem uma infraestrutura que você não consegue replicar só com prompt.
Q Code Transformation: por dentro do killer feature
O recurso mais diferenciado do Q Developer não é autocomplete — é a transformação de código legado em larga escala. E o detalhe técnico que pouca gente sabe: o LLM não é o protagonista.
// Q Code Transformation: arquitetura real
1. Upload do projeto Java 8/11 para o build farm Q
(roda em fleet EC2 dedicada, não no seu IDE)
2. OpenRewrite analisa o projeto
OpenRewrite = engine open-source (Moderne, 2018)
que aplica "recipes" determinísticas sobre a AST
Ex: "substituir java.util.Date por LocalDate"
é uma recipe que edita a AST de forma segura
3. Aplica recipes padronizadas
- Upgrade de pom.xml / build.gradle
- Migração de APIs depreciadas
- Atualização de imports
- Refactor de padrões Java 8 → 17 idioms
4. BUILD + TEST em cada fase
O farm roda `mvn verify` / `gradle build`
Se falhar, reverte e tenta abordagem alternativa
Testes de regressão como gate
5. LLM entra APENAS para casos ambíguos
"Esta API não tem substituição direta, qual
o pattern idiomático aqui?" → LLM sugere,
OpenRewrite valida AST, build farm testa.
6. PR final com diff + relatório de conversãoPor que isso não dá pra replicar no Claude Code? Não é só prompt — é:
→ OpenRewrite integrado: engine de transformação AST-based, não text-based. Muda milhares de arquivos com garantia de correção sintática.
→ Build farm: compilação + testes paralelos em escala. Seu laptop não roda 10 builds Java 17 simultâneos para validar opções.
→ Recipes AWS-específicas: padrões de migração que a AWS viu em milhares de customers (ex: SDK v1 → v2), empacotados como recipes reutilizáveis.
→ Compliance: roda em GovCloud para clientes federais. Claude Code não tem certificação FedRAMP High.
Kiro: uma filosofia diferente de desenvolvimento
Lançado em 2025, o Kiro não é uma evolução do Q Developer. É uma aposta em uma abordagem diferente: spec-driven development.
A premissa: a maioria dos problemas com IA gerando código não é o modelo ser ruim — é o prompt sendo vago. "Implementa sistema de autenticação" pode ser interpretado de 50 formas diferentes. O Kiro força você a ser explícito antes de executar.
FLUXO DO KIRO
Hooks: automação no ciclo de desenvolvimento
Um recurso técnico interessante do Kiro são os hooks: scripts que executam automaticamente em resposta a eventos do ciclo de desenvolvimento.
# Exemplo de hook no Kiro
# Quando um arquivo TypeScript é salvo:
on: file.save
match: "**/*.ts"
run: |
- Verifica se os testes relacionados passam
- Atualiza a documentação inline automaticamente
- Checa se a spec original foi respeitada
# Quando um PR é criado:
on: pr.create
run: |
- Gera changelog baseado nos commits
- Verifica se todas as tasks da spec foram cumpridas
- Cria draft de description do PRA ideia é reduzir o overhead de manutenção de documentação e verificação de qualidade — tarefas que os desenvolvedores sabem que deveriam fazer mas frequentemente pulam sob pressão.
Q Developer vs Kiro: quando usar cada um
Use Amazon Q Developer quando:
→ Você trabalha primariamente com serviços AWS
→ Tem código legado Java para modernizar
→ Precisa de scan de segurança integrado no workflow
→ Já usa o ecossistema da AWS e quer integração nativa
Use Kiro quando:
→ Você quer rastreabilidade entre requisitos e código gerado
→ Time com diferentes níveis de experiência (spec nivelar o entendimento)
→ Projetos onde "vibe coding" causou problemas no passado
→ Você prefere planejar antes de executar
No próximo módulo: Qual Ferramenta Usar e Quando — uma matriz de decisão honesta comparando todas as ferramentas que estudamos.
Próximos passos sugeridos
Discussão
Carregando…