Alternar tema

Guia prático de Codex Cloud: delegar uma tarefa do GitHub a um agente em nuvem e revisar o resultado

"A documentação OpenAI Codex Cloud environments foi usada para verificar ciclo de vida de Cloud tasks, setup scripts, env vars, secrets, cache, diffs e fluxo de PR."

Um GitHub issue diz: “O teste de webhook está falhando no CI, mas agora não consigo rodar o ambiente completo localmente.” Você quer que o Codex Cloud corrija isso no repositório remoto e, no fim, entregue apenas o diff, o log de testes e o PR para revisão.

A questão não é que “nuvem” seja mais automática. A questão é que uma Cloud task roda em um ambiente de repositório limpo e reproduzível, separado do seu notebook. Ela não lê seus arquivos locais sem commit, sua sessão de navegador nem seu .env local; esse limite é restrição e proteção ao mesmo tempo.

O fluxo é este: decidir se a tarefa deve ir para Cloud, configurar o environment, escrever o prompt, revisar o resultado e então escolher entre abrir um PR, trazer o diff para local ou usar @codex review como segunda checagem.

Primeiro decida: essa demanda vai para Cloud ou fica local?

Os limites entre Local, Worktree, Cloud e SSH host

As entradas do Codex resolvem problemas diferentes. Elas não são só versões mais fortes ou mais fracas da mesma coisa.

CenárioEntrada indicadaMotivoPrincipal artefato de validação
Pequeno ajuste local, depende de arquivos sem commit ou localhostCLI / IDE / LocalAcessa workspace local, navegador e serviços locaisDiff local, saída de testes
Duas ou três abordagens independentes em paraleloCodex app WorktreeIsola estado Git e diretórios de dependênciasworktree diff, review queue
GitHub issue, CI failure, atualização de documentação, tarefa reproduzível do repositórioCodex CloudRemote checkout, pode rodar longe da sua máquinaCloud summary, diff, PR
Segunda revisão de um PRGitHub @codex reviewPublica review padrão baseada no PR diffGitHub review comments
Projeto em devbox ou máquina internaRemote connection / SSH hostUsa arquivos, shell, credenciais e ferramentas do remote hostremote diff, terminal output

Cloud não é um “Worktree mais forte”. Worktree ainda roda na sua máquina; ele só separa o diretório Git. Cloud é um configured cloud environment que faz checkout do repositório GitHub e executa a tarefa dentro de um contêiner remoto.

Uma boa tarefa para Cloud costuma ter quatro características: alvo claro, estado de repositório reproduzível, ambiente que pode ser preparado por script e um Done when validável por comando ou diff. Corrigir um CI failure, complementar documentação, tratar follow-up de PR review ou adicionar testes a um módulo específico se encaixa bem.

Tarefas que você não deveria entregar para Cloud

Algumas tarefas podem se beneficiar de um assistente de IA, mas não deveriam sair do ambiente local.

  • Dependem de arquivos locais sem commit: Cloud só vê o estado checkout do repositório remoto.
  • Dependem de sessão de navegador ou dev server local: o contêiner Cloud não acessa automaticamente Chrome, localhost ou apps de desktop.
  • Exigem secrets de produção na agent phase: secrets não devem ficar expostos ao agent loop.
  • São refactorings grandes e vagos: sem comando de validação, Cloud só empurra a incerteza para mais longe.
  • Exigem julgamento de produto ou acordo do time: Codex pode ajudar a analisar, mas não deveria reescrever toda a direção.

Meu padrão é começar com uma Cloud task pequena. Se você não consegue escrever “rode este comando para saber que terminou”, a tarefa ainda não está pronta para Cloud.

Antes da Cloud task, faça o environment reproduzir o repositório

O ciclo de vida de uma Cloud task

Uma Cloud task geralmente roda nesta ordem:

  1. Criar um container remoto.
  2. Fazer checkout do branch ou commit SHA escolhido.
  3. Executar o setup script; se um cached container for restaurado, executar opcionalmente o maintenance script.
  4. Aplicar a política de rede.
  5. Deixar o agente ler arquivos, alterar código, rodar verificações e tentar validar em uma terminal command loop.
  6. Devolver answer, summary e diff; depois você pode fazer follow-up ou criar um PR.

Muitas falhas em Cloud não acontecem porque o agente não sabe escrever código. O environment simplesmente não reproduz o repositório: dependências não instalam, falta banco de testes, lockfile e runtime não batem, ou o setup script assume um arquivo que só existe no seu notebook.

setup script, maintenance script e cache

O setup script deve levar o contêiner de “checkout recém-feito” para “pronto para rodar o comando de validação”. Um exemplo mínimo pode ser curto:

pnpm install
pnpm run typecheck
pnpm test -- --runInBand

Isso não é um template universal. É um lembrete: o Cloud environment precisa saber como instalar dependências, preparar o ambiente de teste e rodar pelo menos uma verificação capaz de expor o problema.

O setup costuma incluir:

  • Instalar dependências, linter, formatter, typechecker e test tools.
  • Inicializar banco de testes ou gerar substitutos seguros para configuração local.
  • Preparar autenticação pontual para instalar pacotes privados.
  • Colocar valores não sensíveis persistentes em environment settings, em vez de depender de um export temporário dentro do script.

O cache reduz o tempo de reinstalar dependências, mas também adiciona uma camada ao diagnóstico. Mudanças em setup script, maintenance script, env vars ou secrets invalidam o cache e disparam uma execução nova. Se dependências passam a se comportar de outro jeito, resetar o cache também é um passo razoável.

Secrets, variáveis de ambiente e rede: três lugares fáceis de entender errado

O ciclo de vida de secrets e environment variables

A principal diferença entre secrets e environment variables não é o nome. É quando eles ficam visíveis.

ConfiguraçãoQuando usarO que não colocar aliPergunta de validação
environment variableConfiguração runtime não sensívelTokens, chaves privadas, strings de conexão de produçãoO agente realmente precisa ler isso?
secretBuscar dependências ou instalar ferramentas durante setupValores que o agente precisa ler diretamenteFoi removido depois do setup?
setup internetInstalar dependências, buscar pacotes privadosExecução arbitrária de scripts não confiáveisO lockfile está estável?
agent internet accessA tarefa precisa acessar API pública ou documentaçãoInternet sem restriçãoA allowlist e os methods são mínimos?

Secrets combinam com a fase de setup, por exemplo para instalar dependências privadas ou buscar pacotes internos. Eles devem ser removidos antes da agent phase. Em outras palavras: não desenhe uma Cloud task que exige que o agente leia um token de produção enquanto altera código.

Environment variables duram a tarefa inteira. Elas combinam melhor com valores não sensíveis como NODE_ENV=test, uma API base URL pública ou um feature flag.

Ative agent internet access só quando a tarefa precisar

O setup script pode usar Internet para instalar dependências, mas a agent phase não tem rede por padrão. Esse padrão importa porque o risco muda quando o agente lê páginas ou APIs externas.

Se você precisar ativar agent internet access, faça isso de forma conservadora:

  1. Permita domínios específicos, não a Internet inteira.
  2. Limite HTTP methods quando possível, por exemplo a GET, HEAD e OPTIONS.
  3. Não deixe o agente ler, concatenar ou fazer upload de arquivos sensíveis.
  4. Escreva exatamente quais fatos precisam de verificação por rede, para o agente não sair explorando.

Riscos comuns incluem prompt injection, exfiltração de código ou secrets, download de dependências maliciosas e problemas de licença. Abrir unrestricted networking só para economizar um passo quase nunca compensa.

Escreva o prompt de Cloud como um issue

Um template de prompt que dá para executar

Um prompt de Cloud não deveria ser um desejo. Ele deve parecer um GitHub issue pequeno: objetivo, contexto, escopo, ambiente, validação e condições de parada.

Goal: Fix the failing webhook.test.ts test in GitHub Actions.
Context: The failure log is below; the relevant code is probably in src/webhooks/ and tests/webhooks/.
Scope: Only fix Stripe webhook signature verification. Do not change the payment public API or refactor the test framework.
Environment: The Cloud environment has pnpm dependencies installed. Please run pnpm test tests/webhooks/webhook.test.ts first.
Done when: The target test passes; list changed files, commands you ran, checks you did not run, and risks I need to confirm manually.
Stop if: You need to add a new secret, change the database schema, modify shared/http-client.ts, or cannot reproduce the failure.

O formato não é o ponto principal. O ponto é dar ao Codex limites que ele consiga seguir. Quanto mais a Cloud task parece um issue, maior a chance de receber um diff revisável.

Stop if funciona melhor do que “tenha cuidado”

“Tenha cuidado” é abstrato demais. O agente nem sempre sabe onde fica o limite. Stop if transforma o risco em condições concretas.

Você pode escrever:

  • Stop if you need to add a new secret.
  • Stop if you need to change the database schema.
  • Stop if you must touch the shared auth middleware.
  • Stop if the target test cannot be reproduced.
  • Stop if the task requires broad renaming or file migration.

Assim, quando a Cloud task chega a um ponto de risco, é mais provável que ela pare e explique a situação, em vez de ampliar o diff.

Quando a Cloud task terminar, revise summary, diff e log de comandos

Quando fazer follow-up e quando abrir um PR

Quando Cloud termina, não pare em “done”. Primeiro leia quatro coisas:

  1. Se o summary reformula corretamente o objetivo e as mudanças.
  2. Se o diff fica dentro do scope.
  3. Se o log de comandos inclui o test, lint ou typecheck que você pediu.
  4. Se verificações não executadas e riscos humanos estão claramente listados.

Se o diff toca arquivos fora do scope, pergunte primeiro:

The diff touches shared/http-client.ts, which was outside scope. Explain why it was necessary. If not necessary, revert that part and keep the webhook fix minimal.

Se o teste alvo não rodou, pergunte isso primeiro:

You did not run the target test. Run pnpm test tests/webhooks/webhook.test.ts and summarize the result before opening a PR.

Avance para PR só quando o escopo da mudança estiver claro, o comando de validação for confiável e os riscos restantes estiverem nomeados.

O que revisar ao trazer o resultado para local

Os dois caminhos servem:

  • Mudança pequena: Create PR e deixar GitHub review, CI e processo do time cuidarem.
  • Mudança de maior risco: check out locally e validar com ferramentas locais, Codex app review pane ou IDE.

Ao trazer o resultado para local, revise pelo menos isto:

  • Se git status está clean, ou se você está em um branch / worktree isolado.
  • Se o diff contém apenas o objetivo da Cloud task.
  • Se o test alvo, lint e typecheck também passam localmente.
  • Se .env*, secrets, CI config, lockfiles ou generated files mudaram.
  • Se essa lição deveria virar regra em AGENTS.md.

Um Cloud diff não é um botão de merge. É uma tentativa remota devolvida para você revisar.

@codex review no GitHub: segunda porta, não permissão de merge

Disparo manual e automatic reviews

Em um PR do GitHub com Codex Cloud e Code review configurados, um comentário pode iniciar a review:

@codex review

Você também pode focar a revisão:

@codex review for security regressions

Codex review lê o PR diff, segue a orientação do AGENTS.md mais próximo dos arquivos alterados e foca por padrão em problemas de alta prioridade. Times também podem ativar automatic reviews para rodar quando um PR é opened for review.

Mas automatic review não significa automatic merge. Ela pode ajudar a revelar problemas P0/P1 mais cedo, mas não substitui business owner, CI nem julgamento humano final.

O que Codex review faz bemO que pessoas ainda decidem
Encontrar regressões óbvias, verificações ausentes e mudanças arriscadas de permissãoSe o requisito está correto e se o trade-off é aceitável
Revisar o PR diff contra AGENTS.md review guidelinesDireção de arquitetura, sentido de produto, momento de release
Publicar comentários de alto sinal sobre problemas P0/P1Se o risco será aceito e se haverá merge

Se a review encontrar um problema, você pode pedir ao Codex para corrigir a partir do PR context, por exemplo com @codex fix the P1 issue. Isso inicia um fluxo de Cloud task, e o diff resultante ainda precisa de revisão.

Se @codex não responder, depure em ordem

Não publique o mesmo comentário várias vezes no PR. Primeiro verifique:

  1. Se o repository tem Codex Cloud configurado.
  2. Se Code review está ativado para esse repository em Codex settings.
  3. Se o comentário contém exatamente @codex review.
  4. Se automatic review está ativado e o evento corresponde.
  5. Se GitHub app / repository permission permite ler PR diff, comentários e push branch.
  6. Se workspace/admin policy, GitHub Enterprise ou private repo access impõem restrições.
  7. Se usage limits foram atingidos, principalmente porque code review limits podem ser diferentes do uso normal de chat.

Se Cloud tasks, comentários de review e comentários @codex que não são review se comportam de formas diferentes, registre task, comentário, repository e horário antes de consultar suporte oficial ou workspace admin.

Remote devbox / SSH host não é Cloud

Quando usar uma remote connection

Há tarefas que não encaixam bem nem em Local nem em Cloud: o projeto já vive em uma devbox, máquina GPU, rede interna ou enterprise remote development host.

A separação é esta:

  • Codex Cloud: OpenAI managed / configured cloud environment, faz checkout de um repositório GitHub e serve para tarefas de repositório e fluxos de PR longe da sua máquina.
  • Remote connection / SSH host: o Codex app conecta ao seu remote host e usa files, credentials, permissions, plugins, browser setup e local tools daquela máquina.

Se a tarefa precisa de serviço interno, GPU, banco remoto ou ferramentas já configuradas em uma devbox, uma remote connection fica mais próxima do ambiente real. O limite de segurança também muda: permissions, credentials e tools disponíveis nesse host viram o limite que você dá ao Codex.

A configuração conservadora usa trusted SSH keys e least-privilege accounts, evita expor app-server transport à Internet pública e prefere VPN ou mesh networking para atravessar redes.

Uma SOP conservadora para Codex Cloud

Para uma primeira configuração de Codex Cloud, siga esta sequência:

  1. Escolha uma tarefa pequena com estado de repositório reproduzível, não um refactoring grande.
  2. Configure o Cloud environment do repository.
  3. Escreva um setup script para tornar repetíveis a instalação de dependências e a verificação alvo.
  4. Coloque apenas valores sensíveis de setup phase em secrets; coloque configuração não sensível em env vars.
  5. Mantenha agent internet access desligado por padrão; se precisar ativar, allowlist apenas domínios e methods necessários.
  6. Escreva o task prompt como um issue: Goal, Context, Scope, Environment, Done when, Stop if.
  7. Durante a execução, observe plan, commands e failures.
  8. No fim, leia summary, diff, test results e skipped checks.
  9. Crie um PR para mudança pequena; para mudanças mais arriscadas, primeiro check out locally.
  10. Use @codex review no PR como segunda checagem.
  11. Deixe pessoas, CI e processo do time decidirem se haverá merge.
  12. Transforme aprendizados repetidos de review em regras no AGENTS.md.

O que torna Cloud confiável não é mais automação. É ter um limite claro em cada etapa: o environment reproduz o repo, o prompt pode ser executado, o diff pode ser revisado e a trilha de review é verificável. É assim que você entrega um requisito concreto a um agente em nuvem, em vez de mandar a incerteza para mais longe.

Rodar a correção de um GitHub issue com Codex Cloud

Escolha uma tarefa pequena e reproduzível, configure o ambiente em nuvem, envie um prompt preciso, revise o diff e o log de testes, e use um PR com @codex review como segunda validação.

⏱️ Estimated time: 45 min

  1. 1

    Step 1: Escolha uma tarefa verificável

    Comece com um GitHub issue, CI failure, atualização de documentação ou bugfix pequeno. Não comece por um refactoring grande.
  2. 2

    Step 2: Configure o Cloud environment

    Prepare um setup script para o repositório, para que instalação de dependências, banco de testes ou substitutos seguros de configuração local possam ser reproduzidos no contêiner.
  3. 3

    Step 3: Separe env vars e secrets

    Coloque configuração não sensível em environment variables. Use secrets apenas para valores sensíveis necessários ao setup.
  4. 4

    Step 4: Mantenha mínima a rede do agente

    Deixe agent internet access desligado por padrão. Se a tarefa realmente precisar de rede externa, permita apenas os domínios e métodos necessários.
  5. 5

    Step 5: Escreva o prompt como um issue

    Inclua Goal, Context, Scope, Environment, Done when e Stop if para evitar que o agente amplie a tarefa por conta própria.
  6. 6

    Step 6: Revise summary, diff e log de comandos

    Confirme se o diff ficou dentro do scope, se o test ou lint alvo rodou e se verificações não executadas e riscos que exigem revisão humana foram listados.
  7. 7

    Step 7: Escolha PR ou retorno local

    Crie um PR para mudanças pequenas. Se tocar caminhos críticos, configuração ou lockfiles, valide primeiro com checkout local.
  8. 8

    Step 8: Use @codex review como segunda checagem

    Acione @codex review em um PR com Codex Cloud e Code review configurados, mas deixe a decisão de merge para pessoas e CI.

FAQ

Qual é a diferença entre Codex Cloud e Codex CLI?
Codex CLI roda no diretório local do seu projeto. Codex Cloud faz checkout do repositório e executa a tarefa em um ambiente remoto em nuvem já configurado. Cloud não lê seus arquivos locais sem commit, sua sessão de navegador nem seu .env local.
Quais tarefas combinam com Codex Cloud?
Uma boa tarefa para Cloud tem objetivo claro, estado de repositório reproduzível, ambiente preparado por script e um Done when concreto. CI failures, bugfixes pequenos, atualizações de documentação e PR follow-ups são bons exemplos.
A agent phase do Codex Cloud pode acessar a Internet?
Não por padrão. Setup scripts podem usar Internet para instalar dependências, mas a agent phase começa sem rede. Se você ativar, use domain allowlists e limites de métodos HTTP.
O agente pode ler secrets no Codex Cloud?
Secrets devem ser usados apenas por setup scripts e removidos antes da agent phase. Valores não sensíveis que o agente precisa durante toda a tarefa devem ficar em environment variables.
Como aciono @codex review?
Em um PR do GitHub com Codex Cloud e Code review configurados, comente @codex review. Codex lê o PR diff e publica uma revisão de código padrão no GitHub.
Codex review pode substituir revisão humana?
Não. Codex review é uma segunda checagem de alto sinal. O merge final ainda deve passar por julgamento humano, CI e processo da equipe.

13 min de leitura · Publicado em: 8 jul 2026 · Atualizado em: 9 jul 2026

Comentários

Entre com GitHub para comentar

Easton BlogEaston Blog