Ir al contenido principal
OpenAI
Nuevo

Presentamos ChatGPT Trabajo:

Un nuevo agente en ChatGPT que ayuda a los equipos a convertir metas ambiciosas en trabajo terminado, con gobernanza y controles empresariales integrados.

Obtener más información

El uso de Codex por parte OpenAI

Introducción

Codex se usa 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 utilizan para acelerar una amplia gama de tareas de ingeniería, desde comprender sistemas complejos y refactorizar grandes bases de código hasta lanzar nuevas funciones y resolver incidencias con plazos muy ajustados.

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


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

Codex ayuda a nuestros equipos a ponerse al día rápidamente en partes desconocidas del código cuando se incorporan, depuran o investigan un incidente.

A menudo usan Codex para localizar la lógica central de una función, trazar las relaciones entre servicios o módulos y seguir el flujo de datos a través de un sistema. También ayuda a sacar a la luz patrones de arquitectura o piezas de documentación que faltan y que, de otro modo, requerirían un esfuerzo manual significativo para generarlas.

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

Anécdotas de nuestros equipos

«Cuando arreglo un error, uso el modo Ask para ver en qué otras partes del código podría aparecer el mismo problema».
Ingeniero de rendimiento, Sistemas de recuperación
Prueba a usar Codex para entender el código con estas sugerencias de ejemplo:
  • ¿Dónde está implementada la lógica de autenticación en este repositorio?

  • Resume cómo fluyen las solicitudes a través de este servicio, desde el punto de entrada hasta la respuesta.

  • ¿Qué módulos interactúan con [inserta nombre del módulo] y cómo se gestionan los fallos?

Caso de uso 2: Refactorización y migraciones

Codex se usa habitualmente para hacer cambios que abarcan varios 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 de los cambios de forma coherente.

Es muy útil cuando hay que hacer la misma actualización en docenas de archivos, o cuando la actualización requiere conocer la estructura y las dependencias que no se detectan con facilidad con una expresión regular o con la función de buscar y reemplazar.

También lo usan para limpiar el código, dividiendo módulos demasiado grandes, sustituyendo patrones antiguos por otros modernos o preparando el código para que sea más fácil de probar.

Anécdotas de nuestros equipos

«Codex sustituyó todos los getUserById( ) heredados por nuestro nuevo patrón de servicio y abrió la PR. Hizo en minutos lo que habría llevado horas».
Ingeniero de backend, ChatGPT Web
Prueba a usar Codex para refactorizar y hacer migraciones con estas indicaciones de ejemplo:
  • Divide este archivo en módulos separados por tema 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 resolver cuellos de botella en el rendimiento.

Durante los procesos de ajuste o mejora de la fiabilidad, los ingenieros piden a Codex que analice rutas de código lentas o que consumen mucha memoria, como bucles ineficientes, operaciones redundantes o consultas costosas, y que sugiera alternativas optimizadas, lo que a menudo se traduce en mejoras significativas en eficiencia y fiabilidad.

Codex también se usa para mantener el código en buen estado, identificando patrones arriesgados u obsoletos que aún se usan activamente. Nuestros equipos confían en él 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 la base de datos. Es genial para señalar rutas críticas y crear consultas por lotes que luego puedo ajustar».
Ingeniero de infraestructura, Fiabilidad de API
Prueba a usar Codex para optimizar el rendimiento con estas indicaciones de ejemplo:
  • Optimiza este bucle para mejorar la eficiencia de la memoria y explica por qué tu versión es más rápida.

  • Busca operaciones costosas que se repiten en este gestor de solicitudes y sugiere oportunidades de almacenamiento en caché.

  • Sugiere 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 lugares donde la cobertura es escasa o inexistente.

Cuando trabajan en la corrección de un error o en una refactorización, los ingenieros suelen pedirle a Codex que sugiera pruebas que cubran casos extremos o rutas de fallo probables. Para código nuevo, puede generar pruebas unitarias o de integración basadas en la firma de la función y la lógica circundante.

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 pasan por alto en las pruebas iniciales.

Anécdotas de nuestros equipos

«Le indico a Codex los módulos con baja cobertura por la noche y, al despertarme, tengo pull requests de pruebas unitarias ejecutables».
Ingeniero de frontend, ChatGPT Desktop
Prueba a usar Codex para optimizar el rendimiento con estas indicaciones de ejemplo:
  • Escribe pruebas unitarias para esta función, incluyendo casos extremos y rutas de fallo.

  • Genera una prueba basada en propiedades para esta utilidad de ordenación.

  • Amplía este archivo de pruebas para cubrir los escenarios que faltan relacionados con entradas nulas y estados no válidos.

Caso de uso 5: Aumentar la velocidad de desarrollo

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

Al poner en marcha una nueva función, los ingenieros lo usan para crear una estructura básica: generando carpetas, módulos y stubs de API para tener código ejecutable rápidamente sin tener que programar cada parte a mano.

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

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

«Estuve en reuniones todo el día y aun así fusioné 4 pull requests porque Codex estaba trabajando en segundo plano».
Ingeniero de producto, ChatGPT Enterprise
Prueba a usar Codex para aumentar la velocidad de desarrollo con estas sugerencias de ejemplo:
  • Crea una nueva ruta de API para POST /events con validación básica y registro.

  • Genera un hook de telemetría para rastrear el éxito o el fracaso del nuevo flujo de incorporación, usando esta plantilla [indica un ejemplo de tu código de telemetría].

  • Crea una implementación de stub basada en esta especificación: [indica la especificación o los comentarios sobre el producto].

Caso de uso 6: Mantener el ritmo

Codex ayuda a nuestros ingenieros a mantenerse productivos cuando sus horarios están fragmentados y llenos de interrupciones.Se usa para capturar el trabajo sin terminar, convertir notas en prototipos funcionales o derivar tareas exploratorias que se pueden retomar más tarde. Así es más fácil pausar y reanudar el trabajo sin perder el contexto, especialmente cuando están de guardia o tienen muchas reuniones.

«Si veo una solución rápida, lanzo una tarea de Codex en lugar de cambiar de rama y reviso su pull request cuando tengo un rato libre».
Ingeniero de backend, ChatGPT API
Prueba a usar Codex para mantener el ritmo con estas indicaciones de ejemplo:

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 solicitar diferentes formas de resolver un problema, explorar patrones desconocidos o poner a prueba tus suposiciones. De este modo se sacan a la luz las compensaciones, se amplían las opciones de diseño y se afinan las decisiones de implementación.

También se usa para identificar errores relacionados. Ante 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 terminar el trabajo de limpieza.

«Codex me ayuda a resolver el problema del arranque en frío: pego una especificación y la documentación, y me genera el esqueleto del código o me muestra lo que se me había olvidado».
Ingeniero de producto, ChatGPT Desktop
Prueba a usar Codex para explorar y generar ideas con estas sugerencias de ejemplo:
  • ¿Cómo funcionaría esto si el sistema fuera basado en eventos en lugar de solicitud/respuesta?

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

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


Buenas prácticas

Codex funciona mejor cuando se le da estructura, contexto y margen para iterar. Aquí tienes algunos de los hábitos que los equipos de OpenAI cultivan para sacarle un valor constante en el trabajo diario.

Empieza con el modo «Ask»

Para cambios importantes, empieza por pedirle a Codex un plan de implementación usando el modo «Ask», que luego servirá de base para las siguientes indicaciones cuando cambies al modo «Code». Este proceso en dos pasos mantiene a Codex con los pies en la tierra y ayuda a evitar errores en sus resultados. Codex funciona mejor con tareas bien delimitadas que te llevarían a ti o a un compañero una hora, o unos cientos de líneas de código. A medida que los modelos mejoren, es de esperar que aumente el tamaño de las tareas que puede asumir.

Mejora de forma iterativa el entorno de desarrollo de Codex

Configurar un script de inicio, variables de entorno y acceso a Internet reduce en gran medida la tasa de errores de Codex. Mientras ejecutas tareas, busca errores de compilación que se puedan corregir en la configuración del entorno de Codex. El proceso puede requerir varias iteraciones, pero a la larga supone una mejora significativa en la eficiencia.

Estructura tu solicitud como si estuvieras escribiendo una incidencia en GitHub

Codex responde mejor cuando las solicitudes reflejan cómo describirías un cambio en una pull request o en una incidencia. Eso significa incluir rutas de archivos, nombres de componentes, diferencias y fragmentos de documentación cuando sea relevante. Usar patrones como «Implementa esto de la misma manera que se hace en [módulo X]» mejora los resultados.

Usa la cola de tareas de Codex como un backlog ligero

Lanza tareas para capturar ideas tangenciales, trabajo parcial o correcciones incidentales. No hay presión para generar una pull request completa de una sola vez. Codex funciona bien como un área de preparación a la que puedes volver cuando recuperes la concentración.

Usa AGENTS.md para proporcionar contexto persistente

Mantén un archivo AGENTS.md para ayudar a Codex a funcionar de forma más eficaz en tu repositorio entre indicaciones. Estos archivos suelen incluir convenciones de nomenclatura, lógica de negocio, peculiaridades conocidas o dependencias que Codex no puede deducir solo a partir del código. Descubre más 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 varias respuestas a la vez para una sola tarea, con el fin de explorar múltiples soluciones y elegir la mejor. Para tareas más complicadas, puedes revisar varias iteraciones y combinar partes de diferentes respuestas para obtener un resultado más sólido.


De cara al futuro

Codex todavía está en versión preliminar 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 trabajos que de otra forma nunca se habrían priorizado.

Estamos entusiasmados con el potencial que nos espera: a medida que nuestros modelos mejoren y Codex se integre más a fondo en nuestros flujos de trabajo, esperamos descubrir formas aún más potentes de desarrollar software con él. Seguiremos compartiendo lo que aprendamos por el camino.

¿Te interesa incorporar la IA a tu empresa?

Descubre cómo ayudamos a las empresas a crear estrategias de IA ampliables y responsables.