Alternar tema

Como usar o LazyCodex com o Codex: memória do projeto, planejamento e verificação

Easton editorial illustration: charcoal CODEX terminal with a small orange harness ring, four-stage circular workflow labeled MEMORY, PLAN, BUILD, VERIFY
4
Comandos principais
$init-deep, $ulw-plan, $start-work, $ulw-loop
5
Portas de evidência
releitura do plano, validação automática, QA manual, QA adversarial, limpeza
500 / 100
Limite de iterações do loop
500 no modo ultrawork e 100 no modo normal

"A documentação oficial do LazyCodex descreve os quatro comandos principais, o posicionamento Codex Light, o estado Boulder, as cinco portas de evidência e os limites de iteração do ulw-loop."

Você altera uma funcionalidade que atravessa mais de dez arquivos. O Codex informa que “terminou”, você confia no resultado e, depois da implantação, descobre que um caminho de erro ficou sem tratamento. Esse tipo de problema é comum em bases de código complexas: cada conversa nova precisa entender o projeto outra vez, e o modelo relata o que fez sem necessariamente indicar a lógica periférica que pode ter esquecido.

O LazyCodex reúne em um agent harness leve as capacidades do OmO (oh-my-openagent) adequadas ao Codex. O foco é memória do projeto, planejamento do trabalho e um ciclo fechado de aceite com evidências. A seguir, você verá como $init-deep, $ulw-plan, $start-work e $ulw-loop trabalham juntos, como AGENTS.md hierárquicos dão contexto a repositórios grandes e quais práticas de engenharia continuam úteis sem instalar a ferramenta.

O que é o LazyCodex: a distribuição leve do OmO para o Codex

O LazyCodex pode ser comparado ao papel do LazyVim para o Neovim: as capacidades principais vêm do oh-my-openagent (OmO), enquanto o LazyCodex distribui em um ambiente existente as partes compatíveis com o sistema de plugins do Codex. O projeto é aberto no GitHub e usa a licença MIT. Em julho de 2026, a documentação oficial o apresenta como a edição Codex Light do OmO, não como uma migração completa do OmO Ultimate.

Principais diferenças entre o Codex direto e o LazyCodex

DimensãoCodex diretoLazyCodex (Codex Light)
Memória do projetoO contexto depende principalmente das instruções atuais do repositório e da sessão; não existe um fluxo pronto de inicialização profunda$init-deep gera AGENTS.md hierárquicos e fornece orientações locais aos diretórios complexos
Critério de conclusãoA verificação ativa de limites depende da descrição da tarefa e dos hábitos atuais de execuçãoAs cinco portas de evidência de $start-work e a verificação oracle de $ulw-loop tornam explícitos os critérios de conclusão
Disciplina do processoÉ possível editar diretamente; o usuário precisa impor por conta própria o planejamento antes da execução$ulw-plan apenas planeja, $start-work executa o plano e $ulw-loop fecha o ciclo de evidências
PersistênciaUsa sessões do Codex e arquivos do projeto para preservar o contexto.omo/boulder.json guarda o estado da execução do plano, e um Stop hook pode continuar impulsionando trabalho incompleto
Camada de ferramentasUsa skills, MCP e recursos paralelos atualmente oferecidos pelo CodexInstala adicionalmente rules, hooks, skills, LSP, busca AST e configuração de roteamento de modelos do OmO

Esse harness não altera a capacidade central do modelo Codex. Ele padroniza o modo de uso: primeiro estabelece a memória do projeto, depois planeja e executa e, por fim, faz o aceite com base em evidências. Porém, a orquestração completa de agents especializados e as ferramentas team_* do OmO Ultimate não fazem parte do Codex Light. As tarefas paralelas do LazyCodex dependem da superfície de subagent ou team disponível na versão atual do Codex.

Instalação: uma linha de npx, sem instalação global

O caminho oficial principal do LazyCodex usa sempre npx; não é necessário executar npm i -g:

# Instalação padrão
npx lazycodex-ai install

# Comando equivalente (pacote OmO e plataforma Codex explícitos)
npx --yes --package oh-my-openagent omo install --platform=codex

# Modo totalmente automático (sem interação e com permissões autônomas explícitas)
npx lazycodex-ai install --no-tui --codex-autonomous

# Verificação após a instalação
npx lazycodex-ai doctor

O instalador grava no cache de plugins do Codex e nas configurações relacionadas. A instalação interativa padrão pergunta se deve configurar permissões autônomas. Como --codex-autonomous altera essa configuração, use-o apenas depois de entender os limites de segurança da máquina. Após instalar ou atualizar, você também precisa aprovar os hooks do OmO na revisão de inicialização do Codex e abrir outra sessão para carregar o plugin.

Depois da instalação, memorize primeiro quatro comandos:

  1. $init-deep: gerar AGENTS.md hierárquicos
  2. $ulw-plan: transformar requisitos em um plano completo em decisões e pendente de aprovação
  3. $start-work: executar o plano e salvar o progresso persistente
  4. $ulw-loop: continuar a execução e a verificação de uma única tarefa

Para verificar primeiro o conteúdo instalado, execute npx lazycodex-ai doctor ou consulte o README oficial do LazyCodex e a documentação oficial.

Memória do projeto: gerar AGENTS.md hierárquicos com $init-deep

O problema típico de um repositório grande é que uma conversa não consegue explicar todo o projeto. Com centenas de arquivos e vários módulos, um agent que abre uma nova sessão precisa explorar tudo outra vez ou corre o risco de editar o local errado sem as restrições locais.

$init-deep cria “marcos” para um repositório grande. O comando:

  1. percorre o repositório e lê os arquivos que determinam como o projeto realmente funciona
  2. gera AGENTS.md hierárquicos na raiz e em subdiretórios complexos
  3. coloca orientações locais o mais perto possível do código correspondente
  4. permite que agents futuros leiam as regras aplicáveis antes de editar

A hierarquia importa porque orientações locais devem ficar próximas do código que precisa delas, e não acumuladas em um enorme arquivo na raiz. Ao entrar em um módulo, o agent vê diretamente as regras daquele diretório sem precisar filtrá-las de uma documentação geral gigantesca.

Essa ideia não é igual à arquitetura de memória de longo prazo apresentada em Como projetar um sistema de memória para agents: AGENTS.md funciona mais como contexto versionado do projeto do que como memória de conversa recuperada automaticamente. Ainda assim, os dois modelos valorizam hierarquia, contexto local e persistência. O papel também se aproxima do CLAUDE.md em Como limitar o Claude com um arquivo de configuração: fazer a IA ler as regras antes de agir.

Os AGENTS.md gerados são arquivos Markdown comuns e exigem revisão humana. Depois de uma refatoração do repositório, uma mudança na responsabilidade de um diretório ou uma atualização de comandos, execute $init-deep novamente ou mantenha os arquivos manualmente. Conteúdo gerado automaticamente não é uma fonte de verdade correta para sempre.

Quatro comandos para memória, planejamento, execução e verificação

O fluxo central do LazyCodex tem quatro etapas: inicializar a memória do projeto, planejar, executar e verificar. Em uma tarefa real de desenvolvimento, os três últimos comandos formam o ciclo planejamento–execução–verificação.

$ulw-plan: produzir apenas um plano para aprovação

$ulw-plan "what to build"

Esse comando planeja, mas não escreve código do produto. O fluxo:

  1. esclarece requisitos em uma conversa, sem transformar uma descrição vaga diretamente em especificação de implementação
  2. explora a base de código e distribui buscas independentes entre subagents paralelos
  3. analisa a diferença entre o estado atual e o objetivo
  4. grava o plano em plans/<slug>.md, incluindo referências, critérios de aceite, estratégia de QA e limites dos commits
  5. define status: awaiting-approval e aguarda aprovação

A restrição principal é não executar mudanças no produto durante o planejamento. Primeiro, escopo e critérios de aceite precisam ficar claros; só depois o plano segue para a execução. Como dividir tarefas com Subagents apresenta uma ideia parecida, mas o LazyCodex a incorpora ao fluxo de planejamento.

$start-work: executar o plano com estado persistente

$start-work [plan-name] [--worktree <absolute-path>]

Esse comando executa um plano aprovado até concluir todos os checkboxes de nível superior. Os principais recursos incluem:

  1. Estado Boulder persistente: .omo/boulder.json mantém o progresso entre turnos e sessões
  2. Stop hook: se o plano não estiver concluído, reinjeta a próxima rodada de trabalho
  3. Subagents paralelos: subtarefas independentes podem ser distribuídas; o paralelismo específico depende da superfície atual do Codex
  4. TDD rigoroso e cinco portas de evidência: releitura do plano, validação automática, QA manual, QA adversarial e limpeza
  5. Registro de progresso: salva a execução e o estado dos checkboxes

Quando tudo termina, aparece ORCHESTRATION COMPLETE. Esse sinal indica que o fluxo declara concluídos todos os checkboxes e portas de evidência. Mesmo assim, verifique os testes reais, a QA manual e as evidências das mudanças, em vez de confiar em uma única linha de status.

$ulw-loop: verificar continuamente uma única tarefa

$ulw-loop "task" [--completion-promise=TEXT] [--strategy=reset|continue]

Esse comando é adequado a uma única tarefa com escopo já claro, mas que precisa continuar até a validação das evidências. Ele não substitui um planejamento completo; para uma tarefa vaga, execute $ulw-plan primeiro.

  • Limite de iterações: no máximo 500 no modo ultrawork e 100 no modo normal
  • Estratégia: reset redefine o contexto do loop a cada iteração; continue preserva o estado atual
  • Completion promise: explicita as evidências a coletar, as validações obrigatórias e o tratamento de informações ausentes
  • Condição de parada: o oracle decide com base nas evidências se a promessa de conclusão foi cumprida

O número de iterações não garante qualidade. Se o critério de conclusão for vago, o loop apenas repetirá mais rápido um julgamento vago. O essencial é escrever na completion promise os testes, as condições de limite, a QA manual e o tratamento de falhas.

Por que o aceite importa em uma base de código complexa

O risco típico em uma base de código complexa é uma mudança atravessar mais de dez arquivos, funcionar no caminho principal e deixar sem atualização uma ramificação de erro, um chamador, a configuração ou a documentação. Isso não é apenas uma questão de capacidade do modelo; faltam evidências explícitas ao critério de conclusão.

Cenários em que o modelo costuma esquecer limites:

Tipo de mudançaPontos que costumam ser esquecidos
Fluxo principal alteradoRamificações de erro, como falha de rede, validação de parâmetros ou permissão insuficiente
Nova interfaceChamadores e dublês de teste que ainda usam a assinatura anterior
Módulo refatoradoTestes, configuração, documentação e artefatos gerados
Recurso removidoPontos de entrada dependentes, analytics, logs e camada de compatibilidade de migração

O ganho do LazyCodex não está em garantir que “nada será esquecido”, mas em fixar as verificações dentro do fluxo. As cinco portas de evidência exigem reler o plano, executar validações automáticas, fazer QA manual, procurar falhas de modo adversarial e limpar resíduos. $ulw-loop mantém uma única tarefa em execução até cumprir as evidências combinadas. “O modelo disse que terminou” se torna “as evidências definidas antes determinam a conclusão”.

As portas de evidência ainda precisam das fontes de verdade do projeto e de bons critérios de aceite. Uma mudança de assinatura exige localizar todos os chamadores; remover uma função exige procurar pontos de entrada dependentes; alterar a UI pede interação real, não apenas testes unitários. O harness oferece disciplina de processo, mas não conhece automaticamente os riscos do negócio.

Agents especializados do OmO e a camada de skills do LazyCodex

O LazyCodex vem do OmO, mas os escopos precisam permanecer separados. O OmO Ultimate oferece a orquestração completa de agents especializados; o Codex Light carrega apenas os componentes compatíveis com o sistema de plugins do Codex e usa a própria superfície de agents do Codex.

Agents especializados: a orquestração completa pertence ao OmO Ultimate

AgentResponsabilidadeLimite do LazyCodex Light
SisyphusOrquestra execução e verificaçãoA configuração do papel pode estar visível, mas o Light não oferece toda a orquestração de agents do OmO Ultimate
HephaestusExecuta tarefas e modifica arquivosTarefas independentes usam os recursos de subagent disponíveis no Codex atual
OracleDetermina a conclusão com base em evidências$ulw-loop preserva a prática de verificação por evidências, mas não inclui todas as ferramentas de orquestração do Ultimate
LibrarianRegistra e recupera contextoA memória do projeto é implementada principalmente por $init-deep e AGENTS.md hierárquicos

Portanto, Team Mode, a equipe completa de agents especializados ou as ferramentas team_* do OmO Ultimate não podem ser contados como recursos integrados do LazyCodex Light. A possibilidade real de criar integrantes em paralelo também depende dos recursos oferecidos pelo Codex App ou CLI atual.

Camada de skills: levar decisões especializadas a fluxos reutilizáveis

O LazyCodex instala um conjunto de skills e componentes. A documentação oficial atual lista como exemplos:

Skill ou componenteUso
review-workRevisar a implementação por vários canais
remove-ai-slopsRemover marcas estereotipadas de IA sem alterar o comportamento
frontendRestrições de design frontend e implementação da UI
LSPDiagnósticos, definições, referências e operações em nível de símbolo
AST-grepBuscar e reescrever código com base na estrutura sintática
rules / comment-checkerCarregar regras do projeto e verificar a qualidade dos comentários
git-bashOferecer ferramentas compatíveis em ambientes que exigem semântica Bash

Essa estrutura lembra O recurso Skill do Claude: comandos controlam o processo, enquanto skills carregam decisões específicas do domínio. A lista exata pode mudar entre versões. Após instalar, consulte o estado atual no menu $ do Codex ou na saída de doctor.

Roteamento de modelos: distribuir raciocínio conforme o risco

O LazyCodex configura o roteamento de modelos para que papéis ou tarefas usem um modelo e um nível de reasoning adequados. O objetivo não é garantir economia de tokens; a documentação oficial alerta justamente que o LazyCodex dedica recursos suficientes de modelo e contexto a planejamento, execução e verificação.

Princípios de uso mais seguros:

  • Usar intensidade média de raciocínio nas tarefas diárias
  • Aumentar a intensidade quando o custo de falha for alto ou houver necessidade de revisão
  • Reservar o nível máximo apenas para tarefas realmente pesadas
  • Delimitar e dividir tarefas longas para não sobrecarregar um thread com contexto demais

Os nomes dos modelos e as matrizes de roteamento mudam. A configuração atual na instalação é a fonte válida. Não transforme o nome de um modelo citado em um README datado em regra duradoura nem trate “roteamento de vários modelos” como sinônimo de “economia garantida de cota”.

Quatro ideias de engenharia úteis mesmo sem instalar o LazyCodex

Mesmo sem o LazyCodex, quatro ideias podem ser transferidas para outros fluxos com agents.

Ideia 1: escrever arquivos de contexto hierárquicos para repositórios grandes

Os AGENTS.md gerados por $init-deep são, na prática, contexto versionado e hierárquico para um repositório grande. É possível copiar diretamente o princípio:

  • Escrever orientações locais para diretórios complexos, sem acumular todas as regras na raiz
  • Fazer com que o agent veja as regras aplicáveis ao entrar no diretório
  • Atualizar as orientações quando a estrutura ou o processo mudar
  • Revisar o conteúdo gerado para impedir que uma explicação desatualizada se torne nova fonte de erro

A forma mínima é um AGENTS.md na raiz e alguns AGENTS.md em subdiretórios importantes. Como limitar o Claude com um arquivo de configuração mostra uma prática semelhante.

Ideia 2: separar planejamento e execução

Peça primeiro ao agent um plano completo em decisões, com escopo, dependências, critérios de aceite, QA e limites dos commits; execute apenas depois da aprovação. O ponto central não é usar exatamente plans/*.md, mas impedir que o planejamento comece a alterar o produto silenciosamente.

Ideia 3: vincular a conclusão a evidências

Crie uma lista de verificação para mudanças em vários arquivos: localizar chamadores após uma mudança de interface, procurar pontos de entrada ao remover um recurso, interagir de verdade com a UI e verificar rollback em migrações de dados. “Concluído” deve depender de testes específicos, QA manual e evidências de limites, não de um resumo.

Ideia 4: distribuir modelo e contexto conforme o risco

Uma consulta simples não exige o nível máximo de raciocínio. Mudanças de arquitetura, migrações e portas de publicação pedem raciocínio mais forte e revisão. Tarefas longas também precisam ser divididas ativamente; apenas aumentar o token budget não resolve.

Forma mínima para reaproveitar

Se você não pretende instalar todo o harness, mantenha pelo menos dois tipos de arquivo versionável:

  1. uma lista de planejamento com decisões, etapas, critérios de aceite e pontos abertos
  2. AGENTS.md hierárquicos com regras do repositório e dos diretórios

Acrescente os comandos de validação e uma lista de QA manual apropriados a cada tipo de mudança. Isso já cobre as ideias centrais do LazyCodex mais fáceis de transferir.

Para quem o LazyCodex é adequado e para quem não é

O LazyCodex adiciona hooks, arquivos de estado, skills e restrições de fluxo. Nem todo projeto precisa dessa camada. A tabela ajuda a decidir.

Avaliação de cenários

DimensãoO LazyCodex é adequadoUsar apenas o Codex é mais simples
Tamanho do repositórioRepositório grande, muitas regras de diretório e mudanças frequentes entre arquivosRepositório pequeno ou projeto de um arquivo
Complexidade da tarefaTarefa longa que exige planejamento, execução e verificaçãoPequena alteração pontual ou script simples
Problema de contextoNovas sessões precisam reexplorar diretórios e regras com frequênciaUma sessão é suficiente e já existe um AGENTS.md claro
Necessidade de aceiteÉ fácil esquecer ramificações de erro; são necessárias portas de evidência e QA manualAs condições de conclusão são simples e baratas de verificar
Necessidade de processoO plano deve ser aprovado primeiro e o estado da execução precisa persistirÉ preferível editar diretamente, sem camada adicional de estado
Aceitação de permissõesÉ possível revisar hooks, MCP e configurações de permissões autônomasPlugins adicionais ou mudanças na configuração do Codex não são desejados

Avaliação do benefício

Quanto maior o repositório, mais longa a tarefa e mais complexo o aceite, maior a chance de as restrições do LazyCodex agregarem valor. Exemplos comuns são refatorações em vários arquivos, trabalho que atravessa sessões e mudanças de alto risco que combinam testes automáticos com QA manual.

O custo também é claro: você precisa manter contexto hierárquico, entender hooks e permissões, aceitar arquivos de estado como .omo/boulder.json e revisar os planos e resultados de verificação criados pelo harness. Ele não é um seguro automático contra omissões.

Cenários pouco adequados

  • Pequena alteração pontual: modificar uma função, um campo ou um trecho de texto
  • Script simples: trabalho concentrado em um ou dois arquivos com critério de conclusão claro
  • Processo existente maduro: o repositório já tem AGENTS.md confiável, modelos de plano, CI e portas de aceite humano
  • Rejeição de configuração adicional: não se deseja que plugins, hooks, MCP ou permissões autônomas alterem o ambiente atual do Codex

Se ainda houver dúvida, comece sem instalar o conjunto inteiro. Adicione manualmente um AGENTS.md hierárquico e uma lista de evidências. Depois de confirmar que o projeto realmente sofre com perda de contexto entre sessões, separação fraca entre planejamento e execução ou aceite insuficiente, avalie o LazyCodex.

Conclusão

Em uma base de código complexa, a dificuldade ao usar o Codex muitas vezes não está em gerar código, mas em permitir que uma nova sessão entenda rapidamente as regras locais e comprove que uma mudança em vários arquivos não deixou nenhum limite importante de fora. O LazyCodex combina $init-deep, aprovação de planos, estado Boulder e portas de evidência em um fluxo Codex Light.

O valor não está principalmente nos nomes Sisyphus ou Boulder, mas em três melhorias de engenharia verificáveis: o contexto fica registrado em arquivos hierárquicos, planejamento e execução têm um limite claro, e a conclusão depende de testes e QA manual. Ao mesmo tempo, é preciso lembrar que o LazyCodex não equivale ao OmO Ultimate; orquestração completa de agents e Team Mode não podem ser atribuídos diretamente ao Light.

Como próximo passo, execute npx lazycodex-ai doctor, use $init-deep para criar contexto em um repositório grande real e escolha uma tarefa em vários arquivos com escopo claro. Percorra um ciclo completo com $ulw-plan, $start-work e $ulw-loop. Compare omissões, releitura de contexto e custo de aceite com o uso direto do Codex; assim você saberá se o harness combina com o projeto.

Executar com o LazyCodex um ciclo de planejamento, execução e verificação

Comece pela instalação e pela memória do projeto, aprove o plano e só encerre a execução depois que as evidências passarem pela validação.

  1. 1

    Step 1: Instalar e executar doctor

    Instale a edição Codex Light com npx lazycodex-ai install e execute npx lazycodex-ai doctor para verificar plugins, hooks, MCP e a configuração.
  2. 2

    Step 2: Inicializar a memória do projeto

    Execute $init-deep no repositório, revise os AGENTS.md gerados na raiz e nos diretórios e remova instruções desatualizadas ou incorretas.
  3. 3

    Step 3: Gerar e aprovar o plano

    Para um trabalho com limites incertos, execute $ulw-plan para explorar o código e escrever um plano completo em decisões. Aprove-o somente depois de confirmar o escopo, os critérios de aceite e os limites dos commits.
  4. 4

    Step 4: Executar o plano

    Use $start-work para executar o plano aprovado, acompanhe o progresso persistente em .omo/boulder.json e conclua cada checkbox de nível superior.
  5. 5

    Step 5: Verificar com evidências

    Use $ulw-loop quando precisar de um ciclo contínuo e inclua testes, QA manual e verificações de limites na completion promise. Considere a tarefa concluída somente depois que as evidências forem aprovadas.

FAQ

O que é o LazyCodex e qual é a diferença para usar o Codex diretamente?
O LazyCodex é a distribuição leve do OmO para o Codex. Ele não substitui o modelo Codex; acrescenta ao ambiente memória hierárquica do projeto, comandos de planejamento e execução, hooks, skills, roteamento de modelos e uma prática de aceite baseada em evidências.
Como instalar e verificar o LazyCodex?
O comando principal é npx lazycodex-ai install. O modo autônomo sem interação usa --no-tui --codex-autonomous. Depois, execute npx lazycodex-ai doctor e, em uma nova sessão do Codex, verifique o menu $ e as aprovações dos hooks.
Quando usar $init-deep, $ulw-plan, $start-work e $ulw-loop?
$init-deep gera AGENTS.md hierárquicos. Se os requisitos ainda estiverem vagos, $ulw-plan cria um plano para aprovação. Após a aprovação, $start-work o executa. $ulw-loop serve para uma única tarefa que precisa continuar até a validação das evidências.
Para que servem os AGENTS.md gerados por $init-deep?
Eles distribuem regras do repositório e instruções locais de diretórios complexos em camadas de contexto. Assim, uma sessão futura do Codex lê os marcos relevantes antes de editar. O conteúdo gerado precisa de revisão humana e atualização quando a estrutura ou as regras mudarem.
Para quais projetos o LazyCodex é indicado?
Ele combina melhor com repositórios grandes, tarefas longas em vários arquivos e trabalhos que exigem aprovação do plano e aceite rigoroso. Para uma pequena alteração em um arquivo, um script pontual ou uma tarefa sem estado persistente, usar apenas o Codex costuma ser mais simples.

16 min de leitura · Publicado em: 28 jul 2026 · Atualizado em: 30 jul 2026

Comentários

Entre com GitHub para comentar

Easton BlogEaston Blog