Skip to content

Otimização de Contexto: Execução em Sessões Separadas ​

O Que Você Poderá Fazer Após Este Tutorial ​

  • Usar o comando factory continue para continuar o pipeline em uma nova sessão
  • Entender as vantagens de cada fase ter um contexto limpo exclusivo
  • Dominar métodos para reduzir significativamente o consumo de Tokens
  • Suportar recuperação de interrupções, permitindo pausar e continuar a qualquer momento

Seu Dilema Atual ​

Quando você executa o pipeline completo de 7 fases em um assistente de IA (como Claude Code), pode encontrar estes problemas:

  • Tokens aumentando cada vez mais: À medida que a conversa se acumula, o contexto fica cada vez mais longo, e cada fase precisa carregar o conteúdo de todas as fases anteriores
  • Custos cada vez mais altos: Conversas longas significam mais Tokens de entrada, e os custos disparam
  • Respostas mais lentas: Contextos muito longos podem aumentar o tempo de resposta
  • Difícil recuperar: Se uma fase falhar, reiniciar requer recarregar uma grande quantidade de contexto

Problema Central

O acúmulo de contexto em conversas longas é uma característica inerente dos assistentes de IA, mas podemos contornar este problema através da "execução em sessões separadas".

Quando Usar Esta Técnica ​

CenárioUsar Sessões Separadas?Motivo
Executar pipeline completo de 7 fases✅ Altamente RecomendadoCada Token é precioso
Executar apenas 1-2 fases⚠️ OpcionalContexto curto, não necessariamente necessário
Depurar uma fase específica⚠️ OpcionalTentativas frequentes podem aumentar o custo de troca de sessão
Recuperar após interrupção prolongada✅ Deve UsarEvitar carregar contexto desatualizado

Ideia Central ​

O Agent App Factory suporta execução em sessões separadas, e sua ideia central é:

Após cada fase terminar, use uma nova sessão para executar a próxima fase.

Os benefícios desta abordagem:

  1. Contexto Limpo: Cada fase carrega apenas os arquivos de entrada necessários, sem depender do histórico de conversa
  2. Economia de Tokens: Evita repetidamente passar o conteúdo de todas as fases anteriores para a IA
  3. Recuperabilidade: Pode interromper a qualquer momento e continuar depois com uma nova sessão sem perder o progresso
  4. Compatibilidade Multiplataforma: Aplicável a todos os assistentes de IA (Claude Code, OpenCode, Cursor, etc.)

Estratégia de Isolamento de Contexto ​

Para implementar a execução em sessões separadas, o Agent App Factory adota uma estratégia de isolamento de contexto:

O Que É Isolamento de Contexto?

Isolamento de contexto significa que cada Agent depende apenas de arquivos de entrada, não do histórico de conversa. Independentemente do que aconteceu antes, o Agent lê informações apenas dos arquivos de entrada especificados.

Quando cada Agent executa:

  • ✅ Lê apenas os arquivos inputs definidos em pipeline.yaml
  • ❌ Não usa qualquer "memória" do histórico de conversa
  • ❌ Não assume que sabe o que aconteceu nas fases anteriores

Por exemplo, quando o Tech Agent executa:

mermaid
graph LR
    A[Tech Agent] --> B[Lê artifacts/prd/prd.md]
    B --> C[Gera artifacts/tech/tech.md]
    C --> D[Atualiza .factory/state.json]

O Tech Agent se preocupa apenas com artifacts/prd/prd.md, não pensa "o usuário disse antes que queria fazer qual aplicativo", todas as informações vêm dos arquivos de entrada.

Mecanismo de Recuperação de Estado ​

Quando você executa factory continue, o sistema irá:

  1. Ler .factory/state.json para obter o progresso atual
  2. Ler .factory/pipeline.yaml para determinar a próxima fase
  3. Carregar apenas os arquivos de entrada necessários para aquela fase
  4. Iniciar uma nova janela do assistente de IA para continuar a execução

O arquivo de estado (.factory/state.json) é o "centro de memória" de todo o sistema:

json
{
  "version": 1,
  "status": "waiting_for_confirmation",
  "current_stage": "tech",
  "completed_stages": ["bootstrap", "prd"],
  "last_updated": "2026-01-29T12:00:00Z"
}

Após cada fase ser concluída, o estado é atualizado neste arquivo. Quando uma nova sessão é iniciada, basta ler este arquivo para saber onde estamos.

🎒 Preparação Antes de Começar ​

Verificação Prévia

Antes de iniciar este tutorial, certifique-se de:

Se ainda não completou, por favor finalize estes cursos prévios primeiro.

Siga Comigo ​

Vamos aprender como usar o comando factory continue através de um cenário prático.

Definição do Cenário ​

Suponha que você está executando um pipeline de 7 fases, já completou as fases bootstrap e prd, e está na fase ui aguardando confirmação.

Passo 1: Selecionar "Continuar em Nova Sessão" no Checkpoint ​

Quando uma fase é concluída, o scheduler Sisyphus exibe uma tabela de opções:

✓ ui concluído!

Produtos gerados:
- artifacts/ui/ui.schema.yaml
- artifacts/ui/preview.web/index.html
- artifacts/ui/preview.web/styles.css
- artifacts/ui/preview.web/app.js

┌─────────────────────────────────────────────────────────────┐
│  📋 Por favor, selecione a próxima ação                     │
│  Digite o número da opção (1-5) e pressione Enter para confirmar │
└─────────────────────────────────────────────────────────────┘

┌──────┬──────────────────────────────────────────────────────┐
│ Opção │ Descrição                                           │
├──────┼──────────────────────────────────────────────────────┤
│  1   │ Continuar para a próxima fase (mesma sessão)        │
│      │ Continuarei a executar a fase tech                  │
├──────┼──────────────────────────────────────────────────────┤
│  2   │ Continuar em nova sessão ⭐ Opção recomendada, economiza Tokens │
│      │ Execute em uma nova janela de terminal: factory continue │
│      │ (Iniciará automaticamente uma nova janela do Claude Code e continuará o pipeline) │
├──────┼──────────────────────────────────────────────────────┤
│  3   │ Reexecutar esta fase                                │
│      │ Reexecutar a fase ui                                │
├──────┼──────────────────────────────────────────────────────┤
│  4   │ Modificar produtos e reexecutar                     │
│      │ Modificar artifacts/prd/prd.md e reexecutar         │
├──────┼──────────────────────────────────────────────────────┤
│  5   │ Pausar o pipeline                                   │
│      │ Salvar o progresso atual e continuar depois         │
└──────┴──────────────────────────────────────────────────────┘

💡 Dica: Digite um número entre 1-5 e pressione Enter para confirmar sua escolha

Você deve ver:

  • A opção 2 marcada como "⭐ Opção recomendada, economiza Tokens"

Na sessão atual, podemos selecionar a opção 5 (pausar o pipeline) e depois executar factory continue em uma nova janela de terminal.

Por Quê

  • A opção 1 é "Continuar para a próxima fase (mesma sessão)", que continua na sessão atual e o contexto se acumula
  • A opção 2 é "Continuar em nova sessão", que usa um novo contexto limpo para executar a próxima fase, economizando Tokens
  • A opção 5 é "Pausar o pipeline", que salva o progresso atual e pode ser retomado depois com factory continue

Passo 2: Executar factory continue em Nova Janela de Terminal ​

Abra uma nova janela de terminal (ou aba), entre no diretório do seu projeto e execute:

bash
factory continue

Você deve ver:

Agent Factory - Continue in New Session

Pipeline Status:
────────────────────────────────────────
Project: my-awesome-app
Status: Waiting
Current Stage: tech
Completed: bootstrap, prd

Starting new Claude Code session...
✓ Nova janela do Claude Code iniciada
  (Please wait for the window to open)

O Que Aconteceu:

  1. O comando factory continue leu .factory/state.json e conheceu o estado atual
  2. Exibiu as informações de status do projeto atual
  3. Iniciou automaticamente uma nova janela do Claude Code e passou a instrução "por favor, continue executando o pipeline"
  4. A nova janela continuará automaticamente a execução a partir da fase tech

Passo 3: Continuar a Execução na Nova Janela ​

Após a nova janela do Claude Code ser iniciada, você verá uma nova conversa, mas o estado é restaurado a partir do checkpoint salvo anteriormente.

Na nova sessão, o Agent irá:

  1. Ler .factory/state.json para obter a fase atual
  2. Ler .factory/pipeline.yaml para determinar as entradas e saídas daquela fase
  3. Carregar apenas os arquivos de entrada necessários para aquela fase (por exemplo, artifacts/prd/prd.md)
  4. Executar as tarefas daquela fase

Pontos-Chave:

  • A nova sessão não tem o histórico de conversa das fases anteriores
  • O Agent lê informações apenas dos arquivos de entrada, não depende de "memória"
  • Isto é a manifestação do isolamento de contexto

Passo 4: Verificar o Isolamento de Contexto ​

Para verificar se o isolamento de contexto está funcionando, você pode tentar perguntar ao Agent na nova sessão:

"Você sabe o que a fase bootstrap fez?"

Se o isolamento de contexto estiver funcionando, o Agent dirá algo como:

"Preciso verificar os arquivos relevantes para entender o trabalho anterior. Deixe-me ler..."

Então ele tentará ler input/idea.md ou outros arquivos para obter informações, em vez de "lembrar" diretamente do histórico de conversa.

Checkpoint ✅

  • Nova sessão iniciada com sucesso
  • Exibiu o estado correto do projeto
  • O Agent depende apenas dos arquivos de entrada, não do histórico de conversa

Passo 5: Continuar a Executar as Fases Restantes ​

Após cada fase ser concluída, você pode escolher:

  • Continuar na sessão atual (opção 1) - Aplicável a fluxos curtos
  • Continuar em nova sessão (opção 2) - Recomendado, economiza Tokens
  • Pausar o pipeline (opção 5) - Execute factory continue depois

Para um pipeline completo de 7 fases, recomenda-se usar "Continuar em nova sessão" em cada fase, assim:

bootstrap (sessão 1) → prd (sessão 2) → ui (sessão 3) → tech (sessão 4)
→ code (sessão 5) → validation (sessão 6) → preview (sessão 7)

Cada sessão é limpa e não precisa carregar o conteúdo de todas as fases anteriores.

Alertas de Armadilhas ​

Armadilha 1: Esquecer de Executar factory continue ​

Prática Incorreta:

  • Começar a próxima fase diretamente na sessão antiga
  • Ou abrir o Claude Code em uma nova janela sem executar factory continue

Prática Correta:

  • Sempre use o comando factory continue para iniciar uma nova sessão
  • Este comando lê automaticamente o estado e passa as instruções corretas

Armadilha 2: Recarregar Arquivos Históricos na Nova Sessão ​

Prática Incorreta:

  • Manualmente pedir à IA para ler os produtos das fases anteriores na nova sessão
  • Achar que a IA deveria "saber" o que aconteceu antes

Prática Correta:

  • Confie no mecanismo de isolamento de contexto, o Agent lerá automaticamente informações dos arquivos de entrada
  • Forneça apenas os arquivos de entrada necessários para aquela fase

Armadilha 3: Usar factory continue Entre Projetos ​

Prática Incorreta:

  • Executar factory continue no projeto A, mas o diretório atual é o projeto B

Prática Correta:

  • factory continue verifica se o diretório atual é um projeto Factory
  • Se não for, solicitará que você execute factory init primeiro

Armadilha 4: Não Usar factory continue Após Modificar Produtos ​

Cenário:

  • Após uma fase ser concluída, você modificou manualmente os produtos (como modificou o PRD)
  • Quer continuar executando a próxima fase

Prática Correta:

  • Execute factory run (reiniciará a partir da fase especificada)
  • Ou execute factory continue (continuará a partir do checkpoint atual)
  • Não continue diretamente na sessão antiga, pois o contexto pode estar inconsistente

Resumo da Aula ​

Nesta aula, aprendemos como usar o comando factory continue para execução em sessões separadas:

Pontos-Chave ​

  1. Execução em Sessões Separadas: Após cada fase ser concluída, use uma nova sessão para executar a próxima fase
  2. Isolamento de Contexto: O Agent depende apenas dos arquivos de entrada, não do histórico de conversa
  3. Recuperação de Estado: .factory/state.json registra o progresso atual, novas sessões podem recuperar
  4. Economia de Tokens: Evita carregar contextos muito longos, reduzindo significativamente os custos

Referência Rápida de Comandos ​

ComandoFunçãoCenário de Uso
factory continueContinuar execução do pipeline em nova sessãoApós cada fase ser concluída
factory runExecutar pipeline na sessão atualPrimeira execução ou depuração
factory statusVerificar estado atual do projetoEntender o progresso

Melhores Práticas ​

  • ✅ Ao executar o pipeline completo de 7 fases, use factory continue em cada fase
  • ✅ No checkpoint, selecione "Continuar em nova sessão" (opção 2)
  • ✅ Confie no mecanismo de isolamento de contexto, não carregue arquivos históricos manualmente
  • ✅ Use factory status para verificar o progresso do projeto

Prévia da Próxima Aula ​

Na próxima aula, aprenderemos sobre Mecanismos de Permissão e Segurança.

Você aprenderá:

  • Como a matriz de limites de capacidade previne que o Agent exceda suas permissões
  • Mecanismos de tratamento de excesso de permissão e isolamento de produtos não confiáveis
  • Checkpoints de segurança e processos de verificação de permissões
  • Como configurar os arquivos de permissão do Claude Code

Esta aula ajudará você a entender os mecanismos de segurança do Agent App Factory, garantindo que cada Agent leia e escreva arquivos apenas nos diretórios autorizados.


Apêndice: Referência de Código-Fonte ​

Clique para expandir e ver a localização do código-fonte

Última atualização: 2026-01-29

FunçãoCaminho do ArquivoLinhas
Comando factory continuecli/commands/continue.js1-144
Otimização de contexto do scheduleragents/orchestrator.checkpoint.md113-154
Estratégia de isolamento de contextopolicies/context-isolation.md1-64

Funções-Chave:

  • launchClaudeCode(projectDir, nextStage, completedStages): Inicia uma nova janela do Claude Code
  • commandExists(cmd): Verifica se o comando está disponível
  • module.exports(projectDir): Função principal do comando factory continue

Constantes-Chave:

  • state.json: Caminho do arquivo de estado (.factory/state.json)
  • pipeline.yaml: Caminho do arquivo de definição do pipeline (.factory/pipeline.yaml)
  • config.yaml: Caminho do arquivo de configuração do projeto (.factory/config.yaml)

Regras de Negócio-Chave:

  • BR-6-1: Cada fase tem um contexto limpo exclusivo
  • BR-6-2: Use o comando factory continue para continuar
  • BR-6-3: Carregar apenas os arquivos necessários para a fase atual