🧠FFVAcademy
☁️

Amazon Q e Kiro: a Aposta da AWS

9 min de leitura·+60 XP
Pré-requisitos (0/1)0%

Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.

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.

CodeWhisperer (2022)

Autocomplete focado em código AWS. Sabia quando você estava escrevendo código para Lambda ou S3 e sugeria completions mais precisos para esses contextos.

Amazon Q Developer (2023–2025)

Chat, geração de código, análise de segurança (scan por vulnerabilidades), revisão de IAM policies, e o recurso flagship: transformação de código legado.

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:

1. Modelo híbrido via Bedrock

Q não tem modelo único. Usa uma mistura de Anthropic Claude (tarefas complexas) + Amazon Titan (inline completion latency-crítica) roteada conforme o contexto. Isso é invisível ao usuário mas reduz custo/latência.

2. Integração nativa de identidade

IAM + AWS SSO direto. Sem token manual, sem configurar credenciais. Em AWS Console e CloudShell o Q já sabe quem você é, o que pode, em qual conta.

3. Documentação privada indexada

AWS tem documentação técnica interna (runbooks, limites não publicados, playbooks de incidente) que só o Q acessa. Claude Code só vê o que está publicado.

4. Q Code Transformation: build farm determinístico

O flagship. Migrações Java 8→17, .NET Framework→.NET 8, rodam em fleet AWS com OpenRewrite (engine AST-based) + compilação real + testes. LLM é fallback, não protagonista. Impossível replicar em CLI local.

💡
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ão

Por 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

1

Spec

Você descreve o que quer implementar em um arquivo .md estruturado: requisitos funcionais, critérios de aceitação, casos de uso, edge cases.

2

Design

O Kiro transforma a spec em um design técnico: quais arquivos criar, quais interfaces definir, quais dependências adicionar.

3

Tasks

O design vira uma lista de tarefas ordenadas. Você pode revisar, reordenar ou remover tasks antes de executar.

4

Implementation

O agente executa as tasks em ordem. Você acompanha o progresso e pode intervir em qualquer ponto.

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 PR

A 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.
🧩

Quiz rápido

3 perguntas · Acerte tudo e ganhe o badge 🎯 Gabarito

Continue lendo