Área Execução Longa · agentes que trabalham horas e dias

Agentes que trabalham por horas. Sem perder o rumo.

Não é mandar o agente "trabalhar 10 horas". É dar um objetivo com prova de pronto, guardar o estado em arquivos e pôr tetos. O agente trabalha em ciclos — Codex /goal, Claude Code /goal ou um loop sem interface — e quem decide que acabou é o teste, não ele. Esta área junta o método, o kit execucao-longa e todos os cursos e projetos do INEMA sobre loops, contexto e memória de agentes.

Guia do kit em PT, EN e ES. Testado em execuções reais. Tudo aberto.

01 · O método

Três peças que deixam um agente trabalhar horas sem se perder.

Uma sessão longa falha de três jeitos: o agente não sabe quando parar, esquece o que já fez depois de compactar ou gasta o que não devia. O método responde a cada um com uma peça.

🎯 Objetivo verificável

Resultado, restrições e verificação

O goal.md diz o resultado em uma frase e lista critérios no formato comando → saída esperada. Nada de "até ficar bom".

🗂️ Estado em arquivos

O agente relê, não lembra

goal, plan, state, progress, failures e decisions.md guardam a tarefa; canal.md guarda o que a compactação perde. Depois de compactar ou retomar, o agente relê os arquivos.

🛡️ Tetos e portões

Limite no tempo, nos tokens e no gasto

Tempo, tokens e memória com teto. Crédito, API paga, produção e ação irreversível viram portão humano: o agente para e pergunta.

O agente escolhe a próxima ação útil, testa, registra e continua. Três ciclos sem avanço mensurável = parar e chamar o humano.

Objetivo→Lê estado→Próxima ação→Executa→Testa→Corrige→Salva estado + commit↺
Continuidade

Sessão persistente

O mesmo objetivo e o mesmo histórico ao longo de horas.

Janela

Compactação

Resume o histórico antigo para caber na janela. Muda o prefixo e o cache cai logo depois — é esperado.

Custo

Prompt cache

Reaproveita o prefixo idêntico. Em sessão contínua o acerto passa de 95%. Meça cached ÷ input.

02 · Como rodar

Dois caminhos: você acompanha, ou ele roda sozinho.

Instale uma vez por máquina (regras globais, hook de contexto e vigia). Depois, cada objetivo longo ganha a própria pasta de estado e segue um dos dois caminhos.

Interativo · você acompanha

  • tools/novo-longrun.sh <projeto> <slug> cria a pasta com os sete arquivos.
  • Escreva o goal.md com critérios nível 3.
  • /goal no Codex ou no Claude Code, com o prompt de templates/.
  • Acompanhe sem interromper: /goals, /goal pause|resume, /side.
  • No fim, medir-sessao.py: duração, compactações, tokens e cache.

Headless · roda sozinho

  • Mesma pasta, mais prompt.md e loop.env.
  • Testes congelados: o teste é o juiz.
  • tools/loop-longrun.sh <pasta> — cada ciclo é um codex exec com teto de tempo e memória.
  • Reverte mexida em teste protegido e faz commit de checkpoint.
  • Para sozinho: concluído, 3 ciclos sem avanço ou teto de ciclos.
# 1. pasta de estado da execução
~/projetos/execucao-longa/tools/novo-longrun.sh ~/projetos/meu-projeto meu-objetivo
# 2. goal.md: resultado + critérios "comando → saída esperada"
# 3a. interativo
codex   # → /goal com templates/prompt-goal-codex.md
# 3b. headless
~/projetos/execucao-longa/tools/loop-longrun.sh meu-projeto/longrun/2026-10-01-meu-objetivo
# 4. feche e meça
python3 ~/projetos/execucao-longa/tools/medir-sessao.py <sessão.jsonl>

Pare e intervenha se: passarem 3 ciclos sem avanço mensurável; o agente repetir "vou terminar e commitar" sem terminar, ou reabrir item já feito; ou chegar à 3ª compactação na mesma sessão — aí é handoff e sessão nova.

03 · Critério de pronto

Um bom critério: alguém de fora checa, e o agente não cumpre por atalho.

Em execução longa, o mínimo é o nível 3. Abaixo disso, o agente se autoaprova ou cumpre a letra sem fazer o trabalho.

0 · Vago"Deixar o site bom". Ninguém sabe quando acabou.
1 · Subjetivo"Código revisado e limpo". O agente se autoaprova.
2 · Burlável"0 falhas". Dá para apagar teste ou gerar página vazia.
3 · Protegido ✅"0 falhas e ≥ 48 testes e tests/ intocado". Mínimo aceito.
4 · IndependenteNível 3 + checagem externa: e2e real, avaliador separado, amostra humana.
Cinco perguntas — cada "não" derruba o nível. Dá para checar com um comando? A resposta é sim/não? É impossível cumprir sem fazer o trabalho? A prova aparece na saída (o avaliador do /goal no Claude só lê a conversa)? Cobre função, regressão e limite?

04 · Contexto e memória

Não é o /goal que deteriora. É a compactação repetida.

O objetivo sobrevive à compactação, mas o "o que já está feito / o que falta" se perde: o agente reabre trabalho e não converge. O kit trata isso antes do limite automático.

Faixas de contexto

50 · 70 · 85%

~50% → anotar no canal.md. ~70% → atualizar o estado e /compact. ~85% ou 3ª compactação → /session-handoff, sessão nova e /prime. Um hook do Claude Code avisa uma vez por faixa.

Cache entre ciclos

Acorde antes de expirar

Se o orquestrador dorme entre ciclos: OpenAI ~30 min (acordar a cada ~25), Claude 1 h (~55). Perder o cache custa de 12,5x a 25x.

Modo fila

Backlog que cresce

Uma tarefa por arquivo, fechar só com evidência, no máximo 5 tarefas criadas pelo agente. Fila vazia → registrar e parar.

Memória entre sessões

recall "termo"

Índice SQLite FTS5 de tudo o que foi dito com o Codex e o Claude, reindexado de hora em hora — 90 mil trechos, busca em centésimos de segundo.

Vigia

Avisa execução parada

tools/vigia.py a cada 10 min (timer systemd): execução parada, parada sem aviso ou ociosa.

Medição

medir-sessao.py

Lê 1,8 GB de sessão em ~9 s: duração, compactações, tokens, cache e saída de ferramenta, por turno.

05 · Áreas relacionadas

Outras áreas do Eventos que conversam com execução longa.

06 · Projetos e cursos

Loops, contexto e memória de agentes: tudo do INEMA num só lugar.

Projetos e kits

Cursos

07 · Comece agora

O melhor primeiro passo: um objetivo pequeno, com critério nível 3.

Escolha uma tarefa que um teste consiga provar, crie a pasta com novo-longrun.sh, escreva o goal.md e rode um ciclo. Depois meça a sessão.

Kit · aberto

Execução Longa

Templates, loop headless, hook de contexto, vigia, medição e recall.

Abrir o guia →
Kit · aberto

claude-session-kit

Sessões enxutas no Claude Code: cota real, checkpoint e handoff.

Abrir o guia →
Área irmã

Codex + Claude

Um planeja, o outro desafia — e a meta com condição de parada.

Abrir a área →

Dúvida sobre por onde começar? Fale com a gente no Telegram.