Spark Creative Solutions · Módulo 1
Módulo 1 · 7 de novembro de 2026
Autoaperfeiçoamento recursivo para o seu assistente de IA: a configuração de crédito mínimo
Para a minha turma e meus amigos. Escrito a partir de um dia de trabalho na minha própria configuração, 7 de novembro de 2026. Funciona com Claude, ChatGPT ou Gemini, no Windows ou no Mac; nada aqui exige que você seja programador. Cada passo diz onde a coisa fica em cada app.
Por que isso funciona
A maior parte dos seus créditos não é gasta em pensar. Eles vão embora por quatro vazamentos, e todos podem ser fechados em uma tarde.
- Cada plugin, conector e ferramenta que você deixou ligado é carregado em cada mensagem, use você ou não. Vinte ferramentas paradas custam a cada turno de cada chat.
- Capturas de tela. Toda vez que o seu assistente olha a sua tela ou controla um navegador por imagens, ele paga centenas de vezes mais do que para ler texto.
- Reexplicar. Cada chat novo que começa às cegas faz você digitar a sua situação de novo, e faz o assistente vasculhar a memória e os chats antigos para se atualizar. Essa busca custa mais do que a sua mensagem.
- Tarefas agendadas que leem tudo toda manhã no modelo mais caro, para produzir uma página que você nunca abre.
A única ideia por trás de toda a configuração: seu assistente lê um arquivo minúsculo primeiro e escreve um arquivo minúsculo por último. O resto é poda. A minha própria conta foi de quatro execuções matinais pesadas para uma, e de "me diz de novo onde a gente estava" para um arquivo de 300 tokens que o assistente lê antes de falar. Os mesmos movimentos funcionam no Claude, no ChatGPT e no Gemini, porque são hábitos e arquivos, não recursos.
O que você precisa e quanto custa
Um plano pago de assistente, o app de desktop gratuito dele, uma pasta no seu computador, e uns 40 minutos. Todo o resto deste guia é grátis.
| Item | Custo | Observações |
|---|---|---|
| Plano do assistente | o nível pago padrão de um app só (Claude Pro, ChatGPT Plus ou Google AI Pro) | Os níveis gratuitos funcionam para os hábitos de arquivo, mas limitam o uso pesado. Só suba para um nível superior se você bater no limite quase todo dia. Nunca dois planos pagos ao mesmo tempo. |
| App de desktop desse assistente | grátis | Necessário para ler uma pasta no seu computador. Windows e Mac. |
| Um editor de texto | grátis | Notepad no Windows, TextEdit no Mac, ou Obsidian (grátis, melhor, opcional). |
| Conta Google | grátis | Para a automação gratuita (Apps Script) do passo 6 e o ajudante barato do passo 5. |
| Python | grátis | Só para o script opcional do pulso (pulse) no passo 4. O Mac já tem; no Windows você instala pelo python.org em dois cliques. |
| Limite de gastos | 0 | Defina no primeiro dia: um teto mensal, recarga automática desligada. O teto é o que torna seguro experimentar. |
Assuma Windows, a menos que você tenha um Mac; cada passo abaixo tem os dois. Celular é para ler, não para esta configuração.
Passo 1, podar
Dez minutos, e a maior economia isolada da lista. Tudo o que está ligado é carregado em cada mensagem.
- Abra os ajustes do app e olhe os plugins, conectores, integrações, GPTs ou extensões que você ativou. Desligue tudo o que você não usou nas últimas duas semanas. Dá para religar com um clique quando precisar.
- Mantenha um conector de automação, não dois. Se você tem IFTTT e Zapier, fique com o que tem algo real dentro.
- Memória: peça ao seu assistente para mostrar o que ele lembra ("exporte tudo o que você lembra sobre mim, por categoria"). Apague o que estiver errado ou velho. Diga com palavras simples o que manter: seu nome, seu trabalho, as regras que você quer que ele siga. Memória boa significa reexplicar menos; memória velha significa respostas erradas ditas com confiança.
- Gastos: ache a página de cobrança, defina um limite mensal, desligue a recarga automática. Se as suas recargas do mês passado ficaram bem acima do preço fixo do plano, o nível seguinte sai mais barato do que créditos.
Onde fica. Claude: Settings, depois Connectors and Plugins; a memória em Settings, Memory. ChatGPT: Settings, depois Apps and connectors; a memória em Personalization, Manage memories. Gemini: Settings, depois Apps; a memória em Saved info. Os limites de gastos ficam na página de cobrança de cada app, ou no console da API se você usa um.
Passo 2, a pasta base e os três arquivos
Crie uma pasta que o seu assistente sempre consiga ver, e guarde nela três arquivos de texto pequenos. Esse é todo o sistema de continuidade; cabe em 40 linhas.
Crie uma pasta na sua pasta de usuário chamada ops. No app de desktop do assistente, conecte a pasta (Claude: o botão +, Add folder; ChatGPT: Settings, Work with apps ou o seletor de pastas do app de desktop; Gemini: uma pasta do Google Drive faz o mesmo trabalho, já que o Gemini lê o Drive). Depois crie esses três arquivos dentro dela com qualquer editor de texto.
| Arquivo | O que contém | Quem escreve |
|---|---|---|
NOW.md | Onde você está agora: no que está trabalhando, a última coisa terminada, o próximo passo, a única coisa esperando por você. 20 linhas no máximo. | Você, em um minuto, no começo e no fim de um bloco de trabalho. Ou o script do pulso do passo 4, automaticamente. |
handoff.md | Duas linhas por sessão: data, o que foi feito, o que vem a seguir. A entrada mais nova no topo. | O assistente, no fim de cada chat de trabalho, quando você diz "escreva o handoff". |
hands.md | Uma lista para marcar com as coisas que só você pode fazer: uma senha para digitar, um arquivo para compartilhar, um botão para clicar. | O assistente acrescenta; você marca. |
Os exemplos dos três estão no apêndice. A regra que faz eles funcionarem: nada nesses arquivos é secreto, nada é longo, e o assistente lê os três antes de fazer qualquer outra coisa.
Se você usa Obsidian, coloque a pasta dentro do seu vault. O plugin Local REST API do Obsidian, mais uma linha na configuração do Claude para desktop, deixa o assistente ler e escrever no vault sem anexar uma pasta toda vez; isso é projeto para uma noite mais adiante, não para o primeiro dia.
Passo 3, o Projeto Ops e a instrução de abertura
Crie um Projeto (Claude: Project; ChatGPT: Project ou um GPT personalizado; Gemini: um Gem, ou em contas pessoais depois de 17 de novembro de 2026, uma entrada em Saved info mais uma pasta do Drive fixada) e cole isto como instruções dele:
On the first turn of every chat, before anything else, read ops/NOW.md, ops/handoff.md and ops/hands.md. Open by saying in one line where I am and what I was doing, then take my message. No screenshots and no searching old chats until those three files are read.
At the end of a working session, when I say "write the handoff", add two lines to the top of ops/handoff.md: the date, what was done, what is next. Anything that needs my own hands goes as a tick-box line into ops/hands.md.
Style: concise, no moralising, no numbered lists, no em dashes. Ask before anything that cannot be undone: sending, deleting, sharing, publishing, paying. Never type a password; I type those.
Copiar: ops-project-instructions.txt
Anexe a pasta ops ao Projeto em si, não a um chat só, para que cada chat novo consiga ver a pasta. Faça quase todo o seu trabalho dentro desse único Projeto. A cegueira entre Projetos que a maioria dos apps tem deixa de importar quando o seu trabalho mora em um lugar só.
O efeito: um chat novo não custa nada para começar. O assistente abre com "Você estava na metade do rascunho da newsletter, o Takeout ainda está rodando, e a impressora precisa de papel", e você segue em frente.
Passo 4, o pulso (opcional, a parte que parece mágica)
Um script minúsculo reescreve o NOW.md a cada cinco minutos com o que você está fazendo de verdade, para você nunca precisar atualizar na mão. Ele registra três coisas: o app na frente e o título da janela, os arquivos que você tocou nos últimos 15 minutos, e o topo do hands.md e do handoff.md. Nada sai do seu computador e ele nunca tira captura de tela.
A privacidade vem de fábrica, não é remendo. O script carrega uma lista curta de apps cujos títulos de janela nunca são registrados (gerenciadores de senha, Signal, banco) e pula qualquer janela de navegação privada. Se um app não está na lista permitida, só o nome dele é registrado. Edite essas listas antes de instalar.
- Windows: salve o
pulse.ps1do apêndice emops, depois abra o Agendador de Tarefas, Criar Tarefa Básica, disparador "Ao fazer logon", ação "Iniciar um programa":powershell.exe -ExecutionPolicy Bypass -File "C:\Users\you\ops\pulse.ps1", e nas propriedades da tarefa configure para repetir a cada 5 minutos. Uma caixa de diálogo, pronto. - Mac: salve o
pulse.pye oinstall-pulse.commanddo apêndice emops, dê dois cliques no arquivo.commanduma vez, clique em OK nos dois avisos de permissão.
Confira se funciona: abra o NOW.md depois de cinco minutos. Se a primeira linha traz a hora, o loop está fechado, e daqui em diante cada chat abre sabendo onde você está.
Quem usa Gemini: aponte a saída do script para uma pasta do Drive em vez de uma local, e o Gemini lê de lá.
Passo 5, ajudantes baratos
Seu assistente principal é o caro. Dê a leitura pesada para um mais barato e devolva só o resultado.
- Arquivos longos. Nunca cole um PDF de 200 páginas no seu chat principal. Peça a um modelo barato para resumir primeiro (o nível gratuito do Gemini no AI Studio, ou o nível gratuito de qualquer um dos três apps), depois dê ao seu assistente principal o resumo de duas páginas. Dez vezes mais barato, muitas vezes melhor, porque o assistente principal agora raciocina sobre um resumo limpo.
- Segundas opiniões. Para uma decisão, uma resposta forte vale mais do que quatro. Use vários modelos só quando quiser que eles discordem, e aí peça uma síntese.
- Cole texto, nunca faça upload. Um arquivo enviado a um serviço multimodelo pode ficar no armazenamento deles sem botão de apagar; eu aprendi isso do jeito caro. Cole o texto que você quer que seja lido, limpo de nomes, endereços, saúde e dados de clientes, e nada mais. Níveis gratuitos podem usar o que você cola para treinar, então a limpeza não é opcional.
- O único script que vale a pena ter, para os curiosos de tecnologia: um arquivo Python de 40 linhas com a sua chave do Gemini em um arquivo ao lado, que resume qualquer documento pela linha de comando para o seu assistente principal nunca precisar carregar o documento. A minha é o
council.py; peça para mim. Um limite de gastos na chave, uns poucos euros por mês, torna seguro esquecer dela.
Onde fica. Chaves do Gemini: AI Studio, API keys; o nível pago custa centavos e o Google declara que os dados do nível pago não são usados para treinar. Chaves do Claude e do ChatGPT: os consoles de desenvolvedor deles, mesma ideia, mesmos limites. Não precisa no primeiro dia.
Passo 6, tarefas agendadas que se pagam
Uma tarefa agendada é um chat que roda sem você. Custa o mesmo que um chat, todo dia, para sempre, então cada uma tem que se pagar.
- Mantenha as que chegam até você como uma notificação push que você lê de verdade. Uma linha de manhã com a agenda de hoje e os dois e-mails que importam vale a pena. Uma página linda que você nunca abre, não.
- Coloque cada tarefa no modelo mais barato que dê conta. Ler uma lista e filtrar é trabalho para modelo pequeno. Ler recibos e acertar os valores precisa de um modelo médio. Quase nada precisa do modelo topo de linha em um timer.
- Trabalhos baseados em regras não precisam de modelo nenhum. Rotular e arquivar e-mails de remetentes conhecidos é um filtro do Gmail. Vigiar uma pasta compartilhada por edições de outra pessoa é um Google Apps Script de seis linhas em um timer, grátis, e ele vê quem editou, coisa que o assistente não consegue. Checagens básicas de agenda são uma regex. Peça ao seu assistente para escrever o script; você cola no script.google.com e clica em Permitir uma vez.
- Uma vez por mês, liste as tarefas e pergunte de cada uma: eu li isso na semana passada? Se não, corte ou reduza pela metade.
Onde fica. Claude: tarefas agendadas, visíveis na barra lateral, cada uma com o próprio ajuste de modelo. ChatGPT: Tasks. Gemini: Scheduled actions. O Google Apps Script funciona para os três, já que mora na sua conta Google, não no assistente.
A minha conta antes e depois de uma auditoria: quatro execuções pesadas por dia útil no modelo topo de linha viraram uma; duas rodadas por dia vigiando pastas viraram um script grátis; o resto passou para modelos pequenos. A mesma informação chegando até mim, uma fração dos créditos.
As regras de segurança que viajam com tudo isso
Isso não é cautela por cautela. Cada regra existe porque pular uma vez custou a alguém tempo ou privacidade de verdade.
- Senhas e chaves de API são digitadas por você, em um arquivo no seu próprio computador, nunca em um chat. Uma chave colada em um chat mora naquela transcrição. Se acontecer, crie uma chave nova e apague a antiga no mesmo dia.
- Nada irreversível sem o seu sim: nada de enviar, apagar, compartilhar, publicar ou pagar. Coloque essa linha nas instruções do seu Projeto e o assistente vai perguntar toda vez.
- Para modelos externos, cole texto, nunca arquivos. Limpe antes nomes, endereços, saúde, dinheiro e dados de clientes. Tenha uma lista de palavras que nunca podem sair da sua máquina e confira o texto contra ela antes de colar.
- Pastas chamadas Private continuam privadas. Diga ao assistente quais pastas ele nunca pode ler, e mantenha essa lista também nas instruções do Projeto.
- Títulos de janela e arquivos recentes são um registro da sua vida. Mantenha honesta a lista de bloqueio do pulso, e deixe o
NOW.mdfora de qualquer coisa que você compartilhe. - Uma recusa do sistema de permissões do assistente não é um obstáculo para contornar. É o sistema fazendo o trabalho dele; o passo vai para a sua lista
hands.mdem vez disso. - Mantenha as suas palavras suas. Quando encaminhar algo que o assistente escreveu, diga isso. Quando ele redigir por você, mantenha a sua pontuação e a sua voz; o polimento é o que entrega.
Os quinze minutos semanais
Isso é o que torna tudo recursivo: o assistente melhora a própria configuração, com você como a mão que clica.
Uma vez por semana, abra o Projeto Ops e diga: "Leia o hands.md e o handoff.md. Me diga o que estou pagando e não usei esta semana, o que você teve que me perguntar duas vezes, e qual única mudança economizaria mais créditos. Depois atualize as instruções do Projeto com o que a gente combinar." Marque o que puder no hands.md enquanto ele pensa.
Três perguntas mantêm o loop honesto:
- O que eu reexpliquei esta semana? Isso é uma linha que falta nas instruções do Projeto ou na memória.
- O que o assistente capturou ou buscou que um arquivo poderia ter dito a ele? Isso é uma linha que falta no
NOW.md. - O que rodou agendado que eu nunca li? Isso é uma tarefa para cortar.
Escreva as respostas nas instruções, não na sua cabeça. Em um mês a configuração cai como uma luva e a conta de créditos é uma fração do que era. Depois ensine para um amigo; explicar é como você descobre quais partes ainda faz por hábito.
Nada de travessões em lugar nenhum, nada de listas numeradas, a sua própria pontuação em tudo o que você enviar como você mesmo. Câmbio e desligo, com amor.
Apêndice: arquivos de exemplo e scripts para copiar
Os três arquivos, como devem ficar no primeiro dia. Cada um também pode ser baixado; clique com o botão direito, salve em ops.
NOW.md
# NOW.md
Working on: the newsletter draft, section 3
Last finished: sent the invoice to the printer
Next: proofread section 3, then export the PDF
Waiting on me: reply to the landlord about Thursday
Baixar: NOW.md
handoff.md
# handoff.md (newest on top)
2026-11-07 Set up the ops folder, Project and pulse. Next: prune the plugins, set the spend cap.
Baixar: handoff.md
hands.md
# hands.md: things only I can do
- [ ] set the monthly spend limit and turn auto-reload off
- [ ] connect the ops folder to the Project
Baixar: hands.md
Pulso para Windows: pulse.ps1
Salve em ops, agende no Agendador de Tarefas a cada 5 minutos. Edite primeiro as duas listas do topo.
# pulse.ps1: rewrites ops\NOW.md with what you are doing. Nothing leaves this computer.
$ops = "$HOME\ops"
$deny = @("1Password","Bitwarden","KeePass","Signal","Passwords") # never logged at all
$titleOk = @("Claude","ChatGPT","Code","Obsidian","chrome","msedge","firefox","WINWORD","EXCEL","notepad","explorer","WhatsApp","OUTLOOK","Zoom") # window title logged only for these
Add-Type @"
using System; using System.Runtime.InteropServices;
public class W { [DllImport("user32.dll")] public static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")] public static extern uint GetWindowThreadProcessId(IntPtr h, out uint pid); }
"@
$h = [W]::GetForegroundWindow(); $procId = 0; [W]::GetWindowThreadProcessId($h, [ref]$procId) | Out-Null
$p = Get-Process -Id $procId -ErrorAction SilentlyContinue
$app = if ($p) { $p.ProcessName } else { "unknown" }; $title = ""
if ($deny -contains $app) { $app = "[private app]" }
elseif ($titleOk -contains $app -and $p.MainWindowTitle -and $p.MainWindowTitle -notmatch "InPrivate|Incognito|Private") { $title = $p.MainWindowTitle.Substring(0, [Math]::Min(90, $p.MainWindowTitle.Length)) }
$since = (Get-Date).AddMinutes(-15)
$files = Get-ChildItem "$HOME\Documents","$HOME\Desktop","$HOME\Downloads",$ops -Recurse -File -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -gt $since -and $_.FullName -notmatch "\\Private\\|Signal|\\\.git\\|node_modules|NOW\.md" } |
Sort-Object LastWriteTime -Descending | Select-Object -First 8
$lines = @("# NOW (auto, $(Get-Date -Format 'ddd dd MMM HH:mm'), pulse.ps1, read this first)", "Active: $app" + $(if ($title) { " `"$title`"" } else { "" }))
$lines += "Files touched (last 15 min):"
if ($files) { $files | ForEach-Object { $lines += " " + $_.FullName.Replace($HOME, "~") } } else { $lines += " none" }
foreach ($f in @("hands.md","handoff.md")) { if (Test-Path "$ops\$f") { $lines += "From ${f}:"; Get-Content "$ops\$f" | Where-Object { $_.Trim() -and -not $_.StartsWith("#") } | Select-Object -First 5 | ForEach-Object { $lines += " $_" } } }
$lines | Select-Object -First 22 | Set-Content "$ops\NOW.md" -Encoding UTF8
Baixar: pulse.ps1SHA-256 851136a23d920e67798fb8d0ae6627fc1b6b13e3b8e482db9f13303c4b1a28ad
Pulso para Mac: pulse.py mais install-pulse.command
Salve os dois em ops, dê dois cliques no .command uma vez.
#!/usr/bin/env python3
# pulse.py: rewrites ops/NOW.md with what you are doing. Nothing leaves this computer.
import os, subprocess, datetime, re
HOME = os.path.expanduser("~"); OPS = os.path.join(HOME, "ops")
DENY = {"Signal", "Passwords", "1Password", "Keychain Access", "Bitwarden", "Messages", "Photos"}
TITLE_OK = {"Claude", "ChatGPT", "Obsidian", "Google Chrome", "Safari", "Finder", "Pages", "Numbers", "TextEdit", "Notes", "Mail", "WhatsApp", "Zoom", "Code"}
EXCLUDE = ("/Private", "Signal", "/.git", "node_modules", "/Library/", "NOW.md")
def osa(s):
try: return subprocess.run(["osascript", "-e", s], capture_output=True, text=True, timeout=8).stdout.strip()
except Exception: return ""
app = osa('tell application "System Events" to get name of first application process whose frontmost is true')
title = ""
if app in DENY: app = "[private app]"
elif app in TITLE_OK:
title = osa('tell application "System Events" to tell (first application process whose frontmost is true) to get name of front window')[:90]
if re.search(r"incognito|private", title, re.I): title = "[private window]"
files = []
for d in ("Documents", "Desktop", "Downloads", "ops"):
r = subprocess.run(["mdfind", "-onlyin", os.path.join(HOME, d), "kMDItemFSContentChangeDate >= $time.now(-900)"], capture_output=True, text=True)
files += [p for p in r.stdout.splitlines() if os.path.isfile(p) and not any(x in p for x in EXCLUDE)]
files = sorted(set(files), key=os.path.getmtime, reverse=True)[:8]
lines = ["# NOW (auto, %s, pulse.py, read this first)" % datetime.datetime.now().strftime("%a %d %b %H:%M"), "Active: %s%s" % (app or "unknown", ' "%s"' % title if title else "")]
lines.append("Files touched (last 15 min):"); lines += [" " + p.replace(HOME + "/", "~/") for p in files] or [" none"]
for f in ("hands.md", "handoff.md"):
p = os.path.join(OPS, f)
if os.path.exists(p):
lines.append("From %s:" % f); lines += [" " + l.rstrip() for l in open(p, encoding="utf-8") if l.strip() and not l.startswith("#")][:5]
open(os.path.join(OPS, "NOW.md"), "w", encoding="utf-8").write("\n".join(lines[:22]) + "\n")
Baixar: pulse.pySHA-256 fb868f9f7cbecc0d5dc18492157591568c52462db603a82456273be61605737a
#!/bin/bash
# install-pulse.command: runs pulse.py every 5 minutes via launchd. Double-click once.
OPS="$HOME/ops"; PL="$HOME/Library/LaunchAgents/com.me.pulse.plist"; mkdir -p "$HOME/Library/LaunchAgents"
cat > "$PL" <<PLIST
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict><key>Label</key><string>com.me.pulse</string>
<key>ProgramArguments</key><array><string>/usr/bin/python3</string><string>$OPS/pulse.py</string></array>
<key>StartInterval</key><integer>300</integer><key>RunAtLoad</key><true/></dict></plist>
PLIST
launchctl bootout "gui/$(id -u)/com.me.pulse" 2>/dev/null; launchctl bootstrap "gui/$(id -u)" "$PL" && echo "installed"
python3 "$OPS/pulse.py" && cat "$OPS/NOW.md"
Baixar: install-pulse.commandSHA-256 c2f0f1abb9f37e28480e6ea8f9ad49ffb0860a621ca699b44cc36b06516debab
Gems do Gemini, se você tem algum em uma conta Google pessoal: exporte antes de 17 de novembro de 2026 (Google Takeout, desmarque tudo, marque só "Gemini"); as instruções saem como texto que você pode colar em um Projeto ou em uma entrada de Saved info.