Ralph Loop: O Plugin que Faz o Claude Code Trabalhar Enquanto Você Dorme

Por Devy · yoDEV.dev


Um desenvolvedor chamado Geoffrey Huntley deu ao Claude Code uma tarefa inusitada: construir uma linguagem de programação completamente nova, com seu próprio compilador LLVM que gera binários para macOS, Linux e Windows.

Três meses depois, a linguagem existia. E o mais surpreendente não foi que Claude a construísse — foi o que Huntley disse depois:

“O que realmente me impressionou: Ralph não apenas foi capaz de construir essa linguagem de programação, mas também conseguiu programar nela — apesar de a linguagem nunca ter estado nos dados de treinamento do modelo.”

Esse é Ralph Loop. E é provavelmente o plugin mais disruptivo do ecossistema de Claude Code hoje.


O problema que ninguém nomeia

Claude Code é incrivelmente capaz. Mas tem um comportamento que frustra todos que o usam com frequência: ele para quando acha que terminou.

Não quando realmente terminou. Quando acha que terminou.

Gera código que parece funcionar, reporta que completou a tarefa, e sai. Você revisa, encontra que os testes falham, que falta um caso extremo, que a implementação está incompleta. Você recomeça a conversa. Explica o que faltou. Claude corrige, sai novamente. Você repete o ciclo manualmente, uma e outra vez.

Esse ciclo de iteração é trabalho humano que não deveria ser trabalho humano. É mecânico, repetitivo, e o modelo poderia fazê-lo sozinho se tivesse a instrução de não parar até que as condições reais de sucesso sejam atendidas.

Ralph Loop é exatamente essa instrução.


O que é Ralph Loop e como funciona

Ralph Loop (também conhecido como Ralph Wiggum, em homenagem ao personagem de Os Simpsons que persiste não importa quantas vezes falha) é um plugin oficial do marketplace da Anthropic para Claude Code.

Seu mecanismo é elegantemente simples. No coração do plugin há um Stop Hook — um script que intercepta a tentativa de Claude de encerrar a sessão. Em vez de permitir que Claude saia, o hook bloqueia a saída com um código de erro especial (exit code 2) e reinjeta o mesmo prompt original. Claude retoma o trabalho de onde parou, agora com visibilidade dos arquivos modificados e do histórico de git das iterações anteriores.

O ciclo completo se parece com isso:

1. Claude trabalha na tarefa
2. Claude tenta sair ("Pronto!")
3. Stop hook bloqueia a saída
4. O mesmo prompt é reinjetado automaticamente
5. Claude continua — agora sabe o que falhou antes
6. Repetir até que a condição de sucesso seja atendida

A chave é que cada iteração não começa do zero. Claude pode ver o código que escreveu na rodada anterior, os testes que falharam, os erros do linter. Cada falha lhe ensina algo. A solução converge iteração após iteração.


Como usar na prática

A instalação é direta do Claude Code:

/plugin marketplace add anthropics/claude-code
/plugin install ralph-wiggum@claude-plugins-official

Para iniciar um loop, o comando básico é:

/ralph-loop "Sua descrição de tarefa aqui" --max-iterations 20 --completion-promise "PRONTO"

O --completion-promise é o texto exato que Claude deve incluir em sua resposta para indicar que realmente terminou. O --max-iterations é sua rede de segurança — define quantas vezes ele pode tentar antes de parar. Sempre coloque.

Um exemplo real para migração de testes:

/ralph-loop "Migre todos os testes de Jest para Vitest.
Critérios de sucesso:
- Todos os testes passam com Vitest
- Não há imports de Jest restantes
- Coverage mantém > 80%

Output <promise>MIGRAÇÃO_COMPLETA</promise> quando terminar."
--max-iterations 30
--completion-promise "MIGRAÇÃO_COMPLETA"

Você lança, e sai. Ralph trabalha.


Os resultados que a comunidade está reportando

Os números que circulam na comunidade são difíceis de ignorar:

O projeto de $50.000 por $297. Uma equipe de um hackathon de Y Combinator usou Ralph para completar 6 repositórios completos em uma única noite. Custo total em API: aproximadamente $297. O trabalho equivalente em tempo humano: semanas.

A migração de React. Um desenvolvedor migrou uma base de código completa de React v16 para v19 em uma sessão autônoma de 14 horas, sem intervenção humana.

Os testes que demoravam 4 minutos. Um dev usou Ralph para refatorar testes de integração. Resultado: tempo de execução reduzido de 4 minutos para 2 segundos.

A linguagem de programação. A história de Geoffrey Huntley já contamos acima. Três meses de loop contínuo, um compilador funcional, uma linguagem que não existia em nenhum dado de treinamento.

O padrão comum em todos esses casos: tarefas bem definidas, com critérios de sucesso verificáveis automaticamente (testes que passam ou falham, linters, builds).


Quando usar e quando não usar

Ralph Loop brilha em um conjunto específico de cenários. É importante entender seus limites tanto quanto suas capacidades.

Use para:

  • Migrações de frameworks ou dependências
  • Expansão de cobertura de testes em código existente
  • Refatorações grandes com resultados verificáveis
  • Projetos greenfield com specs claras e testes automatizados
  • Tarefas repetitivas: adicionar tipos TypeScript, documentar funções, padronizar código

Evite para:

  • Decisões arquitetônicas que requerem julgamento humano
  • Código de segurança crítica (autenticação, pagamentos, encriptação)
  • Requisitos ambíguos onde você não consegue definir o que significa “pronto”
  • Trabalho exploratório (“descubra por que o app está lento”)

A regra prática: se você consegue descrever exatamente como se parece “terminado”, Ralph consegue alcançá-lo. Se não consegue, nenhuma quantidade de iterações vai ajudar.


O custo é real — planeje-o

Há algo que os artigos entusiastas sobre Ralph nem sempre mencionam com ênfase suficiente: os loops consomem tokens rapidamente.

Um loop de 50 iterações em uma base de código mediana pode custar entre $50 e $100+ em uso de API, dependendo da complexidade. Se você usar Claude Code com assinatura, vai consumir sua cota mais rápido do que esperado.

A boa notícia: o ROI pode ser enorme. Um loop de $100 que substitui 20 horas de trabalho tem um retorno claro. Mas comece conservador — 10 a 15 iterações no máximo em seus primeiros experimentos — e ajuste com base em resultados reais.

Alguns conselhos práticos da comunidade:

  • Sempre trabalhe em um diretório com git inicializado para poder reverter mudanças
  • Use ambientes isolados (Docker ou VM) para sessões longas desatendidas
  • Revise todo o código antes de fazer merge — trate como qualquer PR
  • Tenha /cancel-ralph pronto se precisar parar o loop manualmente

A mudança de mentalidade

O mais interessante sobre Ralph Loop não é o plugin em si. É a mudança de workflow que implica.

Com Claude Code normal, o modelo é um colaborador que você responde e corrige em tempo real. Com Ralph, o modelo é um executor que trabalha contra especificações — como dar um ticket detalhado a um desenvolvedor e voltar quando estiver pronto.

A habilidade que se torna crítica não é saber usar o plugin. É saber escrever prompts que convergem para soluções corretas. Prompts com critérios de sucesso explícitos, com regras claras, com instruções sobre o que fazer se algo não funcionar após N tentativas.

Esse é o trabalho de engenharia que Ralph lhe devolve: pensar bem o problema antes de executar, não durante.


Instalação rápida

# Passo 1: Adicionar o marketplace oficial da Anthropic
/plugin marketplace add anthropics/claude-code

# Passo 2: Instalar o plugin
/plugin install ralph-wiggum@claude-plugins-official

# Passo 3: Seu primeiro loop (comece pequeno)
/ralph-loop "Adicione JSDoc a todas as funções exportadas em src/utils/
Output <promise>DOCUMENTADO</promise> quando termines.\"\n--max-iterations 10\n--completion-promise \"DOCUMENTADO\"\n```\n\n**Requisito:** Claude Code com permissões de ferramentas habilitadas (`--dangerously-skip-permissions` pode ser necessário para sessões desatendidas longas — use com critério e sempre em um ambiente controlado).\n\n---\n\n## Recursos\n\n👉 [Ralph Loop no marketplace oficial da Anthropic](https://claude.com/plugins/ralph-loop)\n👉 [README oficial do plugin](https://github.com/anthropics/claude-code/blob/0b3f7cbbbd8c0e78c4bb63134ead608c555df5de/plugins/ralph-wiggum/README.md)\n👉 [O post original de Geoffrey Huntley sobre a técnica](https://blog.fsck.com)\n\n---\n\n*Já testou loops autônomos com Claude Code? Que tipo de tarefas você acha que se prestam melhor? Conte-nos nos comentários.*