Lição 4 de 8 · 14 min · Verificado em 10 de Outubro de 2026
Quando corre mal: recuar, recomeçar e perceber o erro
No fim desta lição vais conseguir:
- Recuar alterações indesejadas com os pontos de restauro do agente, uma cópia ou o Git
- Recomeçar com uma conversa nova e um pedido mais pequeno quando o agente insiste no mesmo erro
- Pedir ao agente que explique um erro sem o corrigir
- Reconhecer quando parar e pedir ajuda a uma pessoa
Pediste ao agente para mudar só o horário de sábado na página da padaria. Ele mudou o horário, sim. Mas também trocou as cores, apagou a morada e acrescentou um formulário de encomendas que ninguém pediu. E tu, na pressa, aceitaste.
Acontece a toda a gente. Vês aqui os três casos mais comuns e o que fazer em cada um.
Isto é como está a 6 de Outubro de 2026; se o ecrã for diferente, procura o botão com o mesmo nome.
Caso 1: mudou o que não querias, e queres voltar atrás
No Claude Code há pontos de restauro automáticos. Cada pedido teu cria um. Para voltar:
- Escreve
/rewind, ou carrega emEscduas vezes com a caixa de texto vazia. - Escolhe na lista o pedido antes do qual queres voltar.
- Escolhe Restore code (repõe os ficheiros e mantém a conversa), Restore conversation (só a conversa) ou Restore code and conversation (as duas).
Guia: Pontos de restauro no Claude Code.
Há limites. O que for alterado por comandos do terminal (apagar, mover ou copiar ficheiros) não fica registado. E os pontos de restauro não substituem o Git: guardam-se durante algum tempo e depois desaparecem.
No Codex não há um botão equivalente para os ficheiros. A própria documentação aconselha a criares pontos de restauro com o Git antes e depois de cada tarefa (Codex CLI).
Com o Git (nos dois agentes), a pasta tem de estar no Git e ter um commit anterior: é o tema da lição 1/05. Separa três coisas:
- Ver, sem mudar nada:
git statusdiz que ficheiros mudaram egit diffmostra as linhas. - Guardar um ponto, com
git addegit commit: vês na lição 1/05. - Recuar: o único passo que apaga trabalho.
Cuidado
Recuar com o Git apaga as alterações por guardar nesse ficheiro, e nenhum /rewind as traz de volta. Antes, faz uma cópia da pasta (como na dica abaixo) e confirma com git diff HEAD -- index.html o que vais perder: o git diff sozinho não mostra o que já marcaste com git add.
Para pôr o ficheiro como estava no último commit:
git restore --source=HEAD index.html
Sem o --source=HEAD, o git restore vai buscar a versão à área de preparação (o que marcaste com git add), que pode já ter as alterações que querias desfazer. E com --source=HEAD a versão marcada fica lá na mesma; para a deitar fora também, git restore --source=HEAD --staged --worktree -- index.html.
Sem nada disto, ainda podes pedir ao agente:
Desfaz as alterações que fizeste ao index.html no último pedido. Mostra-me o diff antes de aplicar.
Funciona muitas vezes, mas depende da memória da conversa. Não contes com isso para coisas importantes.
Dica
Antes de uma tarefa maior, faz uma cópia da pasta no explorador de ficheiros (copiar e colar, com outro nome, por exemplo experiencias-copia). É o ponto de restauro mais simples do mundo e funciona com qualquer agente.
Caso 2: o agente insiste no mesmo erro
Pedes, ele falha. Explicas, ele falha da mesma maneira. Explicas melhor, e ele faz igual.
Isto acontece porque a conversa fica cheia de tentativas falhadas, e o agente continua a puxar por elas. A solução é uma folha limpa:
- Claude Code:
/clearcomeça uma conversa nova. - Codex:
/newcomeça uma conversa nova (o/cleartambém, e limpa o ecrã).
E o pedido novo deve ser mais pequeno, com o que já aprendeste:
No ficheiro index.html, muda só o horário de sábado para 7h–13h. Não mexas nas cores, na morada nem em mais nada. Da última vez, ao mudar o horário, a morada foi apagada; confirma que fica igual.
Uma regra que funciona bem: duas tentativas falhadas no mesmo ponto, conversa nova com pedido mais pequeno.
Dica
Se a tarefa é grande, parte-a. «Faz a página toda» falha mais do que «faz o cabeçalho», depois «agora o horário», depois «agora a morada». Cada passo pequeno tem um diff pequeno, que lês num instante.
Caso 3: apareceu um erro a vermelho
Primeiro perceber, só depois corrigir. Copia o erro e pede:
Explica-me este erro sem o corrigir. Diz-me em português simples o que quer dizer, em que ficheiro e em que linha está, e o que achas que o causou. Não alteres nenhum ficheiro.
[cola aqui o erro]
Porquê não pedir logo «corrige»? Porque às vezes o agente «resolve» o erro apagando a parte que o causa, e o problema muda de sítio. Usa o que aprendeste na lição 0/03: a última linha diz o quê, e o ficheiro e a linha dizem onde.
Para ele não mexer em ficheiros, pede isto no modo de plano (Claude Code) ou com o /permissions em Read Only (Codex). Se mesmo assim pedir licença para alterar alguma coisa, recusa.
Quando parar e pedir ajuda a uma pessoa
Pára e pergunta a alguém que saiba quando:
- o agente quer usar
sudo, apagar coisas fora deexperiencias, mexer em definições do sistema ou desligar o antivírus; - o erro fala de palavras-passe, chaves, pagamentos ou dados de outras pessoas;
- algo mudou fora da pasta
experiencias; - três conversas novas deram o mesmo problema;
- já estás a aceitar sem ler, porque estás cansado. Isto conta.
Cuidado
Quando corre mal, a tentação é dar mais poder ao agente para ele «resolver de vez»: ligar o modo que não pergunta, aceitar tudo, correr o comando com sudo. Faz o contrário. Quanto mais confuso estiver o problema, mais devagar e com mais licenças.
Errar aqui sai barato
A pasta experiencias existe para isto. Se ficar tudo baralhado, apagas a pasta no explorador de ficheiros, crias outra e recomeças. Não perdes nada de importante; gastas só uso do agente, que conta para os limites da conta ou para a factura da chave API. Cada erro aqui é um que não vais cometer na página verdadeira da padaria ou no site da junta. Experimenta, estraga, recua: é assim que aprendes quando confiar no agente.
Exercício
Como sei que ficou bem depois do passo 5, a página volta a ter as cores que tinha antes do pedido, e a morada e o horário estão iguais.
Se não deu
Escduas vezes não abre a lista: a caixa de texto tem de estar vazia. Apaga o que lá estiver e tenta outra vez, ou escreve/rewind.- Só aparece a opção de restaurar a conversa: nesse ponto não houve alterações a ficheiros feitas pelo agente. Escolhe um pedido anterior.
- Recuaste a conversa mas a página continua azul: escolheste Restore conversation. Repete com Restore code.
- A página não mudou no browser: carrega em
F5(ouCmd + Rno Mac) para recarregar. - Nada resultou: apaga a pasta
experienciase põe a cópia no lugar dela, com o nomeexperiencias.
Vídeos
Mostra como desfazer um commit com git revert, o gesto básico para recuar; vídeo de 2022, mas o conceito não muda.
Vídeo oficial da Anthropic sobre gerir o contexto no Claude Code: quando usar /compact e quando usar /clear para recomeçar.
Testa o que aprendeste
Correcções a esta lição (2)
- : Segunda revisão externa: o `git diff` antes de recuar passou a `git diff HEAD -- index.html`, que mostra também o que já marcaste com `git add`; e a lição dá o comando para deitar fora, ao mesmo tempo, a versão da área de preparação.
- : Depois de uma revisão externa: o comando para recuar passou a `git restore --source=HEAD`, com a explicação de que sem essa opção o ficheiro vem da área de preparação; ver, guardar e recuar ficaram separados; o aviso e a cópia da pasta vêm antes do comando; a secção final passou a chamar-se «Errar aqui sai barato», com a nota de que gasta uso do agente. As opções do quiz foram reordenadas.