Skip to content

Ferramentas agênticas de IA para código ​

Os assistentes de programação com IA evoluíram do simples preenchimento automático para agentes autônomos capazes de planejar, editar vários arquivos, executar testes e criar pull requests. Este tutorial aborda as três principais ferramentas: Claude Code, Cursor e GitHub Copilot.

1) O que torna uma ferramenta "agêntica"? ​

O preenchimento automático tradicional com IA sugere as próximas linhas. As ferramentas agênticas vão além:

CapacidadePreenchimento automáticoAgêntica
EscopoLinha/função atualTodo o código-fonte
PlanejamentoNenhumRaciocínio em várias etapas
ExecuçãoApenas sugestõesPode editar arquivos e executar comandos
ContextoArquivo atualCompreensão de todo o repositório
Fluxo de trabalhoReativoConclusão autônoma de tarefas

As ferramentas agênticas podem compreender toda a estrutura do seu projeto, planejar alterações em vários arquivos, executar essas alterações, rodar testes e iterar até que a tarefa seja concluída.

2) Comparação rápida: Claude Code vs Cursor vs Copilot ​

RecursoClaude CodeCursorGitHub Copilot
InterfaceCLI, web, plugins para IDEIDE completa (fork do VS Code)Extensões para IDE
Janela de contextoGrande (Opus com contexto longo)Indexação de todo o repositórioMenor, em evolução
Edições em vários arquivosMuito bomExcelenteEm evolução
Modo de planejamentoSimSimSim (mais recente)
PreçoPlanos Pro/MaxCréditos + assinaturaAssinatura
Ideal paraArquitetura, grandes refatoraçõesDesenvolvimento interativoProgramação inline

3) Fundamentos do Claude Code ​

O Claude Code usa o Opus 4.8 (seu modelo padrão atual), com grandes janelas de contexto. Instale e autentique:

bash
# Instale o Claude Code (instalador nativo, recomendado)
curl -fsSL https://claude.ai/install.sh | bash

# Ou via npm (requer Node 18+)
npm install -g @anthropic-ai/claude-code

# Autentique-se: execute claude e siga a solicitação no navegador
claude

# Inicie no seu projeto
cd your-project
claude

Comandos básicos ​

bash
# Pergunte sobre seu código-fonte
claude "Como a autenticação é implementada aqui?"

# Gere código
claude "Adicione um middleware de limitação de taxa"

# Refatore vários arquivos
claude "Renomeie UserService para AuthService em todo o código-fonte"

# Crie um PR
claude "Crie um PR que adicione validação de entrada a todos os endpoints da API"

Configuração do projeto ​

Coloque o contexto do projeto em um arquivo CLAUDE.md na raiz do repositório. O Claude Code o lê automaticamente no início de cada sessão:

markdown
# Observações do projeto

- Linguagem: TypeScript, formatado com Prettier
- Testes: Vitest, em tests/
- Não altere node_modules/ nem dist/

As configurações legíveis por máquina (permissões de ferramentas, variáveis de ambiente e hooks) ficam em .claude/settings.json. Por exemplo, para exigir aprovação antes da execução de ferramentas destrutivas, configure as permissões nesse arquivo.

Memória e contexto ​

O contexto persistente do projeto fica em arquivos CLAUDE.md, que o Claude Code carrega no início de cada sessão, além de um armazenamento de memória automática que o próprio Claude atualiza com base nas suas correções e preferências. Para fornecer contexto permanente, edite o CLAUDE.md em vez de enviar uma instrução avulsa como "Lembre-se:":

markdown
# CLAUDE.md
Este é um monorepo. O código compartilhado fica em packages/.

Use o comando /clear durante uma sessão para redefinir o contexto de trabalho.

4) Recursos agênticos da IDE Cursor ​

O Cursor foi desenvolvido em torno de fluxos de trabalho agênticos. Principais recursos:

Modo Agent ​

Pressione Cmd+Shift+I (Mac) ou Ctrl+Shift+I (Windows/Linux) para abrir o Composer no modo Agent:

Fluxo de trabalho do modo Agent:
1. Descreva sua tarefa
2. O agente cria um plano
3. Você aprova ou modifica
4. O agente executa as alterações
5. Revise e itere

Modo Plan ​

Para tarefas complexas, use explicitamente o modo Plan:

@plan Adicione autenticação de usuário com:
- Tokens JWT
- Rotação de refresh tokens
- Hash de senhas com bcrypt
- Limitação de tentativas de login

O agente irá:

  1. Analisar seu código existente
  2. Criar um plano de implementação detalhado
  3. Aguardar sua aprovação
  4. Executar o plano passo a passo

Injeção de contexto ​

Use @ para adicionar um contexto específico:

@file src/api/auth.ts
@folder src/middleware
@docs https://jwt.io/introduction

Implemente um middleware de verificação de JWT seguindo estes padrões

Agentes em paralelo ​

Execute vários agentes simultaneamente em branches diferentes:

# No Cursor:
1. Abra a Paleta de Comandos
2. "Cursor: New Agent in Worktree"
3. Cada agente trabalha isoladamente
4. Compare os resultados lado a lado

O Cursor 3 adicionou uma janela de agentes (abra-a com Cmd+Shift+P e depois "Agents Window") que executa vários agentes em paralelo entre checkouts locais, worktrees do git e ambientes na nuvem. O comando /worktree coloca cada agente em seu próprio worktree isolado do git, enquanto /best-of-n executa a mesma tarefa em vários modelos para que você possa comparar os resultados lado a lado.

Regras para manter a consistência ​

Crie .cursor/rules/project.mdc:

markdown
# Regras do projeto

## Estilo do código
- Use o modo estrito do TypeScript
- Prefira componentes funcionais
- Use exportações nomeadas, não padrão

## Testes
- Todo recurso precisa de testes
- Use blocos describe/it
- Simule serviços externos

## Segurança
- Nunca faça commit de segredos
- Valide todas as entradas do usuário
- Use consultas parametrizadas

5) Recursos agênticos do GitHub Copilot ​

O Copilot evoluiu para além do preenchimento automático:

Copilot Chat ​

Abra o painel de chat e use comandos com barra:

/explain - Explique o código selecionado
/fix - Corrija problemas na seleção
/tests - Gere testes
/doc - Adicione documentação

Agente de programação (de issue a pull request) ​

# No GitHub:
1. Abra uma issue do GitHub
2. Atribua-a ao "Copilot"
3. O agente de programação trabalha em segundo plano:
   analisa a issue, edita arquivos e executa testes
4. Ele abre um pull request para sua revisão

Isso é diferente do modo Agent do Copilot na IDE, que trabalha de forma síncrona ao seu lado no VS Code ou no JetBrains.

O Copilot agora divide seu trabalho autônomo em duas partes: o modo Agent é executado de forma síncrona dentro da sua IDE (VS Code e JetBrains), decidindo quais arquivos editar, executando comandos no terminal e iterando sobre erros; o agente de programação é executado de forma assíncrona na nuvem, assumindo uma issue atribuída e entregando um pull request enquanto você trabalha em outra coisa.

Sugestões inline com contexto ​

O Copilot lê seu código-fonte. Ajude-o com comentários:

typescript
// Middleware de autenticação que:
// - Extrai o JWT do cabeçalho Authorization
// - Valida a assinatura do token
// - Anexa o usuário à requisição
// - Retorna 401 se for inválido
export function authMiddleware(req, res, next) {
  // O Copilot gera a implementação
}

6) Boas práticas para todas as ferramentas ​

Escreva prompts claros ​

❌ Ruim: "Corrija o bug"

✅ Bom: "Corrija a exceção de ponteiro nulo em UserService.getById 
quando o usuário não existir. Retorne null em vez de lançar uma exceção."

❌ Ruim: "Adicione testes"

✅ Bom: "Adicione testes unitários para o CartService cobrindo:
- Adição de itens a um carrinho vazio
- Remoção de itens
- Cálculo de totais com descontos
- Caso extremo: quantidades negativas"

Use o modo de planejamento para tarefas complexas ​

Para qualquer tarefa que altere 3 ou mais arquivos, sempre:

1. Peça primeiro um plano
2. Revise o plano
3. Aprove ou modifique
4. Deixe o agente executar
5. Revise as alterações antes de fazer commit

Forneça contexto arquitetural ​

Antes de trabalhos importantes, contextualize o agente:

"Esta é uma arquitetura de microsserviços:
- api-gateway: Encaminha requisições
- auth-service: JWT, sessões
- user-service: CRUD de usuários
- notification-service: E-mail, push

Os serviços se comunicam via pub/sub do Redis.
O banco de dados é PostgreSQL com o ORM Prisma."

Desenvolvimento orientado a testes com agentes ​

1. Escreva primeiro um teste que falhe:
   "Escreva um teste de cadastro de usuário que exija a validação do e-mail"

2. Deixe o agente ver o teste falhando:
   "Implemente o cadastro para fazer este teste passar"

3. Continue iterando até tudo passar:
   "Corrija as falhas de teste restantes"

7) Considerações de segurança ​

As ferramentas agênticas têm poder real. Defina limites:

Etapas de aprovação ​

json
// .claude/config.json
{
  "safety": {
    "requireApproval": [
      "rm",
      "git push",
      "npm publish",
      "database migrations",
      "env file changes"
    ]
  }
}

Sandboxing ​

bash
# Execute agentes em ambientes isolados
docker run -v $(pwd):/workspace -it claude-sandbox

# Ou use worktrees do git para isolamento
git worktree add ../feature-branch feature-branch

Arquivos confidenciais ​

# .cursorignore / .claudeignore
.env
.env.*
secrets/
credentials/
*.pem
*.key

Revise todas as alterações ​

bash
# Antes de aceitar as alterações do agente:
git diff --stat
git diff

# Use o staging interativo
git add -p

# Nunca faça merge automático sem revisão

8) Padrões de fluxo de trabalho que funcionam ​

Padrão 1: Explorar, planejar, executar ​

Sessão 1: "Como funciona o sistema de pagamentos?"
          → O agente explora, você aprende

Sessão 2: "O que seria necessário para adicionar o Stripe?"
          → O agente cria um plano

Sessão 3: "Implemente a integração com o Stripe"
          → O agente executa o plano

Padrão 2: Exploração em paralelo ​

# No Cursor com agentes em paralelo:

Agente 1: "Implemente cache com Redis"
Agente 2: "Implemente cache com Memcached"
Agente 3: "Implemente cache com LRU em memória"

→ Compare as implementações e escolha a melhor abordagem

Padrão 3: Migração incremental ​

Etapa 1: "Identifique todos os usos da API obsoleta"
Etapa 2: "Crie um adaptador para a nova API"
Etapa 3: "Migre o módulo A para usar o adaptador"
Etapa 4: "Migre o módulo B..."
...
Etapa N: "Remova o adaptador e use a nova API diretamente"

Padrão 4: Desenvolvimento de recursos começando pelos testes ​

1. "Escreva testes de aceitação para a edição do perfil de usuário"
2. "Escreva testes unitários para a validação do perfil"
3. "Implemente para fazer os testes passarem"
4. "Adicione testes de integração"
5. "Refatore para melhorar a clareza"

9) Quando usar cada ferramenta ​

SituaçãoFerramenta recomendada
Programação em tempo real, ajuda inlineGitHub Copilot
Grandes refatorações, arquiteturaClaude Code
Sessão completa de desenvolvimentoCursor
Perguntas rápidas sobre códigoQualquer interface de chat
Criação de PRs a partir de issuesCopilot Workspace
Alterações complexas em vários arquivosCursor Agent
Design de API, documentaçãoClaude Code
Aprendizado de um novo código-fonteCursor ou Claude Code

10) Como medir a eficácia ​

Acompanhe estas métricas para avaliar as ferramentas agênticas:

javascript
const metrics = {
  // Produtividade
  suggestionsAccepted: 'porcentagem de sugestões que você manteve',
  timeToFeature: 'horas desde o início até o merge do PR',
  linesPerHour: 'velocidade de produção de código (use com cuidado)',
  
  // Qualidade
  bugsIntroduced: 'defeitos atribuídos a código gerado por IA',
  testCoverage: 'cobertura do código gerado por IA',
  reviewChanges: 'quanto você modifica as sugestões da IA',
  
  // Custo
  apiCosts: 'gasto mensal com ferramentas de IA',
  creditsUsed: 'créditos do Cursor consumidos',
  
  // Aprendizado
  newPatternsLearned: 'técnicas que você aprendeu com a IA',
  codebaseUnderstanding: 'quanto a IA ajudou você a aprender',
}

11) Armadilhas comuns ​

Confiar demais no agente ​

❌ Aceitar grandes alterações sem revisão
❌ Permitir que agentes executem comandos destrutivos
❌ Não entender o código antes de publicá-lo

✅ Revise cada alteração
✅ Entenda o que você publica
✅ Use agentes como colaboradores, não como substitutos

Poluição de contexto ​

❌ Prompts enormes com contexto irrelevante
❌ Não limpar o contexto entre tarefas não relacionadas
❌ Incluir arquivos gerados no contexto

✅ Mantenha os prompts focados
✅ Use referências específicas com @file
✅ Exclua artefatos de build

Ambiguidade no prompt ​

❌ "Melhore isso"
❌ "Corrija os problemas"
❌ "Adicione alguns testes"

✅ "Reduza a complexidade de tempo de O(n²) para O(n log n)"
✅ "Trate o caso null na linha 45 retornando antecipadamente"
✅ "Adicione testes para casos extremos: entrada vazia, tamanho máximo, unicode"

12) Checklist para começar ​

markdown
## Checklist de configuração

### Claude Code
- [ ] Instale a CLI: `npm install -g @anthropic/claude-code`
- [ ] Autentique-se: `claude login`
- [ ] Crie `.claude/config.json`
- [ ] Adicione `.claudeignore` para arquivos confidenciais

### Cursor
- [ ] Baixe em cursor.com
- [ ] Importe as configurações do VS Code
- [ ] Configure `.cursor/rules/`
- [ ] Aprenda a usar `Cmd+Shift+I` para o modo Agent

### GitHub Copilot
- [ ] Instale a extensão na sua IDE
- [ ] Ative o Copilot Chat
- [ ] Experimente o Copilot Workspace para issues
- [ ] Configure `.github/copilot-instructions.md`

### Todas as ferramentas
- [ ] Configure etapas de aprovação para operações destrutivas
- [ ] Crie arquivos de exclusão para segredos
- [ ] Estabeleça um fluxo de trabalho de revisão
- [ ] Acompanhe métricas desde o primeiro dia

Conteúdo relacionado ​