Tutorial · OpenAI Codex

Cómo usar Codex: guía práctica para programar con el agente de OpenAI

Aprende cómo usar OpenAI Codex correctamente en un proyecto real: abrir un repositorio, darle contexto, investigar el código, planificar cambios, implementar funcionalidades, corregir bugs, ejecutar tests, revisar el diff, utilizar /review y preparar cambios para Git sin perder el control del proyecto.

Explorar Planificar Programar Verificar
Respuesta rápida

¿Cómo se usa Codex para programar?

La forma más efectiva de usar Codex es abrirlo dentro del repositorio correcto, darle un objetivo concreto, permitir que investigue primero el código, pedir un plan cuando el cambio sea complejo, implementar solamente después de entender la arquitectura y terminar siempre con tests, revisión del diff y una revisión independiente mediante /review cuando el cambio sea importante.

Método recomendado

El workflow de Codex en seis pasos

01

Contexto

Abre el proyecto correcto y carga sus instrucciones.

02

Explorar

Pide que entienda el flujo antes de editar.

03

Planificar

Define archivos, riesgos y pruebas.

04

Implementar

Modifica solamente lo necesario.

05

Verificar

Tests, lint, build y comportamiento.

06

Revisar

Diff, /review, Git y entrega.

Publicidad
Regla práctica

No empieces pidiendo código cuando primero necesitas entender el problema

EXPLORE

¿Cómo funciona?

Arquitectura, dependencias, archivos y flujo actual.

PLAN

¿Qué cambiaremos?

Alcance, riesgos, tests y estrategia.

CODE

Implementa

Solución mínima siguiendo patrones existentes.

VERIFY

Demuestra

Pruebas, diff y evidencia del resultado.

Publicidad
Paso 1

Abre Codex dentro del proyecto correcto

cd mi-proyecto

codex
El directorio importa.

Codex CLI considera el directorio desde el que se inicia como el proyecto del chat.

También puedes establecerlo explícitamente:

codex --cd /ruta/mi-proyecto
Antes de empezar

Comprueba el estado de Git

git status
Trabaja desde un estado conocido.

Si ya existen cambios sin commit, Codex puede encontrarlos en el mismo diff que sus propias modificaciones.

Paso 2

Haz que Codex entienda el proyecto antes de programar

Analiza este proyecto antes de modificar nada.

Quiero entender:

- propósito
- arquitectura
- punto de entrada
- módulos principales
- dependencias
- almacenamiento de datos
- autenticación
- APIs
- tests
- build
- configuración

Después crea
un mapa del proyecto
y explícame
cómo fluye una petición típica.

No hagas cambios todavía.
Exploración

Pide rutas, funciones y evidencia concreta

Encuentra cómo funciona el sistema de login.

Indica:

1. archivos involucrados
2. funciones principales
3. dónde se validan credenciales
4. dónde se crea la sesión
5. cómo se manejan errores
6. qué tests cubren este flujo

Incluye rutas de archivos
y nombres de funciones.

No modifiques nada.
Evita respuestas abstractas.

Pedir archivos y símbolos concretos obliga a relacionar la explicación con el repositorio real.

Publicidad
Contexto persistente

Usa AGENTS.md para reglas que se repiten

AGENTS.md

Si siempre tienes que decirle a Codex qué stack utilizas, cómo ejecutar tests o qué convenciones debe respetar, esa información debería vivir en AGENTS.md.

# AGENTS.md

## Stack

PHP 8.2
MySQL
JavaScript

## Reglas

- Usa PDO.
- Usa prepared statements.
- Mantén compatibilidad con PHP 8.2+.
- No añadas dependencias sin necesidad.
- No modifiques APIs públicas sin aprobación.

## Verificación

composer test
vendor/bin/phpcs
Codex lee estas instrucciones antes de comenzar las tareas.

También pueden existir distintos AGENTS.md según la carpeta del repositorio.

Prompt

Escribe la tarea como si fuera un buen GitHub Issue

OBJETIVO

Añadir recuperación de contraseña.


COMPORTAMIENTO ACTUAL

El usuario puede iniciar sesión,
pero no existe flujo de recuperación.


COMPORTAMIENTO ESPERADO

El usuario debe poder:

1. solicitar recuperación
2. recibir un token
3. abrir una URL de reset
4. establecer nueva contraseña


RESTRICCIONES

- reutiliza el sistema de email existente
- no cambies el login actual
- no añadas nuevas dependencias
- los tokens deben caducar


ACEPTACIÓN

- usuario válido recibe email
- email inexistente no revela si la cuenta existe
- token expirado no funciona
- contraseña cambia correctamente
- tests pasan
Cuanto más observable sea el resultado, mejor.

“Hazlo mejor” deja demasiado espacio de interpretación. Un criterio de aceptación concreto permite a Codex verificar su propio trabajo.

Alcance

Divide proyectos grandes en tareas razonables

Scope

En vez de pedir “reescribe toda la plataforma”, divide el trabajo en resultados independientes que puedan entenderse, implementarse y verificarse.

Demasiado amplio

Rehaz el ecommerce

Objetivo demasiado ambiguo y difícil de verificar.

Mejor

Añade cupones al checkout

Scope concreto, verificable y aislable.

Paso 3

Pide un plan antes de cambios complejos

Investiga cómo implementar esta feature.

Antes de escribir código:

1. encuentra los archivos relacionados
2. identifica patrones existentes
3. determina qué datos deben cambiar
4. identifica efectos secundarios
5. revisa seguridad
6. identifica tests existentes
7. define tests nuevos necesarios

Después crea un plan.

Para cada paso indica:

- archivo
- cambio
- motivo
- riesgo
- forma de verificarlo

No implementes todavía.
Decisión

Cuándo planificar y cuándo ir directamente al cambio

Cambio de una línea La solución es evidente
Directo
Varios archivos Hay dependencias entre módulos
Plan
Bug desconocido No sabemos la causa raíz
Investigar
Migración Cientos de cambios posibles
Plan
CSS simple Selector y resultado conocidos
Directo
Paso 4

Cuando el plan esté claro, pide la implementación

Implementa el plan.

Restricciones:

- sigue la arquitectura existente
- reutiliza patrones actuales
- no hagas refactors no relacionados
- no cambies APIs públicas
- no añadas dependencias salvo necesidad real

Después:

1. ejecuta los tests relevantes
2. ejecuta lint y typecheck si existen
3. corrige errores introducidos por el cambio
4. revisa git diff
5. confirma que no modificaste nada fuera del alcance.
Permisos

No des más acceso del necesario

Recomendado

Para desarrollo normal, mantén Codex dentro del workspace y permite que solicite autorización cuando necesite acceso adicional.

/permissions
Dos controles distintos

El sandbox controla a qué recursos puede acceder un comando. Las aprobaciones determinan cuándo Codex debe detenerse y pedirte permiso.

Internet

Activa la red solamente cuando la tarea la necesite

YES

Instalar una dependencia.

YES

Consultar documentación actual.

YES

Probar una API externa.

NO

Refactorizar código completamente local.

La búsqueda web es independiente.

Puedes utilizar las capacidades de búsqueda sin necesariamente dar acceso de red general a todos los comandos.

Publicidad
Paso 5

No termines en “el código parece correcto”

Evidencia

Una tarea debería terminar con una forma reproducible de comprobar que funciona.

Cambio Verificación
Backend Tests automatizados
TypeScript Typecheck + tests
Frontend Build + navegador
API Requests reales
PHP Lint + tests
Bug Test de regresión
Prompt

Pide evidencia de que la implementación funciona

Verifica la implementación.

Ejecuta:

- tests relevantes
- lint
- typecheck
- build

si existen en este proyecto.

Después revisa git diff.

No me digas solamente
que funciona.

Entrégame:

- comandos ejecutados
- resultados
- archivos modificados
- tests añadidos
- cualquier limitación pendiente.
Debugging

Cómo usar Codex para corregir un bug

Tenemos este bug:

[ERROR]

Pasos para reproducir:

[PASOS]

Quiero que:

1. reproduzcas el problema
2. identifiques la causa raíz
3. traces el flujo relacionado
4. escribas un test que falle
5. implementes la corrección mínima
6. ejecutes el test
7. ejecutes tests relacionados
8. revises el diff

No ocultes el error
ni elimines validaciones
para que el test pase.
Investigación

Si no conoces la causa, prohíbe temporalmente las ediciones

Investiga este bug,
pero NO modifiques archivos todavía.

Síntoma:

[PROBLEMA]

Determina:

- dónde comienza
- causa raíz
- funciones involucradas
- si existe regresión
- qué cambios recientes podrían relacionarse
- otros módulos afectados

Propón después
la corrección mínima.
Refactoring

Cómo pedir un refactor sin cambiar comportamiento

Refactoriza este módulo.

Objetivo:

[OBJETIVO]

Restricciones:

- no cambies comportamiento externo
- conserva APIs públicas
- evita dependencias nuevas
- mantén compatibilidad

Antes de editar:

1. identifica tests relevantes
2. ejecútalos
3. confirma el comportamiento actual

Después del refactor:

4. ejecuta los mismos tests
5. ejecuta lint/typecheck
6. revisa git diff.
Frontend

Usa imágenes cuando el resultado sea visual

codex --image referencia.png
Usa esta imagen
como referencia visual.

Primero identifica
qué componentes existentes
podemos reutilizar.

Implementa la interfaz
sin introducir
un sistema de estilos nuevo.

Después ejecuta el proyecto
y compara visualmente
el resultado.
Información actual

Usa Web Search cuando el conocimiento pueda haber cambiado

codex --search
DOC

Documentación actual.

API

APIs que cambian rápido.

LIB

Versiones de librerías.

ERR

Errores de herramientas recientes.

Paso 6

Usa /review antes de integrar cambios importantes

/review
01

Revisar cambios sin commit.

02

Comparar con una rama base.

03

Revisar un commit concreto.

04

Definir criterios personalizados.

El revisor no modifica el working tree durante la revisión.

Devuelve hallazgos priorizados para que puedas decidir cuáles corregir antes de hacer commit.

Review prompt

También puedes orientar la revisión

Revisa el diff actual.

Prioriza únicamente:

- bugs
- regresiones
- seguridad
- concurrencia
- pérdida de datos
- incompatibilidades
- requisitos incumplidos

Para cada hallazgo:

- severidad
- archivo
- línea
- impacto
- corrección sugerida

No reportes preferencias
de estilo sin impacto real.
Publicidad
Git

Revisa git diff antes de cerrar la tarea

git status

git diff
El diff incluye más que los cambios de Codex.

Si tú ya tenías modificaciones sin commit, también aparecerán. No atribuyas automáticamente todo el diff al agente.

Limpieza

Pide una última revisión de cambios accidentales

Antes de terminar,
revisa todos los cambios actuales.

Busca:

- console.log
- var_dump
- print_r
- debugging temporal
- TODO accidentales
- archivos generados
- cambios de formato no relacionados
- secretos
- credenciales
- dependencias añadidas accidentalmente

No cambies nada
que no esté claramente relacionado
con esta tarea.
Entrega

Haz commit solamente después de verificar

Revisa nuevamente:

- git status
- git diff
- tests
- lint
- build

Si todo está correcto:

1. prepara únicamente los archivos relacionados
2. crea un commit descriptivo

Al terminar,
muéstrame:

- commit creado
- archivos incluidos
- tests ejecutados.
Continuar

Retoma un chat cuando el objetivo siga siendo el mismo

codex resume

Dentro de Codex CLI también puedes usar:

/resume
La sesión conserva su conversación.

Sin embargo, Codex vuelve a leer el árbol de trabajo actual, que puede haber cambiado desde la sesión original.

Nuevo objetivo

Usa /new cuando la tarea ya no tenga relación

/new
Mismo chat

Mismo objetivo

Continúa debugging, implementación o revisión relacionada.

/new

Objetivo nuevo

Inicia otro chat para una tarea independiente.

Trabajo paralelo

No metas cinco objetivos independientes en el mismo chat

Un resultado específico por chat.

Esta separación mantiene el contexto más enfocado y facilita revisar exactamente qué produjo cada tarea.

A

Corregir login.

B

Migrar base de datos.

C

Refactorizar emails.

D

Crear dashboard.

Para tareas paralelas, utiliza chats separados y, cuando corresponda, worktrees.

Worktrees

Aísla trabajos simultáneos

Git worktree

Los worktrees permiten que distintas tareas de Codex trabajen sobre el mismo repositorio sin compartir exactamente el mismo checkout.

Ejemplo

Un agente puede trabajar en autenticación mientras otro implementa una nueva API, sin mezclar los cambios.

Automatización

Cuando el workflow ya es repetible, usa codex exec

codex exec "Revisa los cambios actuales y resume riesgos"

También puedes encadenar herramientas:

npm test 2>&1 \
  | codex exec "Resume los tests fallidos y propone la corrección mínima"
codex exec usa permisos conservadores por defecto.

Si el trabajo necesita escribir archivos, debes conceder el sandbox apropiado explícitamente.

WordPress

Ejemplo de workflow con un plugin WordPress

Analiza este plugin WordPress.

Primero identifica:

- archivo principal
- clases
- actions
- filters
- shortcodes
- AJAX
- REST API
- cron
- tablas
- WooCommerce
- permisos
- nonces

Después investiga este problema:

[PROBLEMA]

No modifiques nada
hasta entender
la causa raíz.

Cuando la encuentres:

1. crea un plan
2. implementa la corrección mínima
3. ejecuta php -l
4. ejecuta tests configurados
5. revisa seguridad
6. revisa git diff.
Publicidad
Errores frecuentes

Por qué Codex puede dar malos resultados

01

Tarea demasiado amplia.

02

Objetivo ambiguo.

03

Falta contexto.

04

No hay criterios de aceptación.

05

No existen tests ejecutables.

06

Entorno mal configurado.

07

Se mezclan varias tareas en el mismo chat.

08

Se acepta el resultado sin revisar.

Entorno

Si Codex falla repetidamente, quizá el problema no sea el prompt

Developer environment

Codex necesita un entorno donde pueda instalar dependencias, ejecutar tests y reproducir el comportamiento del proyecto.

ENV

Variables necesarias.

DEP

Dependencias instaladas.

DB

Base de datos de desarrollo.

TEST

Tests ejecutables.

Mejorar el entorno mejora todas las tareas futuras.

Si Codex siempre tropieza con el mismo problema de configuración, corrígelo en el entorno en vez de explicarlo manualmente en cada sesión.

Plantilla

Prompt maestro para trabajar con Codex

OBJETIVO

Quiero:

[RESULTADO]


CONTEXTO

Área del proyecto:

[RUTAS / MÓDULOS]


ANTES DE MODIFICAR

1. investiga cómo funciona actualmente
2. identifica archivos relacionados
3. encuentra patrones existentes
4. detecta riesgos
5. identifica tests relevantes


PLAN

Si el cambio afecta varios archivos,
crea primero un plan.

Para cada paso indica:

- archivo
- cambio
- motivo
- verificación


RESTRICCIONES

- no cambies comportamiento no relacionado
- evita dependencias nuevas
- conserva APIs públicas
- sigue las convenciones existentes


IMPLEMENTACIÓN

Implementa solamente
cuando entiendas el flujo actual.


VERIFICACIÓN

Después:

- ejecuta tests
- ejecuta lint/typecheck/build si existen
- revisa git diff
- comprueba edge cases


REVISIÓN

Busca:

- bugs
- regresiones
- seguridad
- cambios accidentales


ENTREGA

Resume:

- archivos modificados
- comandos ejecutados
- tests realizados
- resultados
- riesgos pendientes.
Resumen

Workflow completo recomendado

1

Abre el proyecto

Inicia Codex desde el directorio correcto.

2

Comprueba Git

Empieza desde un estado conocido.

3

Explora

Comprende el sistema antes de editar.

4

Planifica

Para cambios complejos o multiarchivo.

5

Implementa

Solución mínima y coherente.

6

Prueba

Tests, lint, build y ejecución.

7

/review

Revisión independiente del diff.

8

Git

Commit solamente después de verificar.

Fuentes oficiales

Documentación recomendada

OpenAI

Cómo OpenAI usa Codex

Casos de uso y buenas prácticas de equipos internos.

Ver guía →
Publicidad
Publicidad
Preguntas frecuentes

FAQ sobre cómo usar Codex

Abre Codex dentro del directorio del proyecto que quieres trabajar. Después describe una tarea concreta o pide primero que analice la arquitectura del repositorio.

Para cambios complejos, bugs desconocidos o repositorios que no conoces, suele ser conveniente pedir primero que Codex investigue el flujo actual y localice los archivos relevantes.

Define el objetivo, describe el comportamiento actual y esperado, añade restricciones y termina con criterios de aceptación que Codex pueda comprobar.

Cuando una tarea afecta varios archivos, tiene riesgos importantes, implica una migración o todavía no está clara la solución. Los cambios simples pueden implementarse directamente.

AGENTS.md permite guardar instrucciones persistentes para Codex, como arquitectura, comandos de test, convenciones y reglas específicas del repositorio.

Define verificaciones ejecutables: tests, lint, typecheck, build, requests reales o comprobaciones visuales. Pide además los comandos ejecutados y sus resultados.

/review inicia una revisión especializada del código. Puede analizar cambios sin commit, un commit o diferencias respecto de una rama base y reporta hallazgos priorizados.

Es recomendable iniciar chats distintos para resultados independientes. Mantén el mismo chat cuando las tareas formen parte del mismo objetivo.

Desde terminal puedes ejecutar codex resume. Dentro de Codex CLI también puedes utilizar /resume para volver a una conversación guardada.

Sí. Puedes adjuntar screenshots, diagramas y referencias visuales para debugging o desarrollo de interfaces.

Sí. Puedes separar tareas en chats y worktrees diferentes para evitar que agentes paralelos modifiquen el mismo checkout.

codex exec es el modo no interactivo de Codex. Permite ejecutar tareas desde scripts, terminal, pipes y pipelines CI/CD.

Publicidad
Siguiente guía

Cómo instalar Codex CLI

Ya sabes cómo trabajar con Codex. Ahora veremos todas las formas de instalarlo correctamente en Windows, macOS y Linux, además de npm, Homebrew, WSL2, actualización y solución de errores comunes.

Instalar Codex CLI →
Carrito de compra
Scroll al inicio