Como criar um agente Claude Code que corrige seus próprios bugs em loop (Configuração completa incluída)

@zodchiii
INGLÊShá 4 semanas · 17 de jun. de 2026
143K
141
18
14
332

TL;DR

Este guia fornece uma configuração completa para criar um agente Claude Code autorreparável usando comandos e hooks personalizados. Ao implementar um protocolo de classificação de erros, o agente pode diagnosticar e reparar suas próprias falhas de código de forma autônoma.

Claude escreve código, um teste quebra e ele devolve o erro para você resolver.

Um agente auto-corretivo não faz isso: ele lê seu próprio erro, corrige a causa e executa novamente até tudo ficar verde.

Configure uma vez e você para de ser o debugger não remunerado do seu agente.

Aqui está a configuração completa que você precisa 👇

Antes de começarmos, compartilho dicas diárias sobre IA e vibe coding no meu canal do Telegram: https://t.me/zodchixquant🧠

darkzodchi - inline image

Por que uma única tentativa não é suficiente

Por padrão, o Claude executa uma tarefa uma vez. Um teste falha, ele reporta o erro e espera. Você lê, cola de volta, manda tentar de novo. Você está fazendo a depuração, ele só está digitando.

Um agente auto-corretivo inverte isso. Ele lê o próprio erro, descobre que tipo de bug é, corrige a causa e executa novamente, do jeito que um debugger pensa. Você só intervém quando ele passa ou realmente empaca.

Arquivo 1: o comando de correção

Este é o loop que você realmente executa. Coloque em .claude/commands/fix.md:

yaml
1---
2description: Executa uma tarefa e se autocorrige até todos os testes passarem
3argument-hint: <tarefa>
4allowed-tools: Read, Write, Edit, Glob, Grep, Bash
5model: sonnet
6---
7
8Tarefa: $ARGUMENTS
9
10Loop:
111. Implemente a tarefa.
122. Execute a suíte de testes: `npm test` (ou pytest, cargo test).
133. Se todos os testes passarem: pare e mostre o resultado.
144. Se um teste falhar: classifique o tipo de erro, nomeie a causa raiz,
15 corrija essa causa e volte ao passo 2.
165. Limite de 5 tentativas. Anuncie o número da tentativa a cada rodada.
17
18A ordem classificar-depois-corrigir é o ponto central. Diagnóstico antes
19de editar, em todas as rodadas. Nunca enfraqueça um teste para passar; corrija o código.

Você digita /fix adicionar paginação ao endpoint de usuários e o agente escreve, testa e se repara até a suíte ficar verde.

Arquivo 2: o hook de verificação automática

O comando funciona sob demanda. O hook torna a autoverificação automática a cada edição.

Adicione em .claude/settings.json:

json
1{
2 "hooks": {
3 "PostToolUse": [
4 {
5 "matcher": "Write|Edit",
6 "hooks": [
7 { "type": "command", "command": "npm test --silent 2>&1 | tail -5 || echo 'TESTES FALHANDO, corrija antes de continuar'" }
8 ]
9 }
10 ]
11 }
12}

Agora, toda vez que o Claude editar um arquivo, os testes são executados e o resultado volta para a visão dele.

Uma falha aparece imediatamente, então o agente a corrige no mesmo fluxo, em vez de seguir em frente e empilhar mais alterações em cima de código quebrado.

Arquivo 3: ensine-o a ler o erro

Este é o arquivo que separa um verdadeiro debugger de um chutador. A maioria dos agentes vê "teste falhou" e começa a editar aleatoriamente.

Um bom agente lê o tipo de erro primeiro, porque cada tipo aponta para uma causa diferente. Coloque isso em CLAUDE.md:

markdown
1## Como ler uma falha antes de corrigi-la
2
3Sempre nomeie o tipo de erro primeiro. Cada um significa algo diferente:
4
5- Falha de asserção (esperava X, obteve Y): a lógica está errada.
6 Rastreie de volta da asserção até onde o valor foi construído.
7 Corrija o cálculo, não a expectativa do teste.
8
9- Erro de tipo / undefined não é uma função: incompatibilidade de formato.
10 Algo é nulo, ou o tipo errado chegou a esta linha.
11 Descubra de onde esse valor se origina, proteja ou corrija lá.
12
13- Timeout / travamento: falta um await, ou uma promise nunca é resolvida.
14 Procure chamadas assíncronas sem await, ou uma condição que nunca muda.
15
16- Import / módulo não encontrado: problema de caminho ou dependência, não de lógica.
17 Corrija o caminho ou instale, não mexa no código que o usa.
18
19- Instável (passa às vezes): estado compartilhado ou temporização, nunca aleatório.
20 Procure testes dependentes de ordem ou tempo/rede sem mock.
21
22Regra: declare o tipo e a causa raiz em uma frase em voz alta
23antes de editar. Se você não consegue nomear a causa, está chutando. Pare.

Um erro de tipo e uma falha de asserção exigem ações opostas: um é um problema de formato de dados upstream, o outro é lógica errada no local. Classifique primeiro e o agente corrige a coisa certa.

Pule isso e ele edita aleatoriamente até o vermelho desaparecer, que é como você obtém uma suíte verde que está silenciosamente quebrada.

O que você realmente vê

Você digita uma linha:

text
1/fix o formatador de data retorna fusos horários errados

Então ele trabalha sozinho:

text
1Tentativa 1
2 executou testes → FALHOU
3 tipo: asserção (esperava 5, obteve 11)
4 causa: tamanho da página não aplicado à consulta
5 corrigiu a cláusula LIMIT
6
7Tentativa 2
8 executou testes → FALHOU
9 tipo: erro de tipo (offset é undefined)
10 causa: página 1 não envia offset, padrão incorreto
11 adicionou offset = (página-1)*tamanho
12
13Tentativa 3
14 executou testes → TODOS VERDES (7/7)
15
16Corrigido em 3 tentativas. Revisar o diff?

Você nunca colou um erro de volta. Ele leu os próprios erros, nomeou cada causa e corrigiu até a suíte passar.

Erros comuns

Corrigir antes de diagnosticar. O maior de todos. Um agente que edita antes de nomear o tipo de erro está chutando, e chutar fica verde por sorte, não por corrigir. A regra de classificar primeiro é toda a defesa.

Tratar todo erro da mesma forma. Um timeout e uma falha de asserção não têm nada em comum, mas um agente sem o guia de tipos de erro trata ambos como "algo está errado" e edita a linha mais próxima. Metade das suas correções vão parar no arquivo errado.

Remendar o sintoma. Envolver uma chamada que lança erro em try/catch faz o teste passar e deixa o bug. O protocolo proíbe silenciar erros exatamente por esse motivo.

Deixar enfraquecer testes. Um agente autorizado a editar testes acabará deletando aquele que falha para chegar ao verde. Uma suíte que passa e não prova nada é o pior resultado, então essa regra é inegociável.

Configuração de 5 minutos

2 minutos: crie .claude/commands/fix.md.

1 minuto: adicione o hook PostToolUse em settings.json.

1 minuto: adicione o protocolo de autodebug em CLAUDE.md.

1 minuto: execute /fix em um bug conhecido e veja-o trabalhar a causa, tentativa por tentativa.

Você para de ser o humano que retransmite erros. O agente lê seu próprio vermelho e corrige até ficar verde. Ele não ficou mais inteligente, só parou de devolver o problema para você.

Obrigado por ler!

Compartilho dicas diárias sobre IA, finanças e vibe coding no meu canal do Telegram: https://t.me/zodchixquant

darkzodchi - inline image
Salvar com um clique

Faça leitura profunda de artigos virais com IA no YouMind

Salve a fonte, faça perguntas específicas, resuma o argumento e transforme um artigo viral em notas reutilizáveis em um único espaço de trabalho com IA.

Explorar o YouMind
Para criadores

Transforme seu Markdown em um artigo 𝕏 impecável

Quando você publica seus próprios textos longos, formatar imagens, tabelas e blocos de código para o 𝕏 é uma dor de cabeça. O YouMind transforma um rascunho completo em Markdown em um artigo 𝕏 impecável e pronto para publicar.

Experimente Markdown para 𝕏

Mais padrões para decifrar

Artigos virais recentes

Explorar mais artigos virais