MÓDULO 2.3

🤖 Criando o Agente de Atualização

Construa um agente que monitora raw/, ingere automaticamente novos arquivos, realiza auditorias periódicas e mantém o wiki sempre saudável — sem intervenção manual.

6
Tópicos
45
Minutos
Prático
Nível
Código
Tipo
1

🤖 O que é um Agente de Atualização?

Um agente de atualização é um processo autônomo que age no seu vault sem intervenção humana. Ele monitora, processa e mantém — transformando o wiki de uma ferramenta manual em um sistema verdadeiramente automático.

🔄 O Loop do Agente

👁️ MONITORAR raw/ cada 30min 🔍 DETECTAR novos arquivos 📥 INGERIR + atualizar wiki 🔎 AUDITAR lint semanal 🤖 AGENTE

✓ O que o Agente Faz

  • Detecta novos arquivos em raw/ automaticamente
  • Dispara ingestão via Claude Code CLI
  • Executa lint semanal do wiki
  • Registra tudo no log.md

✗ O que ele NÃO faz

  • Decidir quais fontes são relevantes para você
  • Substituir revisão humana do conteúdo
  • Corrigir erros nas fontes originais
  • Garantir precisão factual das ingestões
2

🔄 Loop de Monitoramento

O coração do agente é o loop de monitoramento: verificar periodicamente se há novos arquivos em raw/ que ainda não foram processados. Simples, mas poderoso.

⏱️ Estratégias de Polling

00:00 00:30 01:00 01:30 02:00 poll poll poll poll poll 📄 novo arquivo! detectado na próxima poll Máximo 30min de delay — aceitável para PKM

💻 Loop de Monitoramento em Python

# agent.py — loop principal
import os, time, subprocess
from pathlib import Path
def get_processed_files():
# Lê log.md para saber o que já foi ingerido
log = Path("log.md").read_text()
return set(line.split()[1] for line in log.splitlines() if line.startswith("- raw/"))
def monitor_loop(interval=1800): # 30 min
while True:
raw_files = set(Path("raw").glob("*.md"))
processed = get_processed_files()
new_files = raw_files - processed
for f in new_files:
ingest(f) # chama Claude Code
time.sleep(interval)
3

⚡ Trigger de Ingestão Automática

Quando o agente detecta um novo arquivo, ele chama o Claude Code CLI com o prompt de ingestão. A mágica é a sequência exata do prompt — ela determina a qualidade do resultado.

📋 O Prompt de Ingestão

# Prompt completo de ingestão
INGEST_PROMPT = """
1. Leia CLAUDE.md para entender as regras do sistema
2. Leia index.md para ver o estado atual do wiki
3. Leia {arquivo} em raw/
4. Para cada conceito/entidade principal:
- Crie/atualize wiki/{nome}.md
- Adicione [[links]] para páginas relacionadas
5. Atualize index.md com as novas páginas
6. Registre em log.md: data, arquivo, páginas criadas/atualizadas
"""

🚀 Chamando o Claude Code via Subprocess

def ingest(arquivo):
prompt = INGEST_PROMPT.format(arquivo=arquivo)
result = subprocess.run(
["claude", "-p", prompt],
cwd=VAULT_PATH,
capture_output=True,
timeout=300 # 5min max
)
if result.returncode != 0:
log_error(arquivo, result.stderr)
else
:
log_success(arquivo)
4

🔍 Lint Automático do Wiki

Além da ingestão, o agente executa auditorias periódicas para manter a saúde do wiki. O lint identifica problemas antes que eles degradem o sistema.

🔍 O que o Lint Verifica

📖 wiki/ ml.md rag.md llm.md orphan.md analisa 🔍 Lint Agent semanal automático Relatório 1 órfã: orphan.md 2 links quebrados 48 páginas OK Score: 87/100 Ações sugeridas

💡 Prompt de Lint

"Leia index.md e todas as páginas em wiki/.
Identifique e reporte:
1. Páginas sem links para outras páginas (órfãs)
2. Links [[quebrados]] que apontam para páginas inexistentes
3. Páginas com informação possivelmente desatualizada
4. Contradições entre páginas
5. Lacunas de conhecimento (tópicos mencionados sem página)
Gere um relatório estruturado com score de saúde 0-100."
5

📊 Relatórios de Saúde

Os relatórios de saúde transformam o wiki de um sistema subjetivo em algo mensurável e gerenciável. Você sabe exatamente o estado do sistema a qualquer momento.

📊 Dashboard de Saúde do Wiki

127 páginas wiki/ ▲ +12 este mês 4.2 links médios/pág ▲ +0.3 este mês 3 páginas órfãs ▼ -2 vs semana 87 health score /100 ✓ Saudável CRESCIMENTO (páginas/mês): Jan Fev Mar Abr Mai Jun Jul
6

🛠️ Implementação Completa com Claude Code

O agente completo roda em menos de 100 linhas de Python. Simples de implementar, poderoso em prática. Aqui está a estrutura completa.

1

Setup: cron job diário

# crontab -e
0 8 * * * cd /meu-vault && python3 agent.py
2

Ingestão: Claude Code com allowedTools

claude --allowedTools "Read,Write,Edit" -p "$PROMPT"
3

Lint semanal: todo domingo

# crontab -e
0 9 * * 0 cd /meu-vault && python3 agent.py --lint
4

Git auto-commit após cada ingestão

git add . && git commit -m "auto: ingest $(date)"

⚠️ Cuidados Importantes

  • Sempre defina um timeout para as chamadas ao Claude Code (300s é seguro)
  • Use --allowedTools para limitar o que o agente pode fazer
  • Faça backup (Git) antes de ingestões grandes em lote
  • Monitore os custos de API — ingestões automáticas escalam o gasto

O que Aprendemos

Loop de monitoramento — verifica raw/ a cada 30min e detecta arquivos não processados automaticamente.
Trigger via Claude Code CLI — subprocess.run com prompt estruturado e timeout seguro.
Lint automático semanal — detecta órfãs, links quebrados, contradições e gaps de conhecimento.
Health score mensurável — transforma a qualidade do wiki em uma métrica 0-100 gerenciável.

Próximo Módulo:

2.4 — Consultando e Auditando: como fazer perguntas eficientes e manter o wiki saudável no longo prazo.