
Criei um Servidor de Produção Auto-Curativo Usando Claude Code
Como um operador de restaurante no México construiu um agente de IA autônomo que lê logs, corrige bugs, reinicia serviços e reporta — tudo a partir de uma mensagem no Telegram, usando um plano de $100/mês.
O Problema
Eu executo seis serviços de produção em uma VM Windows Server 2022 no GCP. Um bot do WhatsApp, uma API REST, um agente fiscal CFO, um despachante do Telegram, um site de portfólio e um monitor. Quando algo quebra às 2 da manhã, ou eu acordo para consertar ou fica quebrado até a manhã.
Eu queria autocorreção autônoma. Cada solução que encontrei exigia:
- Uma plataforma empresarial cara (Salesforce Agentforce, PagerDuty + complementos de IA)
- Uma configuração complexa de LangChain/CrewAI com sua própria cobrança de chave de API
- Ou era uma demonstração que não sobreviveu ao contato com a produção
Eu já tinha o Claude Code no plano Max ($100/mês). Eu o usava como meu copiloto de codificação diário. Então percebi: claude -p executa o Claude de forma não interativa. Ele aceita um prompt de sistema. Ele se conecta aos servidores MCP. E usa minha sessão existente — sem chave de API, sem custo extra.
Essa foi a percepção que tornou tudo o mais possível.
A Arquitetura
O Agente PMO (Agente de Operações de Gerenciamento de Projetos) é o único componente em meu ecossistema capaz de modificar código em produção. Ele conecta três sistemas:
ADMIN (Telegram)
!pmo tacos-api: consertar a verificação nula em ventas.js
↓
telegram-dispatcher (PM2)
↓
mensajes.db (SQLite WAL — fila compartilhada)
↓
Agente PMO — verifica a cada 10 segundos
↓
claude -p (Plano Max, sem chave de API)
↓
Servidor de Projeto MCP (Python, 24 ferramentas por projeto)
↓
Ler logs → Editar arquivos → Reiniciar PM2 → Verificar → Reportar
↓
Telegram ← "Consertado. Verificação nula adicionada na linha 45. Serviço online, 0 erros nos últimos 15s."
O princípio chave: claude -p invoca o CLI do Claude Code em modo não interativo. Ele usa a assinatura Max autenticada do usuário — a mesma sessão que alimenta seu terminal interativo. Não há segunda chamada de API. Não há cobrança de token. Os mesmos $100/mês que cobrem sua codificação diária cobrem seu agente de produção autônomo.
O Servidor MCP: 24 Ferramentas em 6 Categorias
Cada projeto recebe sua própria instância de um servidor Python MCP. Claude se conecta exatamente às ferramentas do projeto certo — sem contaminação cruzada, sem raio de explosão além do serviço alvo.
1.064 linhas de Python. 38,5 KB. 24 ferramentas.
| Categoria | Contagem | Ferramentas |
|---|---|---|
| Ler | 4 |
read_file, list_files, search_code, get_project_structure
|
| Escrever | 4 |
write_file, edit_file, delete_file, create_directory
|
| Git | 6 |
git_status, git_diff, git_log, git_pull, git_commit, git_add
|
| PM2 | 5 |
get_status, view_logs, restart_process, stop_process, start_process
|
| Teste | 2 |
run_tests, check_health
|
| Contexto | 3 |
read_claude_md, get_dependencies, run_command
|
A ferramenta edit_file é a mais crítica. Ela funciona como uma busca e substituição rigorosa: encontra old_text exatamente no arquivo e o substitui por new_text. Se old_text não for único no arquivo, ela falha e pede mais contexto. Isso previne edições acidentais. Claude não pode sobrescrever arquivos cegamente — ele deve identificar o código exato que deseja mudar.
Cada servidor MCP é invocado com --strict-mcp-config, o que significa que Claude só vê as ferramentas para o projeto alvo. Nada mais.
Dois Modos de Operação
Modo 1: Instrução do Admin via Telegram
Você envia uma mensagem prefixada com !pmo:
!pmo tacos-api: adicione um endpoint GET /health que retorna { status: "ok" }
!pmo bot: mude a mensagem de boas-vindas para "Hola, qué vas a ordenar?"
!pmo cfo-agent: conserte o bug onde não analisa datas DD/MM/YYYY
Atalhos do Telegram com autocompletar (15 comandos) fazem isso parecer uma interface nativa:
/pmo_api → direciona tacos-api
/pmo_bot → direciona o bot do WhatsApp TacosAragon
/pmo_cfo → direciona o agente cfo
/pmo_telegram → direciona o despachante do telegram
Modo 2: Autocorreção Autônoma
Quando o monitor detecta um erro repetido, ele coloca uma mensagem de autocorreção na fila:
AUTOCORRECT|tacos-api|TypeError: Não é possível ler a propriedade "precio" de indefinido em src/routes/ventas.js:45
O Agente PMO pega isso e executa um ciclo de reparo completo sem qualquer input humano:
- Diagnosticar — lê logs, lê o arquivo com o erro, busca o padrão no código
- Analisar — identifica a linha exata, classifica a severidade (CRÍTICO/ALTO/MÉDIO/BAIXO)
-
Consertar — aplica a mudança mínima usando
edit_file, nunca refatora, preserva o estilo - Verificar — reinicia o processo, espera 10 segundos, verifica logs e endpoint de saúde HTTP
- Reportar — envia uma mensagem estruturada no Telegram (máx 4.000 caracteres)
Exemplo de relatório de autocorreção:
AUTOCORRECT [tacos-api] — SUCESSO
Erro: TypeError em src/routes/ventas.js:45
Causa: variável "producto" pode ser nula quando o item está fora de estoque
Correção: verificação nula adicionada antes de acessar .precio
Verificação: serviço online, 0 erros nos últimos 15s
Contexto da Sessão: O Recurso que a Maioria dos Construtores Perde
Cada sessão de admin compartilha contexto por 1 hora. Claude lembra tudo o que leu, cada mudança que fez, cada projeto que tocou — através de várias mensagens.
10:00 !pmo tacos-api: explique a arquitetura
→ NOVA SESSÃO (expira 11:00). Claude lê arquivos, responde.
10:05 !pmo tacos-api: adicione um endpoint /health
→ CONTINUA sessão (msg #2). Claude já conhece a arquitetura.
→ Edita código, reinicia, verifica.
10:12 !pmo cfo-agent: quais endpoints ele tem?
→ MESMA sessão (msg #3). Claude lembra tacos-api E lê cfo.
10:20 !pmo tacos-api: escreva o teste para /health
→ MESMA sessão (msg #4). Sabe exatamente o que construiu.
11:01 !pmo bot: adicione validação RFC
→ Sessão expirada. NOVA SESSÃO começa.
Implementação: a primeira chamada usa --session-id UUID (cria uma sessão no disco). Chamadas subsequentes usam --resume UUID (retoma com contexto completo). Após 1 hora, o UUID expira e um novo é gerado.
Isso não está disponível em nenhum tutorial de LangChain. É um recurso do CLI do Claude Code que a maioria das pessoas que o usam interativamente não sabe que existe.
O Modelo de Segurança: 4 Camadas Concêntricas
Execução de código autônoma
O uso de agentes autônomos para manutenção de sistemas pode reduzir custos operacionais e aumentar a eficiência. Empresas brasileiras podem se beneficiar de soluções semelhantes para garantir a continuidade dos serviços sem intervenção humana constante.


