13 puntos por GN⁺ 2026-03-17 | 4 comentarios | Compartir por WhatsApp
  • OpenAI Codex ahora admite un flujo de trabajo con subagentes, que permite distribuir en paralelo tareas complejas entre varios agentes especializados y unificar los resultados en una sola respuesta
  • Los subagentes solo se crean cuando el usuario lo solicita explícitamente, y como cada agente usa su propio modelo y herramientas, el consumo de tokens aumenta frente al uso de un solo agente
  • Es posible definir agentes personalizados con archivos TOML para configurar de forma independiente por agente el modelo, el modo sandbox, los servidores MCP y más
  • También incluye la función experimental spawn_agents_on_csv, que crea en lote agentes worker tomando cada fila de un archivo CSV como una unidad de trabajo
  • La documentación oficial también muestra directamente patrones de combinación de agentes personalizados para escenarios reales como revisión de código y depuración de frontend

Resumen y disponibilidad de subagentes

  • Codex admite flujos de trabajo con subagentes que lanza (spawn) en paralelo y luego recopila en una sola respuesta
  • Resulta especialmente útil para tareas complejas con alto paralelismo, como explorar un codebase o planificar implementaciones de funciones de varios pasos
  • En los flujos de trabajo con subagentes también se pueden definir agentes personalizados con distintas configuraciones de modelo e instrucciones según la tarea
  • En la versión actual de Codex, el flujo de trabajo con subagentes está activado por defecto
  • La actividad de los subagentes ya puede verse en la app de Codex y el CLI, y la visibilidad en la extensión para IDE llegará pronto
  • Los subagentes solo se crean cuando el usuario lo pide explícitamente, y como cada subagente ejecuta su propio trabajo con modelo y herramientas, consumen más tokens que una ejecución con un solo agente

Flujo de trabajo general

  • Codex se encarga de la orquestación entre agentes: crear nuevos subagentes, enrutar instrucciones posteriores, esperar resultados y cerrar los hilos de los agentes
  • Cuando varios agentes están ejecutándose, Codex espera a que estén listos todos los resultados antes de devolver una respuesta consolidada
  • Ejemplo de prompt: pedir que para el PR actual se cree un agente para cada aspecto: problemas de seguridad, calidad de código, bugs, race conditions, inestabilidad en pruebas y mantenibilidad, y luego resumir el resultado completo

Gestión de subagentes

  • En el CLI, el comando /agent permite cambiar entre hilos de agentes activos e inspeccionar hilos en curso
  • También se le puede pedir directamente a Codex que controle, detenga o cierre hilos completados de subagentes en ejecución

Control de aprobaciones y sandbox

  • Los subagentes heredan la política sandbox actual del usuario
  • En sesiones interactivas del CLI, las solicitudes de aprobación de hilos de agentes inactivos pueden mostrarse incluso mientras se usa el hilo principal, y la superposición de aprobación muestra una etiqueta del hilo de origen
    • Presiona o para abrir ese hilo y poder aprobar, rechazar o responder
  • En flujos no interactivos no se pueden mostrar nuevas aprobaciones, por lo que las tareas que requieran aprobación fallan y el error se propaga al flujo de trabajo superior
  • Al crear agentes hijos, se vuelven a aplicar los overrides de runtime activos del turno del agente padre, incluidos cambios con /approvals o configuraciones interactivas como --yolo
    • Incluso si el archivo del agente personalizado seleccionado define otros valores por defecto, prevalecen los ajustes del padre
  • También es posible sobrescribir por separado la configuración sandbox para cada agente personalizado individual (por ejemplo, poner un agente específico en modo solo lectura)

Agentes personalizados

  • Codex incluye 3 agentes integrados por defecto
    • default: agente fallback de propósito general
    • worker: agente orientado a ejecución enfocado en implementar y corregir
    • explorer: agente orientado a lectura para explorar el codebase
  • Para definir agentes personalizados, se agregan archivos TOML independientes en ~/.codex/agents/ (uso personal) o .codex/agents/ (alcance del proyecto)
  • Cada archivo define un agente personalizado, y Codex lo carga como una capa de configuración para la sesión de creación
  • Campos obligatorios que deben incluir todos los archivos de agentes personalizados:
    • name, description, developer_instructions
  • Campos opcionales como nickname_candidates, model, model_reasoning_effort, sandbox_mode, mcp_servers, skills.config y otros se heredan de la sesión padre si se omiten

Configuración global

  • La configuración global de subagentes se define en la sección [agents] del archivo de configuración
  • agents.max_threads: límite máximo de hilos de agentes abiertos en simultáneo (valor predeterminado: 6)
  • agents.max_depth: profundidad de anidamiento de los agentes creados (valor predeterminado: 1, permite solo agentes hijos directos y evita anidamientos más profundos)
  • agents.job_max_runtime_seconds: timeout predeterminado por worker para trabajos spawn_agents_on_csv (si no se configura, el valor por llamada es 1800 segundos)
  • Si un agente personalizado tiene el mismo nombre que un agente integrado como explorer, el agente personalizado tiene prioridad

Esquema de archivos de agentes personalizados

  • name (string, obligatorio): nombre del agente que Codex usa al crearlo o referenciarlo
  • description (string, obligatorio): guía orientada a humanos sobre cuándo debe usarse este agente
  • developer_instructions (string, obligatorio): instrucciones centrales que definen el comportamiento del agente
  • nickname_candidates (string[], opcional): conjunto de apodos visibles para el agente generado
  • También pueden incluirse otras claves compatibles de config.toml: model, model_reasoning_effort, sandbox_mode, mcp_servers, skills.config, etc.
  • Codex identifica a los agentes por el campo name; aunque la convención más simple es hacer coincidir el nombre del archivo con el del agente, el campo name es la fuente de verdad

Apodos visibles

  • nickname_candidates sirve para mostrar en la UI etiquetas distinguibles cuando se ejecutan varias instancias del mismo agente personalizado
  • Los apodos son solo para visualización; Codex sigue identificando y creando al agente con name
  • Los candidatos a apodo deben ser una lista no vacía de nombres únicos, y pueden usar caracteres ASCII, números, espacios, guiones y guiones bajos
  • Ejemplo: si al agente reviewer se le asignan los apodos ["Atlas", "Delta", "Echo"], en la app y el CLI se mostrará el apodo, pero el tipo base del agente seguirá siendo reviewer

Ejemplo 1: patrón de revisión de PR

  • Un patrón que divide la revisión en tres agentes personalizados especializados
    • pr_explorer: agente de solo lectura que mapea el codebase y reúne evidencia (modelo: gpt-5.3-codex-spark, reasoning effort: medium)
    • reviewer: revisor de PR que busca problemas de corrección, seguridad y riesgo en pruebas (modelo: gpt-5.4, reasoning effort: high)
    • docs_researcher: especialista en documentación que verifica documentación de frameworks o APIs mediante un servidor MCP dedicado (modelo: gpt-5.3-codex-spark, solo lectura)
  • Configuración del proyecto: max_threads = 6, max_depth = 1
  • Instrucciones de pr_explorer: mantenerse en modo exploración, rastrear rutas reales de ejecución, citar archivos y símbolos, y evitar sugerir cambios salvo que el agente padre lo pida
  • Instrucciones de reviewer: revisar desde la perspectiva del responsable, priorizar corrección, seguridad, regresiones de comportamiento y cobertura de pruebas faltante, e incluir pasos de reproducción cuando sea posible; evitar comentarios solo de estilo salvo que oculten un bug real
  • Instrucciones de docs_researcher: usar el servidor MCP de docs para verificar APIs, opciones y comportamiento por versión, y responder de forma concisa con enlaces o referencias exactas; no modificar código
  • Prompt de ejemplo: "Revisa esta rama comparándola con main. Que pr_explorer mapee las rutas de código afectadas, reviewer encuentre riesgos reales y docs_researcher valide las APIs del framework de las que depende el parche"

Procesamiento por lotes con CSV: spawn_agents_on_csv (experimental)

  • Es una función experimental y puede cambiar en el futuro
  • Cuando hay muchas tareas similares, crea en lote subagentes worker usando una fila del CSV como una unidad de trabajo
  • Codex lee el CSV, crea un agente worker por fila, espera a que termine todo el lote y luego exporta los resultados a un CSV
  • Casos de uso adecuados:
    • Revisar un archivo, paquete o servicio por fila
    • Inspeccionar una lista de incidentes, PR o objetivos de migración
    • Generar resúmenes estructurados para muchas entradas similares
  • Parámetros de entrada de la herramienta: csv_path (CSV de origen), instruction (plantilla de prompt para workers, usando placeholders {column_name}), id_column (ID estable del elemento), output_schema (forma JSON fija), output_csv_path, max_concurrency, max_runtime_seconds
  • Cada worker debe llamar a report_agent_job_result exactamente una vez; si termina sin reportar resultados, esa fila se marca como error
  • Al ejecutarse con codex exec, durante el lote se muestra en stderr una actualización de progreso en una sola línea
  • El CSV exportado incluye los datos originales de cada fila y metadatos como job_id, item_id, status, last_error, result_json, entre otros
  • Configuraciones de runtime relacionadas: agents.max_threads (límite de concurrencia), agents.job_max_runtime_seconds (timeout por worker; max_runtime_seconds por llamada tiene prioridad), sqlite_home (ruta de persistencia de estado SQLite usada para trabajos de agentes y resultados exportados)

Ejemplo 2: patrón de depuración integral de frontend

  • Un patrón útil para bugs de integración que cruzan regresiones de UI, flujos inestables en el navegador y tanto el código de la aplicación como el producto en ejecución
  • Combinación de tres agentes personalizados:
    • code_mapper: agente explorador de solo lectura que encuentra rutas de código relevantes de frontend y backend (modelo: gpt-5.3-codex-spark, reasoning effort: medium)
    • browser_debugger: depurador de UI que reproduce el problema y captura evidencia usando herramientas del navegador (modelo: gpt-5.4, reasoning effort: high, sandbox: workspace-write)
      • Usa herramientas del navegador para capturas de pantalla, salida de consola y evidencia de red, pero no debe editar el código de la aplicación
      • Conecta el servidor MCP de Chrome DevTools (http://localhost:3000/mcp, startup_timeout_sec: 20)
    • ui_fixer: agente orientado a implementación que hace correcciones pequeñas y puntuales una vez identificado el problema (modelo: gpt-5.3-codex-spark, reasoning effort: medium)
      • Debe hacer el cambio defendible más pequeño posible, no tocar archivos no relacionados y validar solo el comportamiento que cambió
  • Prompt de ejemplo: "Investiga por qué el modal de configuración falla al guardar. Que browser_debugger lo reproduzca, code_mapper rastree la ruta de código correspondiente y ui_fixer implemente la corrección mínima una vez identificado el modo de falla"

4 comentarios

 
kgcrom 2026-03-17

Como el agente solo usa el modelo GPT-5.1-Codex-Mini,
en las Custom instructions de Codex App
si agregas el siguiente prompt, el agente funciona con GPT-5.3-Codex-Spark.

"- when it spawns agents, use models "GPT-5.3-Codex-Spark" or higher."

O también es bastante entretenido poder especificar el modelo al crear un agente,
y me gusta que en Codex App lo muestre con estructura de subcarpetas.

 
hmmhmmhm 2026-03-17

Lo aproveché cuando hicieron una promo súper agresiva en KakaoTalk y lo he estado usando muchísimo jajaja

 
shakespeares 2026-03-17

Qué pena, ¿ya no van a hacer otro evento? T_T

 
xguru 2026-03-17

¡Codex, por favor apúrense y hagan también un control remoto!