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-ralphpronto 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.*
