Skip to content

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