Pasar al contenido principal
OpenAI

Introducción

Codex se utiliza a diario en numerosos equipos técnicos de OpenAI, como Seguridad, Ingeniería de Producto, Frontend, API, Infraestructura e Ingeniería de Rendimiento. Los equipos lo usan para acelerar una variedad de tareas de ingeniería, desde entender sistemas complejos y refactorizar grandes bases de código hasta lanzar nuevas funcionalidades y resolver incidentes con plazos ajustados.

A partir de entrevistas con ingenieros de OpenAI y datos internos de uso, recopilamos casos de uso y mejores prácticas que destacan cómo Codex ayuda a nuestros equipos a avanzar más rápido, mejorar la calidad del trabajo y gestionar la complejidad a escala.


Caso de uso 1: Comprensión del código

Codex ayuda a nuestros equipos a familiarizarse rápidamente con partes desconocidas de la base de código durante la incorporación, la depuración o la investigación de un incidente.

A menudo usan Codex para localizar la lógica central de una funcionalidad, mapear las relaciones entre servicios o módulos y rastrear el flujo de datos a través de un sistema. También ayuda a sacar a la luz patrones arquitectónicos o elementos faltantes en la documentación que, de otro modo, requerirían un esfuerzo manual considerable para generarse.

Durante la respuesta ante incidentes, Codex ayuda a los ingenieros a familiarizarse rápidamente con áreas nuevas al mostrar las interacciones entre componentes o rastrear cómo los estados de falla se propagan a través de los sistemas.

Anécdotas de nuestros equipos

“Cuando corrijo un error, uso el modo Preguntar para ver en qué otras partes del código podría aparecer el mismo problema”.
Ingeniero de rendimiento, sistemas de recuperación
Prueba Codex para entender el código con este prompt de ejemplo:
  • ¿Dónde está implementada la lógica de autenticación en este repositorio?

  • Explica brevemente cómo se procesan las solicitudes en este servicio, desde el punto de entrada hasta la respuesta.

  • ¿Qué módulos interactúan con [inserta el nombre del módulo] y cómo se manejan las fallas?

Caso de uso 2: Refactorización y migraciones

Codex se utiliza comúnmente para realizar cambios que abarcan múltiples archivos o paquetes. Por ejemplo, cuando los ingenieros actualizan una API, cambian la forma en que se implementa un patrón o migran a una nueva dependencia, Codex facilita la aplicación sistemática de cambios.

Esto es especialmente útil cuando se necesita realizar la misma actualización en decenas de archivos, o cuando la actualización requiere tener en cuenta la estructura y las dependencias que no se detectan fácilmente con una regex o con buscar y reemplazar.

También lo están usando para la limpieza del código: dividir módulos grandes, reemplazar patrones antiguos por modernos o preparar el código para que sea más fácil de probar.

Anécdotas de nuestros equipos

“Codex reemplazó cada getUserById( ) heredado por nuestro nuevo patrón de servicio y abrió la PR. Hizo en minutos lo que habría tomado horas”.
Ingeniero de backend, ChatGPT Web
Prueba usar Codex para refactorización y migraciones con estos ejemplos de prompt:
  • Divide este archivo en módulos separados por responsabilidad y genera pruebas para cada uno.

  • Convierte todo el acceso a la base de datos basado en callbacks a async/await.

Caso de uso 3: Optimización del rendimiento

Codex se usa para identificar y abordar cuellos de botella en el rendimiento.

Durante las tareas de ajuste o los esfuerzos de confiabilidad, los ingenieros prompt a Codex que analice rutas de código lentas o con uso intensivo de memoria, como bucles ineficientes, operaciones redundantes o consultas costosas, y que sugiera alternativas optimizadas, lo que a menudo da como resultado mejoras significativas en eficiencia y confiabilidad.

Codex también se usa para contribuir a la salud del código al identificar patrones riesgosos u obsoletos que todavía se usan activamente. Nuestros equipos se apoyan en ella para ayudar a reducir la deuda técnica a largo plazo y prevenir regresiones de forma proactiva.

Anécdotas de nuestros equipos

“Uso Codex para detectar llamadas repetidas y costosas a bases de datos. Es excelente para identificar rutas críticas y redactar consultas por lotes que puedo ajustar después”.
Ingeniero de infraestructura, fiabilidad de API
Prueba usar Codex para la optimización del rendimiento con estos prompt de ejemplo:
  • Optimiza este bucle para mejorar la eficiencia de memoria y explica por qué tu versión es más rápida.

  • Identifica operaciones repetidas y costosas en este gestor de solicitudes y propone oportunidades para el almacenamiento en caché.

  • Propón una forma más rápida de agrupar consultas a la base de datos en esta función.

Caso de uso 4: Mejorar la cobertura de pruebas

Codex ayuda a los ingenieros a escribir pruebas más rápido, especialmente en situaciones donde la cobertura es escasa o completamente inexistente.

Al trabajar en una corrección de errores o una refactorización, los ingenieros suelen pedirle a Codex que sugiera pruebas que cubran casos límite o posibles rutas de fallo. Para código nuevo, puede generar pruebas unitarias o de integración en función de la firma de la función y la lógica del contexto.

Codex es especialmente útil para identificar condiciones límite como entradas vacías, longitud máxima o estados inusuales pero válidos que a menudo se omiten en las pruebas iniciales.

Anécdotas de nuestros equipos

“Apunto Codex a módulos con baja cobertura durante la noche y me despierto con pull requests con pruebas unitarias ejecutables”.
Ingeniero frontend de ChatGPT Desktop
Prueba usar Codex para la optimización del rendimiento con estos prompt de ejemplo:
  • Escribe pruebas unitarias para esta función, incluidos los casos extremos y las rutas de falla.

  • Genera una prueba basada en propiedades para esta herramienta de ordenamiento.

  • Extiende este archivo de prueba para cubrir los escenarios faltantes relacionados con valores nulos y estados inválidos.

Caso de uso 5: Aumentar la velocidad de desarrollo

Codex ayuda a los equipos a avanzar más rápido al acelerar tanto el inicio como el final del ciclo de desarrollo.

Al iniciar una nueva funcionalidad, los ingenieros lo utilizan para estructurar el código repetitivo: generar carpetas, módulos y stubs de API, y así ejecutar código rápidamente sin conectar manualmente cada pieza.

A medida que los proyectos se acercan al lanzamiento, Codex ayuda a cumplir plazos ajustados al encargarse de tareas más pequeñas pero esenciales, como clasificar errores, cubrir los últimos detalles de implementación y generar scripts de despliegue, integraciones de telemetría o archivos de configuración.

También se usa para convertir comentarios del producto en código inicial. Los ingenieros suelen pegar una solicitud de usuario o una especificación y hacer que Codex genere un borrador al que luego pueden volver para perfeccionarlo.

Estuve en reuniones todo el día y aun así fusioné cuatro pull requests porque Codex trabajaba en segundo plano.
Ingeniería de producto, ChatGPT Enterprise
Prueba usar Codex para aumentar la velocidad de desarrollo con estos prompt de ejemplo:
  • Crea una nueva ruta de API para POST /events con validación básica y registro de eventos.

  • Genera un conector de telemetría para rastrear el éxito o fracaso del nuevo flujo de incorporación, usando esta plantilla [insert example of your telemetry code].

  • Crea una implementación preliminar con base en esta especificación: [introduce la especificación o los comentarios sobre el producto].

Caso de uso 6: Mantener el flujo

Codex ayuda a nuestros ingenieros a mantener la productividad cuando sus horarios están fragmentados y llenos de interrupciones.
Se usa para capturar trabajo inconcluso, convertir notas en prototipos funcionales o crear tareas exploratorias que se pueden retomar más adelante. Esto facilita pausar y reanudar el trabajo sin perder el contexto, especialmente cuando están de guardia o tienen muchas reuniones.

“Si detecto un arreglo de pasada, creo una tarea en Codex en vez de cambiar de rama y reviso la PR cuando puedo".
Especialista en backend, API de ChatGPT
Prueba usar Codex para mantenerte en sintonía con estos ejemplos de prompt:

Caso de uso 7: Exploración e ideación

Codex también es útil para trabajos abiertos, como encontrar soluciones alternativas o validar decisiones de diseño. Puedes usar un prompt para encontrar diferentes maneras de resolver un problema, explorar patrones desconocidos o poner a prueba las suposiciones. Esto ayuda a visibilizar las disyuntivas, ampliar las opciones de diseño y perfeccionar las decisiones de implementación.

También se utiliza para identificar errores relacionados. Dado un problema conocido o un método obsoleto, Codex puede identificar patrones similares en otras partes del código, lo que facilita detectar regresiones o completar las tareas de limpieza.

“Codex me ayuda a resolver el problema de arranque en frío: pego una especificación y la documentación, y genera la estructura base del código o me muestra lo que olvidé”.
Ingeniería de producto, ChatGPT Desktop
Prueba a usar Codex para explorar y generar ideas con este prompt de ejemplo:
  • ¿Cómo funcionaría esto si el sistema estuviera basado en eventos en lugar de en solicitudes y respuestas?

  • Encuentra todos los módulos que construyen manualmente cadenas SQL en lugar de usar nuestro constructor de consultas.

  • Reescribe esto con un estilo más funcional; evita mutaciones y efectos secundarios.


Mejores prácticas

Codex funciona mejor cuando se le proporciona estructura, contexto y margen para iterar. Estos son algunos de los hábitos que los equipos de OpenAI están desarrollando para obtener un valor constante en el trabajo diario.

Comienza con el modo de preguntas

Para cambios grandes, comienza aplicar a Codex un plan de implementación usando el modo Preguntar, que luego se convierte en la entrada para los prompts de seguimiento cuando cambias a Modo Código. Este flujo de dos pasos mantiene a Codex bien orientado y ayuda a evitar errores en su salida. Codex funciona mejor con tareas bien definidas que te tomarían a ti o a un compañero de equipo alrededor de una hora en completar o unas cientos de líneas de código para implementar. A medida que los modelos mejoren, se espera que aumente la magnitud de las tareas que pueden asumir.

Mejorar de forma iterativa el entorno de desarrollo de Codex

Configurar un script de inicio, las variables de entorno y el acceso a internet reduce significativamente la tasa de error de Codex. A medida que ejecutes tareas, busca errores de compilación que se puedan corregir en la configuración del entorno de Codex. Esto puede requerir algunas iteraciones, pero genera ganancias significativas de eficiencia a largo plazo.

Estructura tu prompt como si estuvieras escribiendo una incidencia de GitHub

Codex responde mejor cuando los prompt reflejan cómo describirías un cambio en un PR o una incidencia. Eso significa incluir rutas de archivo, nombres de componentes, diffs y fragmentos de documentación cuando sea pertinente. Dar instrucciones con patrones como “Implementa esto de la misma manera en que se hace en [módulo X]” mejora los resultados.

Usa la cola de tareas de Codex como una lista de pendientes ligera

Envía tareas para registrar ideas secundarias, trabajo parcial o correcciones incidentales. No hay presión para generar una PR completa de una sola vez. Codex funciona bien como un espacio provisional al que puedes volver cuando vuelvas a concentrarte.

Usa AGENTS.md para ofrecer un contexto continuo

Mantén un archivo AGENTS.md para ayudar a Codex a operar de manera más eficaz en tu repositorio con el prompt. Estos archivos suelen incluir convenciones de nomenclatura, lógica de negocio, particularidades conocidas o dependencias que Codex no puede inferir únicamente a partir del código. Obtén más información sobre cómo estructurar tu archivo AGENTS.md en la documentación.

Aprovecha “Best of N” para mejorar los resultados

La función Best-of-N te permite generar simultáneamente múltiples respuestas para una sola tarea, a fin de explorar rápidamente varias soluciones y elegir la mejor. Para tareas más complejas, puedes revisar varias iteraciones y combinar partes de diferentes respuestas para obtener un mejor resultado.


De cara al futuro

Codex sigue en vista previa de investigación, pero ya está teniendo un impacto real en cómo desarrollamos, ayudándonos a avanzar más rápido, escribir mejor código y asumir trabajo que, de otro modo, nunca se habría priorizado.

Nos entusiasma el potencial que tenemos por delante, a medida que nuestros modelos mejoran y Codex se integra más profundamente en nuestros flujos de trabajo, esperamos desbloquear formas aún más potentes de desarrollar software con él. Seguiremos compartiendo lo que aprendamos en el camino.

¿Te interesa llevar la IA a tu negocio?

Descubre cómo ayudamos a las empresas a desarrollar estrategias de IA escalables y responsables.