MÓDULO 1.2

🧠 Como o agente pensa

Descubra o loop interno do Claude Code: como ele planeja, usa ferramentas, lida com incerteza e decide quando pedir permissão.

6
Tópicos
45
Minutos
Básico
Nível
Teoria
Tipo
1

🔄 O loop agente

O Claude Code não lê sua mensagem e responde imediatamente. Ele executa um loop de raciocínio e ação — o padrão ReAct — que se repete até a tarefa estar concluída ou até não conseguir avançar mais.

Tarefa 🧠 Pensar raciocínio interno 🛠️ Ferramenta Read/Edit/Bash/Search 👁️ Observar lê o resultado ✅ Pronto repete se necessário

🔄 ReAct em detalhe

ReAct (Reasoning + Acting) é o padrão de agente mais comum. O modelo raciocina sobre o problema, escolhe uma ferramenta, executa, observa o resultado e raciocina novamente — iterando até concluir.

  • Pensar: "Preciso saber o que está em src/auth.ts antes de editar"
  • Agir: Chama Read("src/auth.ts")
  • Observar: Recebe o conteúdo do arquivo
  • Pensar: "Preciso adicionar a função na linha 42..."
ReAct
Reasoning + Acting em loop
Scratchpad
Raciocínio interno invisível
Tool call
Chamada de ferramenta
Iteração
Repetição até concluir
2

🛠️ As ferramentas do agente

O Claude Code tem um conjunto de ferramentas nativas que usa em todo ciclo. Cada ferramenta tem um custo de tokens e requer permissões específicas. Conhecê-las é conhecer as mãos do agente.

✓ Ferramentas de leitura (seguras)

  • Read— lê conteúdo de um arquivo
  • Glob— lista arquivos por padrão glob
  • Grep— busca texto/regex em arquivos
  • LS— lista diretórios e estrutura

⚠️ Ferramentas de escrita (requerem cuidado)

  • Edit— modifica trechos de arquivo
  • Write— cria ou sobrescreve arquivo
  • Bash— executa qualquer comando shell
  • TodoWrite— gerencia lista de tarefas interna

💡 Dica: Observando as ferramentas nos logs

Cada ferramenta aparece nos logs com um prefixo . Aprenda a ler esses logs — eles mostram exatamente o que o agente está fazendo e em qual arquivo. É o mais próximo de "ver o pensamento do agente".

Leitura
Read, Glob, Grep, LS
Escrita
Edit, Write
Execução
Bash — mais poderoso e perigoso
Custo
Cada tool call consome tokens
3

📋 Como ele planeja

Antes de agir, o Claude Code faz um planejamento implícito: divide o problema em passos, identifica quais arquivos precisa ler primeiro, e escolhe a sequência de ferramentas mais eficiente.

Como o agente aborda "Adicione testes ao módulo auth"

1

Exploração — "o que existe?"

Usa Glob("**/*.test.ts") e Glob("src/auth/**") para mapear o projeto.

Precisa entender a estrutura antes de criar qualquer arquivo.

2

Leitura — "o que faz?"

src/auth/index.ts, src/auth/utils.ts e testes existentes como referência.

Sem ler o código, não sabe o que testar.

3

Escrita — "cria os testes"

Usa Write("src/auth/auth.test.ts", ...) com o conteúdo gerado.

Segue o padrão dos testes existentes, respeitando o framework detectado.

4

Validação — "funciona?"

Roda Bash("npm test src/auth") e corrige falhas.

Nunca entrega código não testado — o ciclo de feedback é automático.

📋 Plano explícito vs. implícito

Por padrão, o planejamento é interno (invisível). Para tarefas complexas, você pode pedir ao agente para criar um plano antes de agir: "Antes de implementar, liste os passos que vai seguir". Isso reduz erros em tarefas longas.

Explorar
Mapeamento inicial do projeto
Ler
Lê arquivos relevantes primeiro
Agir
Modifica/cria com contexto
Validar
Roda e verifica o resultado
4

🛡️ Quando pede permissão

O Claude Code tem um sistema de permissões granular. Ele opera de forma autônoma em ações permitidas, mas pausa e pede confirmação antes de ações que podem causar dano irreversível.

✓ Faz sem perguntar

  • Ler qualquer arquivo
  • Editar arquivos de código (se na allowlist)
  • Rodar npm test, git status, git diff
  • Criar novos arquivos

⚠️ Pede confirmação

  • ⚠️Deletar arquivos ou pastas
  • ⚠️Comandos destrutivos (rm -rf, drop table)
  • ⚠️Push para repositórios remotos
  • ⚠️Instalar dependências globais

⚙️ Configurando permissões no settings.json

// .claude/settings.json
{
"permissions": {
"allow": ["Bash(npm test:*)","Bash(git commit:*)"],
"deny": ["Bash(rm -rf:*)"]
}
}

💡 Dica: Configure a allowlist no início

Passas as primeiras horas com o agente pedindo permissão para cada npm test são irritantes. Configure o settings.json do projeto logo nas primeiras sessões para os comandos que você usa frequentemente.

allowlist
Comandos liberados sem confirmação
denylist
Comandos bloqueados sempre
settings.json
Arquivo de configuração do projeto
--skip
Flag para ignorar confirmações (cuidado)
5

🚧 Limites do agente

Conhecer os limites reais do agente é tão importante quanto conhecer suas capacidades. Expectativas erradas geram frustração e resultados medíocres.

📊 O que o Claude Code não faz nativamente

  • 1.Sem memória entre sessões: cada nova sessão começa do zero (sem CLAUDE.md)
  • 2.Sem acesso à internet: não consulta documentação online sem ferramenta extra
  • 3.Sem GUI: não clica em botões, não navega em apps gráficos
  • 4.Sem visão: não lê imagens, PDFs visuais ou capturas de tela
  • 5.Sem execução paralela: uma tarefa de cada vez na mesma sessão

✓ Contornar com CLAUDE.md

  • Criar um arquivo CLAUDE.md no projeto com instruções persistentes
  • Incluir contexto do projeto, regras de código e preferências
  • O agente lê o arquivo automaticamente ao iniciar

✗ Limites reais (sem hack)

  • Não lembra conversas de sessões passadas
  • Não monitora arquivos em tempo real
  • Não agenda tarefas automáticas
CLAUDE.md
Memória persistente manual
MCP
Protocolo para adicionar ferramentas
Scope
Projeto local, não internet
Sessão
Contexto apagado ao fechar
6

🔍 Observando o agente trabalhar

O Claude Code é transparente: cada ação aparece no terminal em tempo real. Aprender a ler esses logs é uma habilidade que acelera seu aprendizado exponencialmente.

💻 Log de uma sessão típica

> Adicione uma função de hash de senha no auth.ts
● Bash: find . -name "*.ts" -path "*/auth/*"
● Read: src/auth/auth.ts (342 lines)
● Read: src/auth/types.ts (89 lines)
● Bash: grep -r "bcrypt\|argon2\|crypto" package.json
● Edit: src/auth/auth.ts
● Bash: npx tsc --noEmit src/auth/auth.ts
✓ Função hashPassword adicionada. Usando crypto.pbkdf2...

💡 O que cada linha do log significa

  • Bash: find... — exploração da estrutura do projeto
  • Read: arquivo (N lines) — lendo N linhas de contexto
  • Bash: grep... — buscando dependências disponíveis
  • Edit: arquivo — modificando o arquivo
  • Bash: npx tsc... — verificando erros de compilação
Tool log
Linha por linha em tempo real
Verbose
Flag --verbose para mais detalhe
Ctrl+C
Interrompe a qualquer momento
Rastreio
Cada ação é auditável

Resumo do Módulo 1.2

Loop ReAct — Pensar → Usar Ferramenta → Observar → repetir
Ferramentas nativas — Read, Edit, Write, Bash, Glob, Grep
Planejamento sequencial — explorar → ler → agir → validar
Permissões configuráveis — allowlist/denylist no settings.json
Transparência total — logs em tempo real mostram cada ação

Próximo Módulo:

1.3 — Contexto, tokens e janela: como funciona a memória de trabalho do agente e por que ela tem limite.