Codex: Primeiros Passos com o Codex

Última atualização: 2026-08-31

Agora que o Codex está instalado, vamos começar a usá-lo de verdade. Esta lição guia você pela sua primeira submissão de tarefa e o fluxo básico de operação.

📋 Pré-requisitos: Codex instalado e logado (veja lição anterior)

1. O Que Você Vai Aprender


2. Primeira Execução

(1) Prepare um Projeto

BASH
# Crie um projeto de teste
mkdir my-first-codex && cd my-first-codex

# Inicialize um projeto Python simples
echo 'def greet(name):\n    return f"Hello, {name}!"' > app.py

(2) Inicie o Codex

BASH
codex

Na primeira execução, você verá uma tela de boas-vindas. Selecione Yes, continue para prosseguir.

(3) Submeta Sua Primeira Tarefa

Digite o seguinte na caixa de entrada:

TEXT 📖 Somente leitura
Add unit tests to app.py using the pytest framework

Processo de execução do Codex:

TEXT 📖 Somente leitura
1. Lendo app.py...
2. Criando test_app.py com casos de teste pytest
3. Executando: pytest test_app.py
4. Todos os testes passaram ✓

▶ Exemplo 1: Primeiro Uso de Bob

Bob é um desenvolvedor backend experimentando o Codex pela primeira vez:

BASH
cd bob-flask-api
codex

# Bob digita:
# "Add input validation to all API endpoints using marshmallow"

# Saída do Codex:
# → Escaneando 15 arquivos de endpoint de API...
# → Instalando marshmallow...
# → Criando diretório schemas/...
# → Adicionando validação a 15 endpoints...
# → Executando testes: 34/34 passaram ✓

3. Fluxo Básico de Operação

(1) Fluxo Completo

100%
graph TB
    A[Entrar no diretório do projeto] --> B[Iniciar codex]
    B --> C[Digitar descrição da tarefa]
    C --> D[Codex analisa e entende]
    D --> E[Executar operações]
    E --> F[Ver resultados]
    F --> G{Satisfeito?}
    G -->|Não| H[Acrescentar instruções]
    H --> D
    G -->|Sim| I[Encerrar sessão]

(2) Formato de Submissão de Tarefas

TEXT 📖 Somente leitura
# Boas descrições de tarefa
codex "Fix the login bug in user.py, ensure tests pass"
codex "Refactor utils.js to TypeScript, keep functionality consistent"
codex "Add pagination to orders API, 20 items per page"

# Más descrições de tarefa
codex "Help me write code"
codex "Fix bug"
codex "Optimize something"

(3) Princípios de Prompt Eficaz

Princípio Descrição Exemplo
Objetivo claro Dizer exatamente o que fazer "Add JWT authentication" não "change auth"
Fornecer contexto Referenciar arquivos relevantes "Follow the style in auth.py"
Incluir verificação Especificar como verificar resultados "Ensure all tests pass"
Passo a passo Dividir tarefas complexas em etapas "Step 1: Create model; notify me when done"

4. Operações Interativas

(1) Operações Comuns

Operação Descrição
Digitar texto Submeter nova tarefa ou acrescentar instruções
Y / N Confirmar ou rejeitar operações do Codex
Ctrl+C Interromper operação atual
/help Ver informações de ajuda
/clear Limpar histórico de conversa
/new Iniciar nova sessão

(2) Acrescentar Instruções

Após o Codex completar uma tarefa, você pode continuar acrescentando:

TEXT 📖 Somente leitura
# Primeira tarefa
> Add logging to app.py

# Acrescentar
> Change log level to DEBUG

# Continuar acrescentando
> Output logs to file instead of console

▶ Exemplo 2: Desenvolvimento Iterativo de Alice

TEXT 📖 Somente leitura
# Alice gradualmente refina funcionalidades
> Create a FastAPI project skeleton
  ✓ Created main.py, routers/, models/

> Add user registration API
  ✓ Created /api/register endpoint

> Add email verification to registration API
  ✓ Added email verification flow

> Write integration tests
  ✓ Created test_register.py, 5 tests passed

5. Visualização e Revisão de Resultados

(1) Revisar Mudanças de Código

Após o Codex modificar arquivos, ele exibe uma visão diff:

DIFF
- def greet(name):
-     return f"Hello, {name}!"
+ def greet(name: str) -> str:
+     """Greet a person by name."""
+     if not name:
+         raise ValueError("Name cannot be empty")
+     return f"Hello, {name}!"

(2) Verificar Resultados de Testes

BASH
# O Codex auto-executa testes e exibe resultados
Running pytest test_app.py...
✓ test_greet_normal - PASSED
✓ test_greet_empty - PASSED
✓ test_greet_type_hint - PASSED

3 passed, 0 failed

(3) Confirmar ou Reverter


6. Operações Multi-Arquivo

▶ Exemplo 3: Refatoração em Nível de Projeto

TEXT 📖 Somente leitura
> Migrate Express project to Fastify, replace all route definitions, ensure tests pass

# Processo de execução do Codex:
# → Escaneando 45 arquivos por padrões Express
# → Convertendo definições de rotas (32 rotas)
# → Atualizando middleware (8 arquivos)
# → Executando suíte de testes: 89/89 passaram ✓
# → Atualizando package.json
# → Execução final de testes: 89/89 passaram ✓

7. Dicas Práticas

Dica Descrição
Inicializar projeto com git init Facilita reverter mudanças do Codex
Executar testes antes de submeter tarefas Garantir uma baseline funcional
Submissões incrementais pequenas Uma tarefa por vez
Revisar cada mudança Não aceite modificações cegamente
Usar instruções acrescentadas efetivamente Iteração é mais confiável do que acertar de primeira

❓ Perguntas Frequentes

P: E se o Codex modificar o arquivo errado? R: Use git checkout -- <file> para reverter um arquivo específico, ou git checkout -- . para desfazer todas as mudanças. Por isso recomendamos inicializar projetos com git init primeiro.

P: E se uma tarefa demorar muito? R: Pressione Ctrl+C para interromper, depois ressubmeta com instruções mais específicas, ou divida a tarefa em etapas menores.

P: E se o Codex entender mal minha intenção? R: Acrescente diretamente uma instrução esclarecedora, ex. "I meant X, not Y" — o Codex corrigirá com base no contexto atualizado.

P: Posso me comunicar com o Codex em português? R: Sim, o Codex suporta múltiplas linguagens. No entanto, inglês geralmente produz melhores resultados; para tarefas complexas, descrições em inglês são recomendadas.

P: Preciso explicar o projeto do zero toda vez? R: Não. O Codex lê automaticamente arquivos do projeto como contexto. O histórico de conversa dentro da mesma sessão também é preservado.


📖 Resumo


📝 Exercícios

  1. Básico (⭐): Crie um projeto simples e use o Codex para adicionar testes unitários.
  2. Intermediário (⭐⭐): Complete uma funcionalidade iterativamente: criar esqueleto → adicionar funcionalidade → refinar tratamento de erros.
  3. Avançado (⭐⭐⭐): Propositadamente dê ao Codex uma instrução vaga, observe como ele a interpreta, depois use instruções acrescentadas para corrigir o resultado — documente todo o processo.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%