Nota del editor: Este artículo de Dominik Kundel, miembro del equipo de relaciones con desarrolladores de OpenAI, resume su experiencia utilizando la función de "modo meta" de Codex. No se trata de un simple truco de prompt, sino de un cambio en el papel de las herramientas de programación con IA: Codex ya no es solo un asistente de código que responde a instrucciones individuales, sino que comienza a convertirse en un agente ejecutor capaz de avanzar continuamente hacia un objetivo claro.
En el modo /goal, lo realmente importante no es escribir requisitos más largos y detallados, sino establecer criterios de salida claros y verificables para Codex. Por ejemplo: "Reducir el tiempo de despliegue en un 30%", "Alcanzar una cobertura de pruebas del 100% equivalente", "Reducir LCP por debajo de 2.5 segundos". Estos indicadores permiten a Codex juzgar si la tarea está completa y evitan que realice pruebas infinitas ante objetivos vagos. Al mismo tiempo, los usuarios deben proporcionar suficiente dirección, herramientas y un entorno real para que Codex pueda medir el progreso y verificar los resultados, en lugar de solo completar una solución aparentemente viable en condiciones locales o hipotéticas.
El artículo advierte especialmente que las tareas visuales son las que más fácilmente atascan a Codex en los detalles. En lugar de pedir una "reproducción fiel al 100% píxel a píxel", es mejor desglosar el objetivo visual en una lista de funcionalidades, especificaciones del sistema de diseño y métricas evaluables. Para tareas largas que duren horas o incluso días, también se necesita un seguimiento continuo a través de commits, PRs en borrador, documentos de progreso, actualizaciones en Slack o side chats, para evitar terminar solo con un montón de cambios imposibles de rastrear.
El valor incremental de este artículo radica en que redefine /goal como un "mecanismo de gestión de tareas a largo plazo". Cuando la IA puede ejecutar continuamente durante decenas o incluso cientos de horas, la habilidad central del desarrollador también cambia: no solo hacer que la IA genere código, sino definirle objetivos, establecer un sistema de medición, configurar el entorno de ejecución y, finalmente, realizar la revisión y el análisis. En otras palabras, la programación con IA está pasando de "escribir prompts" a "gestionar un ejecutor de ingeniería que trabaja continuamente".
El texto original:
Lanzamos el modo meta (goal mode, o /goal) para ayudarte a hacer que Codex avance continuamente hacia un resultado específico. Cuando estableces un objetivo, Codex trabajará hasta alcanzarlo, ya sea que tome unas horas o varios días. Ya hay personas que han hecho que Codex trabaje en el mismo objetivo durante más de 120 horas seguidas.
El modo meta es muy poderoso. Para maximizar su utilidad, hay 7 cosas a tener en cuenta al usar /goal.
Establece criterios claros y verificables
El prompt que introduces al activar el modo meta sirve tanto como prompt inicial, y más importante aún, se convierte en el criterio de salida para ese objetivo. Codex verificará después de cada ronda de trabajo: ¿se ha completado este objetivo?
Por lo tanto, tu prompt de objetivo no debe ser demasiado largo, sino centrarse en un criterio claro: ¿en qué circunstancias se considera que el objetivo está cumplido?
En la mayoría de los casos, un buen objetivo debe incluir una métrica numérica explícita para que el modelo pueda juzgar si está completo. Por ejemplo:
"Reducir el tiempo de compilación y despliegue en un 30%."
"Migrar esta función de TypeScript a Rust, logrando una consistencia del 100% en las pruebas."
"Optimizar el scaffolding de la aplicación para que la LCP (Largest Contentful Paint, métrica de velocidad de carga del contenido principal) en producción esté por debajo de 2.5 segundos."
Este prompt no siempre necesita contener números, pero generalmente, los números facilitan los pasos posteriores.
Si aún no estás seguro de cómo definir el objetivo, o quieres hacer una lluvia de ideas sobre el proyecto con Codex, no es necesario iniciar la conversación en modo meta desde el principio.
Codex puede establecer objetivos por sí mismo. Puedes iniciar una conversación normal y, cuando estés listo para que Codex comience a ejecutar, pedirle que establezca un objetivo basado en la discusión anterior.
También puedes editar el objetivo en cualquier momento: haciendo clic en el botón de editar en la aplicación de Codex, o usando /goal nuevamente en la CLI.
Proporciona orientación siempre que sea posible
Un prompt como "Reducir el tiempo de compilación y despliegue en un 30%" suena genial y podría llevar a Codex a encontrar soluciones creativas. Pero si ya tienes una idea aproximada de dónde podría estar el problema, este tipo de prompt también podría hacer que Codex tome el camino incorrecto.
Por lo tanto, cuando sea posible, es mejor decirle a Codex por dónde empezar a investigar, qué herramientas puede usar para alcanzar el objetivo, o dar otras pistas para evitar que se desvíe en la dirección equivocada.
Por ejemplo, mi colega @reach_vb hizo esto en un experimento: le dijo a Codex que podía usar Chrome para acceder a Google Colab y explicó algunas limitaciones aceptables, como permitirle generar su propio conjunto de datos al entrenar un modelo.
De manera similar, si quieres reducir el tiempo de compilación y ya sabes en qué parte se consume la mayor parte del tiempo, es mejor dirigir primero a Codex hacia esa área en el prompt.
Otro enfoque es hacer que Codex realice una investigación preliminar en modo planificación (plan mode) y cree un archivo de plan para registrar soluciones potenciales. Luego, haz que tu objetivo haga referencia a ese plan.
Haz que el progreso sea medible
Si tu objetivo es ambicioso, o si Codex tiene muchas formas de acercarse gradualmente a él, es crucial proporcionarle a Codex herramientas para medir el progreso.
Para algunas tareas, esto puede ser inherente. Por ejemplo, optimizar el tiempo de compilación o mejorar la cobertura de pruebas, ya que Codex suele poder usar las herramientas relevantes o crearlas de forma natural.
Pero para otros objetivos, es mejor hacer primero una lluvia de ideas con Codex: ¿qué herramientas son útiles para juzgar el progreso? O darle algunas pistas sobre cómo puede confirmar si se está acercando al objetivo. Por ejemplo, crear una herramienta para comparar diferencias visuales entre dos capturas de pantalla, o crear un conjunto de evaluación para el agente que estás depurando.
Una vez hice que Codex recreara algunos componentes basándose en un video, y Codex se creó una herramienta para comparar capturas de pantalla y verificar diferencias. Más tarde, incluso iteró continuamente en esta herramienta, agregando diferentes modos de comparación de diferencias.
Dependiendo de la tarea, también debes considerar si hay criterios adicionales que necesitan ser medidos o verificados. De lo contrario, Codex podría pensar que la tarea está completa, pero para ti podría no estarlo realmente.
Por ejemplo, Codex podría, para "reproducir fielmente al píxel" una UI, simplemente recortar la imagen de referencia del diseño e incrustarla en la página; o para lograr una tasa de aprobación del 100% en las pruebas, reducir el alcance de las mismas. Estas no son las formas de completar que realmente deseas.
Crea un entorno real
Si quieres que Codex haga progresos efectivos reales hacia el objetivo, necesita ejecutarse en un entorno lo suficientemente realista.
En la práctica, esto significa: si quieres optimizar el tiempo de despliegue o problemas de latencia, Codex debería poder acceder a entornos de despliegue y prueba que simulen lo más posible el entorno de producción. Es decir, usar la misma tecnología, las mismas configuraciones y una base de datos similar.
Por ejemplo, una vez estábamos depurando la optimización del tiempo de compilación y despliegue en developers.openai.com. Ya estábamos usando despliegues de vista previa, por lo que Codex podía usar estos entornos para desplegar y ver los registros. Pero el problema era que nuestros despliegues de vista previa, en comparación con el entorno de producción completo, deshabilitaban algunas rutas de compilación.
Por lo tanto, Codex finalmente tuvo que hacer un despliegue manual, enviando el código a un entorno más cercano a la configuración de producción, para poder realmente verificar el problema.
De manera similar, también puedes hacer que Codex use computer use (capacidad del modelo para operar interfaces de aplicaciones reales) para probar aplicaciones reales. Para optimizar algunos problemas de rendimiento en iOS, @dimillian incluso usó un dispositivo físico para obtener el entorno de prueba más preciso.
Establece objetivos visuales con precaución
Darle a Codex un objetivo visual, como "reproduce fielmente al 100% píxel a píxel esta UI según esta imagen", es tentador. Pero dependiendo de la configuración concreta, también puede causar problemas.
Si no das las pautas y restricciones adecuadas, Codex podría atascarse en ciertos detalles, descuidando el objetivo general. Por ejemplo, si la imagen de referencia contiene algunos elementos gráficos y esperas que Codex los genere, ya sean iconos SVG o imágenes, podría gastar mucha energía en "cómo reproducir estos materiales con precisión", en lugar de desglosar correctamente todo el problema.
Además, Codex necesita herramientas para realizar comparaciones visuales correctamente. Esto significa más entradas de imágenes, un mayor consumo general de tokens, pero no necesariamente proporciona a Codex una forma simple de identificar oportunidades de mejora realmente valiosas.
Por lo tanto, las imágenes suelen ser más adecuadas como contexto del objetivo, no como el único criterio de completitud. Debes buscar otras formas para que Codex juzgue si el objetivo se ha cumplido, como listas de funcionalidades, especificaciones de implementación, conformidad con el sistema de diseño, etc.
Sigue el progreso
Si Codex finalmente trabaja en segundo plano durante horas o incluso días, o incluso se ejecuta en otra máquina, es fácil olvidar hasta dónde ha llegado y qué trabajo ha hecho.
Dependiendo del objetivo, he encontrado útiles las siguientes formas:
· Haz que Codex haga commit del código en puntos clave y lo envíe a un PR en borrador. Esto es especialmente útil si estás trabajando en un sitio web y tienes despliegues de vista previa.
· Haz que Codex actualice un entregable orientado a la gestión. Puede ser un archivo HTML que mantengas abierto en el navegador interno de la aplicación; puede ser· una página desplegada mediante Sites para que el equipo la revise; puede ser un gráfico de progreso renderizado, o simplemente un archivo Markdown normal.
Indica a Codex que publique activamente actualizaciones de progreso. También puedes escribir esto en el objetivo: haz que Codex envíe actualizaciones a un canal de Slack, u otro lugar donde desees registrar el progreso, cuando logre avances importantes.
Usa otras ventanas de chat para preguntar el estado. Si solo quieres conocer rápidamente el estado actual, puedes ejecutar /side para iniciar un nuevo chat lateral y hacer preguntas allí. Dado que se bifurca del hilo actual, tiene todo el contexto hasta el momento, pero su ciclo de vida es corto.
Otro método alternativo en la aplicación de Codex es: abrir un nuevo chat normal, hacer que Codex lea otro hilo de objetivo y responda a tus preguntas. Esto es especialmente poderoso si haces que Codex configure una tarea automatizada para verificar periódicamente el progreso.
Limpia y confirma finalmente los resultados
¡Excelente, finalmente se ha completado el objetivo! ¿Ahora simplemente puedes entregar los resultados al equipo y listo?
Generalmente, especialmente en tareas de optimización, he encontrado útil hacer que Codex revise y examine el trabajo que ha completado. Puedes ejecutar primero una revisión de código local con /review, pero también vale la pena que Codex reflexione más profundamente: ¿qué caminos intentó para alcanzar el objetivo? ¿Qué intentos fueron efectivos? ¿Cuáles no? Luego, limpiar el código en consecuencia.
Como Codex trabajará hasta alcanzar el objetivo, puede haber intentado métodos que no fueron lo suficientemente buenos o incluso completamente inefectivos, y estos cambios residuales podrían permanecer en el código final.
Establece un goal para tu próxima tarea
La función de objetivo de Codex es una herramienta extremadamente poderosa que puede ayudarte a resolver algunos de los desafíos de ingeniería más significativos. Pero solo cuando le proporcionas el entorno y las instrucciones correctas, puede llegar al objetivo de manera más eficiente.
¿Qué has hecho tú con /goal?










