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
- Primeira execução do Codex
- Fluxo básico de submissão de tarefas
- Visualização e revisão de resultados
- Interações comuns
2. Primeira Execução
(1) Prepare um Projeto
# 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
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:
Add unit tests to app.py using the pytest framework
Processo de execução do Codex:
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:
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
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
# 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:
# 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
# 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:
- 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
# 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
- Confirmar: Aceitar as mudanças do Codex e prosseguir
- Reverter:
git checkout -- .para desfazer todas as mudanças não commitadas
6. Operações Multi-Arquivo
▶ Exemplo 3: Refatoração em Nível de Projeto
> 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, ougit 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+Cpara 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
- Fluxo básico: Entrar no projeto → Iniciar codex → Digitar tarefa → Revisar resultados
- Prompt eficaz: Objetivo claro + Fornecer contexto + Incluir verificação
- Usar instruções acrescentadas para desenvolvimento iterativo
- Gerenciar projetos com git para fácil reversão de mudanças incorretas
- Submissões incrementais pequenas e revisar cada mudança
📝 Exercícios
- Básico (⭐): Crie um projeto simples e use o Codex para adicionar testes unitários.
- Intermediário (⭐⭐): Complete uma funcionalidade iterativamente: criar esqueleto → adicionar funcionalidade → refinar tratamento de erros.
- 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.