Source
- Blog post: https://openai.com/index/open-source-codex-orchestration-symphony/
- GitHub: https://github.com/openai/symphony
Type
orchestration-spec
What it is
Especificación open-source para orquestar agentes de código Codex a nivel de proyecto. Symphony convierte el trabajo en ejecuciones autónomas aisladas, permitiendo a equipos gestionar trabajo en lugar de supervisar agentes. Licencia Apache 2.0, implementado principalmente en Elixir, con implementaciones alternativas en Go, Python y otros lenguajes por la comunidad.
Key Points
- El problema original: context switching. Cada ingeniero podía gestionar cómodamente 3-5 sesiones de Codex en paralelo; más allá, la productividad caía. Tenían «un equipo de ingenieros junior extremadamente capaces» siendo micromanejados por ingenieros humanos.
- Métrica de impacto: +500% en PRs merged en algunas equipes de OpenAI en las primeras tres semanas.
- Arquitectura de 6 componentes: Workflow Loader, Config Layer, Issue Tracker Client, Orchestrator, Workspace Manager, Agent Runner. Capa opcional de Status Surface para observabilidad.
- WORKFLOW.md: El workflow se define en un archivo versionado en el repo (`WORKFLOW.md`), permitiendo que equipos controlen el prompt del agente y configuración runtime junto con su código.
- Aislamiento por issue: Cada issue tiene su propio workspace en disco, evitando que comandos de un agente afecten a código fuera de su scope.
- Objetivos > transiciones rígidas: «Damos a los agentes herramientas y contexto y les dejamos cocinar» — en vez de prescribir pasos, se asignan objetivos como haría un buen manager.
- Los agentes también crean trabajo: Durante implementación o review, los agentes frecuentemente detectan mejoras y crean nuevos issues que otros agentes pueden recoger.
- Trabajo especulativo de coste casi cero: Filing tickets para explorar ideas, prototypear o testear hipótesis — si el agente falla, el coste es casi nulo.
- No solo código: Algunos issues son investigación o análisis puro que nunca tocan el codebase.
- CI automation: Symphony vigila CI, hace rebase, resuelve conflictos, reintenta checks flaky, y guía los cambios por el pipeline.
- Perfiles no-técnicos pueden iniciar trabajo: PMs y diseñadores pueden filing requests directamente desde Linear sin necesidad de checkout del repo.
- Concurrencia limitada: Ejecuta múltiples agentes concurrentes con límites configurables y backoff exponencial para reintentos.
- Codex App Server mode: Usa el API JSON-RPC de Codex en modo headless, con `linear_graphql` como tool dinámica para queries Linear sin exponer tokens.
- Referencia oficial: Implementación en Elixir (~15,700 estrellas en GitHub). Contrabass (Go, 1,300+ estrellas) ofrece TUI y dashboard web. Existen implementaciones en Python, Rust, Java y otros lenguajes.
- Cómo empezó: v1 era solo una sesión Codex en tmux haciendo poll a Linear y spawneando sub-agentes. Funcionaba pero no era fiable. La referencia es Elixir por sus primitivas de concurrencia/supervisión.
- Auto-construcción: Usaron Symphony para construir Symphony — el segundo día del proyecto ya lo estaban usando para tareas internas.
Why it matters
OpenAI publica la especificación interna que usa para coordinar agentes Codex en producción. El dato de +500% PRs landed en algunas equipes es una métrica concreta de impacto. El patrón clave: pasar de supervisar sesiones a gestionar trabajo — los ingenieros se concentran en problemas ambiguos y difíciles mientras Symphony maneja la implementación rutinaria. La comunidad ya ha creado múltiples implementaciones (Go, Rust, Python, Java), indicando que el patrón tiene demanda real.
Limitations
- La referencia oficial es Elixir — barrera de entrada para equipos sin experiencia en el ecosistema.
- Requiere issue tracker compatible (Linear en la spec, pero adaptable a otros).
- Symphony es un scheduler/runner, no un sistema de aprobación o sandboxing — la seguridad depende de la configuración del entorno.
- Documentado como «engineering preview» — no garantiza estabilidad para producción sin evaluación.
Notes
Es un anuncio de especificación + referencia, no de un producto. La propuesta de valor principal es el patrón open-source: cualquier equipo puede implementar la spec en el lenguaje de su elección. Ver también Contrabass (Go) como alternativa más accesible.
