AUTORESEARCH
Karpathy Loop --- Implementação no JB Stack
Confidencial · Eureekka SA · Junho 2026
Este documento cobre cinco eixos:
1. Introdução ao conceito AutoResearch / Karpathy Loop
2. Avaliação crítica --- o bom, o mau e o feio --- para o contexto JB
3. Como implementar no Paperclip, JBSB e componentes adjacentes
4. Ontologia do Second Brain e o que esperar
5. Custo em Tokens --- Agora vs. Mac M4 Pro Local¶
Nesta secção actualizamos a análise de custos de execução do AutoResearch em APIs de LLM na nuvem versus inferência local no Mac M4 Pro. O mercado mudou rapidamente entre 2025 e 2026: novos modelos, descontos agressivos e melhorias na Apple Silicon alteraram o equilíbrio entre cloud e hardware próprio.
5.1 Modelo de custo por abordagem¶
O custo total de um ciclo AutoResearch depende do número de tokens processados (prompt e geração). Os provedores de APIs cobram por tokens de entrada e de saída, com preços diferenciados conforme a qualidade e capacidade do modelo. Em 2026, os preços variam de US\$0,10 por milhão de tokens de entrada para modelos económicos, como o GPT‑4.1 Nano ou Mistral Small 3.2, até US\$30 por milhão de tokens de entrada para modelos de fronteira como o GPT‑5.4 Pro【226608531870200†L121-L128】. Os tokens de saída custam 2--6 vezes mais que os de entrada【226608531870200†L151-L155】.
Modelo / Custo Input Custo Output Notas
Abordagem (US\$ / 1M (US\$ / 1M
tokens) tokens)
GPT‑5.4 Pro \$30,00 \$180,00 Fronteira --- 200K (cloud) contexto【226608531870200†L246-L250】
GPT‑5.4 (cloud) \$2,50 \$15,00 Uso geral【226608531870200†L244-L250】
GPT‑4.1 Nano \$0,10 \$0,40 Modelo proprietário mais (cloud) barato【226608531870200†L605-L624】
Mistral Small 3.2 \$0,10 \$0,30 Conformidade (cloud) GDPR【226608531870200†L483-L546】
Qwen 3.5 32B \~\$0,02 \~\$0,02 Custo eléctrico; cerca de (local M4 Pro) 20--25 tok/s【117700242823692†L182-L187】
Qwen 3.5 235B \~\$0,02 \~\$0,02 Exige 128 GB; (local M4 Max) \~5,5 tok/s【117700242823692†L164-L171】
5.2 Estimativa de tokens por ciclo¶
Para estimar o custo de um ciclo AutoResearch, multiplicamos o número de tokens gerados (entrada + saída) pelos preços da tabela. Em cenários de 100 experimentos sobre uma skill Paperclip com 50 testes de validação, podem ser processados \~5 milhões de tokens. No GPT‑5.4, isso custaria cerca de US\$12 (entrada) + US\$75 (saída). Em Mistral Small 3.2, o custo cai para \~US\$0,5 total. Em execução local com Qwen 3.5 32B, o custo marginal é a electricidade (\~\$0,1), portanto desprezável.
5.3 Desempenho no Mac M4 Pro (tokens/segundo)¶
A velocidade de geração de tokens determina a produtividade. A Apple Silicon M4 Pro oferece 273 GB/s de largura de banda unificada, o dobro da M3 Pro【446937368617276†L34-L42】. Isso traduz‑se em throughput elevado com modelos quantizados de 14 B a 32 B. A tabela abaixo resume benchmarks realistas usando MLX e Ollama.
Modelo Configuração / Contexto Tokens/s Quantização
Qwen 2.5 14B M4 Pro 24GB -- 8K 52--58【446937368617276†L92-L99】 4 bit
Qwen 2.5 14B M4 Pro 48GB -- 32K 42--48【446937368617276†L100-L105】 4 bit
Qwen 2.5 32B M4 Pro 48GB -- 8K 32--38【446937368617276†L100-L105】 4 bit
Mistral Small 3.1 M4 Pro 24GB -- 8K 28--34【446937368617276†L92-L99】 4 bit
Mistral Small 3.1 M4 Pro 48GB -- 8K 22--28【446937368617276†L100-L107】 8 bit
Llama 3.1 8B M4 Pro 24GB -- - \~30【303491791871316†L119-L123】 Q4_K_M
Qwen 3.5 32B M4 Pro 48GB -- - 20--25【117700242823692†L182-L187】 Q4
Note que o throughput varia com a quantização e o comprimento do contexto. MLX é 30--50% mais rápido que llama.cpp na Apple Silicon【303491791871316†L137-L143】. A combinação M4 Pro 48GB + Qwen 2.5 32B a 4 bits gera 42--48 tokens/s --- mais rápida que muitas chamadas de API sob carga, com zero custo por token【446937368617276†L124-L127】.
5.4 Quando o Mac Studio ou M5 faz sentido¶
O Mac Studio M4 Ultra com 192 GB unificados corre modelos de 70 B em 4--12 tokens/s【117700242823692†L182-L187】. Para equipas que necessitam de vários agentes em paralelo ou de contextos superiores a 64K, as versões M5 Pro/Ultra, com largura de banda de 330 GB/s e opções até 64 GB, oferecem melhorias de 20--30% no throughput e permitem carregar modelos 32B com contextos longos sem pressão de memória【446937368617276†L59-L70】. Se o volume mensal de tokens exceder 100 M, a amortização do hardware e a poupança na electricidade tornam o Mac Studio ou um cluster de Mac Minis mais vantajoso que qualquer API【117700242823692†L74-L83】.
Conclusão: os custos de tokens na nuvem continuam a cair, mas a diferença entre modelos premium e económicos é enorme. A Mistral Small 3.2 e a GPT‑4.1 Nano custam apenas \$0,10 por milhão de tokens de entrada, enquanto modelos de fronteira como GPT‑5.4 Pro custam trinta vezes mais【226608531870200†L121-L128】. A inferência local no Mac M4 Pro elimina custos variáveis e oferece desempenho suficiente para fluxos de trabalho interactivos. Para workloads acima de 100M tokens/mês, a opção local é quase sempre mais barata; para volumes pequenos ou necessidades multimodais, as APIs continuam convenientes.
6. Plano de Implementação --- Step by Step¶
Este plano está estruturado para execução autónoma por Claude Code sem intervenção humana, uma vez aprovado. Cada fase tem inputs, outputs, critérios de sucesso, e rollback explícito.
7. Manual de Instalação Autónoma --- Para Claude Code¶
Este manual é suficiente para Claude Code executar a instalação completa sem intervenção humana. Contém o contexto, a sequência exacta, e os critérios de validação para cada passo.
7.1 Contexto de sistema (fornecer ao Claude Code no início da sessão)¶
7.2 Sequência de comandos de instalação¶
Passo 1 --- Criar estrutura de directórios¶
mkdir -p /home/jb/projects/autoresearch/{paperclip,jbsb,shared}
mkdir -p /home/jb/projects/autoresearch/paperclip/{artifact,eval,results}
mkdir -p /home/jb/projects/autoresearch/jbsb/{artifact,eval,results}
cd /home/jb/projects/autoresearch && git init
Passo 2 --- Instalar dependências Python¶
pip install gitpython ollama pydantic typer rich statistics --break-system-packages
python -c \"import ollama; print(ollama.list())\" # verificar modelos disponíveis
Passo 3 --- Criar autoresearch_runner.py¶
Claude Code deve criar o ficheiro completo em /home/jb/projects/autoresearch/shared/runner.py com:
Classe AutoResearchLoop com método run(max_experiments)
Função git_commit(message) usando gitpython
Função git_revert() que reverte o último commit
Função log_run() que escreve em results/runs.tsv
Função should_stop() baseada em no_improve_streak e stop_threshold
Função alert_cost(tokens_used) que avisa quando > 80% do budget
Passo 4 --- Criar score.py para Paperclip¶
Ficheiro: /home/jb/projects/autoresearch/paperclip/eval/score.py
Importar ollama, json, statistics
Carregar holdout.json (50 test cases Six Eyes)
Função score_six_eyes(output, expected) → float 0.0-1.0
Rubrica Six Eyes: Atenção, Emoção, Framing, Estrutura, Contraste, Integridade
Função evaluate_skill(skill_path) → dict com six_eyes_mean e guardrails
APÓS CRIAÇÃO: chmod 444 score.py holdout.json
Passo 5 --- Criar eval_holdout.py para JBSB¶
Ficheiro: /home/jb/projects/autoresearch/jbsb/eval/eval_holdout.py
Conectar a PostgreSQL na porta 5436
Carregar holdout_qa.json (80 Q&A automotive)
Função evaluate_retrieval(config_path) → dict com recall@10, MRR, latency_p95
APÓS CRIAÇÃO: chmod 444 eval_holdout.py holdout_qa.json
Passo 6 --- Medir baseline¶
cd /home/jb/projects/autoresearch
python shared/runner.py baseline --target paperclip
python shared/runner.py baseline --target jbsb
# Guardar output em results/baseline.json
Passo 7 --- Validação final¶
python shared/runner.py validate-setup
# Deve confirmar:
# ✓ Ollama acessível em localhost:11434
# ✓ PostgreSQL acessível em localhost:5436
# ✓ eval/score.py é read-only (chmod 444)
# ✓ eval/holdout.json é read-only
# ✓ Git repo inicializado
# ✓ Baseline medido e guardado
# ✓ Nenhum ficheiro de eval é editável pelo agente
8. Governança, Controlo e Regras de Ouro¶
8.1 Hierarquia de permissões¶
8.2 As cinco regras de ouro¶
1. O avaliador é sagrado. Nunca editável. Nunca. chmod 444 no dia da criação.
2. Sem baseline, sem loop. Medir sempre antes de começar.
3. Métricas compostas obrigatórias. Nunca optimizar uma só métrica sem guardrails.
4. Hipótese antes de mudança. O agente declara o que vai mudar e porquê antes de editar.
5. Humano aprova produção. O loop melhora artefactos em staging. Só o humano promove.
8.3 Modelo de routing de sensibilidade¶
Apêndice --- Quick Reference Card¶
Checklist antes de lançar qualquer loop¶
□ Objectivo está escrito em program.md?
□ Artefacto editável está identificado e isolado?
□ Avaliador está protegido com chmod 444?
□ Holdout está preparado com ground truth?
□ Baseline foi medido e guardado?
□ Stop condition está definida?
□ Guardrails estão definidos (o que não pode piorar)?
□ Rollback está testado (git revert funciona)?
□ Sensibilidade dos dados foi classificada?
□ Approval gate para produção está configurado?
Mapa de modelos Ollama disponíveis no M4 Pro 48GB¶
Documento gerado automaticamente · AutoResearch JB Stack · Junho 2026