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

"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ão | Codex direto | LazyCodex (Codex Light) |
|---|---|---|
| Memória do projeto | O 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ão | A verificação ativa de limites depende da descrição da tarefa e dos hábitos atuais de execução | As 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ência | Usa 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 ferramentas | Usa skills, MCP e recursos paralelos atualmente oferecidos pelo Codex | Instala 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:
$init-deep: gerar AGENTS.md hierárquicos$ulw-plan: transformar requisitos em um plano completo em decisões e pendente de aprovação$start-work: executar o plano e salvar o progresso persistente$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:
- percorre o repositório e lê os arquivos que determinam como o projeto realmente funciona
- gera AGENTS.md hierárquicos na raiz e em subdiretórios complexos
- coloca orientações locais o mais perto possível do código correspondente
- 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:
- esclarece requisitos em uma conversa, sem transformar uma descrição vaga diretamente em especificação de implementação
- explora a base de código e distribui buscas independentes entre subagents paralelos
- analisa a diferença entre o estado atual e o objetivo
- grava o plano em
plans/<slug>.md, incluindo referências, critérios de aceite, estratégia de QA e limites dos commits - define
status: awaiting-approvale 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:
- Estado Boulder persistente:
.omo/boulder.jsonmantém o progresso entre turnos e sessões - Stop hook: se o plano não estiver concluído, reinjeta a próxima rodada de trabalho
- Subagents paralelos: subtarefas independentes podem ser distribuídas; o paralelismo específico depende da superfície atual do Codex
- TDD rigoroso e cinco portas de evidência: releitura do plano, validação automática, QA manual, QA adversarial e limpeza
- 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:
resetredefine o contexto do loop a cada iteração;continuepreserva 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ça | Pontos que costumam ser esquecidos |
|---|---|
| Fluxo principal alterado | Ramificações de erro, como falha de rede, validação de parâmetros ou permissão insuficiente |
| Nova interface | Chamadores e dublês de teste que ainda usam a assinatura anterior |
| Módulo refatorado | Testes, configuração, documentação e artefatos gerados |
| Recurso removido | Pontos 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
| Agent | Responsabilidade | Limite do LazyCodex Light |
|---|---|---|
| Sisyphus | Orquestra execução e verificação | A configuração do papel pode estar visível, mas o Light não oferece toda a orquestração de agents do OmO Ultimate |
| Hephaestus | Executa tarefas e modifica arquivos | Tarefas independentes usam os recursos de subagent disponíveis no Codex atual |
| Oracle | Determina 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 |
| Librarian | Registra e recupera contexto | A 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 componente | Uso |
|---|---|
| review-work | Revisar a implementação por vários canais |
| remove-ai-slops | Remover marcas estereotipadas de IA sem alterar o comportamento |
| frontend | Restrições de design frontend e implementação da UI |
| LSP | Diagnósticos, definições, referências e operações em nível de símbolo |
| AST-grep | Buscar e reescrever código com base na estrutura sintática |
| rules / comment-checker | Carregar regras do projeto e verificar a qualidade dos comentários |
| git-bash | Oferecer 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:
- uma lista de planejamento com decisões, etapas, critérios de aceite e pontos abertos
- 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ão | O LazyCodex é adequado | Usar apenas o Codex é mais simples |
|---|---|---|
| Tamanho do repositório | Repositório grande, muitas regras de diretório e mudanças frequentes entre arquivos | Repositório pequeno ou projeto de um arquivo |
| Complexidade da tarefa | Tarefa longa que exige planejamento, execução e verificação | Pequena alteração pontual ou script simples |
| Problema de contexto | Novas sessões precisam reexplorar diretórios e regras com frequência | Uma 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 manual | As condições de conclusão são simples e baratas de verificar |
| Necessidade de processo | O 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ônomas | Plugins 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
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
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
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
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
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?
Como instalar e verificar o LazyCodex?
Quando usar $init-deep, $ulw-plan, $start-work e $ulw-loop?
Para que servem os AGENTS.md gerados por $init-deep?
Para quais projetos o LazyCodex é indicado?
16 min de leitura · Publicado em: 28 jul 2026 · Atualizado em: 30 jul 2026
Caixa de ferramentas de AI Agents
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
Continuum: o que verificar ao escolher um agent runtime compatível com OpenAI
Use o ShyftLabs Continuum como guia para escolher um agent runtime: orquestração, roteamento de modelos, memória, ferramentas MCP, execução durável, observabilidade e governança de deploy.
Parte 1 de 5
Próximo
guizang-social-card-skill: gere cards sociais com Claude Code
Guia pr?tico para usar guizang-social-card-skill no Claude Code ou Codex: instala??o, tamanhos de canvas, renderiza??o, valida??o, licen?as de assets e riscos da AGPL-3.0.
Parte 3 de 5



Comentários
Entre com GitHub para comentar