Back to AI Jason

New AI coding paradiagm - OpenAI Symphony

AI JasonMay 2, 202612m
In a Nutshell

OpenAI Symphony is a background orchestrator that monitors Linear tickets every 30 seconds, spins up isolated agent workspaces per ticket, and lets agents report progress and evidence directly through the ticket system. The key shift is moving humans from managing multiple interactive coding sessions to managing tickets while agents handle the actual work at the ticket level. This eliminates cognitive load from context-switching and enables parallel agent execution limited only by available compute rather than human attention.

AI-Generated Notes

These notes were generated by AI and may contain inaccuracies.

OpenAI released an open-source repository called Symphony. On the surface, it functions as an orchestrator for managing coding agents through ticket trackers like Linear, but operates as a fundamentally different way of interacting with agents. The project shifts the paradigm from managing individual coding sessions to managing tickets, allowing agents to work at the ticket level and report back through the ticket system itself.

Coding agent usage has shifted significantly over recent months. Initially, agents served primarily as autocomplete tools. This evolved to interactive sessions with coding agents, and currently most users run two or three different sessions in parallel, each working in isolated work trees for different features or bug fixes. New tooling like Supersets or Conductor helps manage multiple interactive coding sessions, but even with these tools, users experience cognitive burden when managing more than three sessions simultaneously. Context switching becomes difficult, and users frequently send incorrect instructions to the wrong thread. The ceiling of productivity is no longer model capability but human attention and cognitive load.

OpenAI's engineering team recognized that current coding agent experiences center around coding sessions and merge PRs, but software workflows have been organized around deliverables like issues, tasks, tickets, and milestones for decades. Engineering leaders manage massive task volumes across thousands of workers by reviewing final outcomes through tools like Linear and Atlassian, rather than reviewing individual PRs. Symphony's solution moves humans up one level of abstraction - instead of managing two or three interactive sessions, users manage tickets while agents work at the ticket level and report back through the ticket system.

Symphony operates as a background process that runs continuously. Users run it once, point it to a workflow file, and it operates indefinitely. Every 30 seconds, the background process scans the Linear board for tickets in to-do slots. When found, it sets up an isolated workspace and starts an agent in that workspace. The system contains three key components: the scheduler (background process that pulls ticket data, sets up workspaces, and manages session lifecycle), a workflow.md file containing scheduler configuration and detailed instructions for coding agents, and external systems like Linear serving as durable state machines for human-agent interaction.

The workflow.md file is divided into two parts. The top section contains YAML front matter that configures the scheduler directly, including which Linear project to monitor, what types of tickets to pick up, where agents should create isolated workspaces, programmatic hooks to run after workspace setup, how many agents can run in parallel, and specific agent settings. The bottom half contains markdown that serves as the prompt rendered to agents every single turn, functioning as a standard operating procedure for handling tickets in the repository.

The markdown section details how agents should plan tasks, validate their work, determine completion criteria, and when to request human review. The workflow.md file lives inside the repository, making it version-controlled and modifiable through normal pull requests. The same file contains programmatic rules controlling both the scheduler and agent behavior, eliminating the need for separate config services, admin panels, or UI components.

The system is designed for maximum flexibility. Users are not required to use Linear or Codex. OpenAI provides an example implementation in Elixir, but includes a spec.md file detailing the framework design. This allows users to point any coding agent to the spec.md file and request implementation in any programming language. Community implementations already include custom TUIs based on task data and rebuilt versions supporting Claude Code as agent harness.

Symphony requires proper environment setup for agents to complete tickets end-to-end atomically. This includes ensuring the system is bootable so agents can run scripts to set everything up without figuring out configuration, and proper documentation structure for different system parts. Most teams have these two elements set up in code.md or agent.md files, but often lack self-verifying tools that allow agents to perform end-to-end testing after implementation.

Playwright CRI tool provides video recording capabilities that allow agents to run commands like "video start" and "video stop" to capture browser sessions into MP4 or WebM format. The tool includes advanced video rendering capabilities for adding chapters on screen and HTML elements to annotate agent actions. Videos can be uploaded directly to Linear for verification. Other tools like Chrome DevTools MCP or agent browser lack this video capability out of the box.

Beyond Playwright CRI, additional skills enhance agent capability. A Linear skill enables agents to operate Linear tickets using the Linear API and upload video evidence of testing. Server startup skills provide agents with predefined scripts rather than requiring them to figure out startup procedures. Documentation skills include proper indexing in agent.md or cloud.md files, and debugging skills include Grafana integration for fetching real production logs during bug fixing.

To set up Symphony, clone the repository which contains an Elixir implementation folder. Most users can use the Elixir implementation directly, though customization for different ticketing systems like Trello or Jira is possible by pointing coding agents to spec.md. The command structure requires running "symphony" with a path to workflow.md file. Initial setup involves binding the Symphony command to a specific path, then running with the workflow.md argument plus the "I understand this will be running without the usual guardrail" comment.

Linear setup requires creating an account, adding a new project, and obtaining the project slug from the project settings. A Linear API key must be generated through Settings > Security and Access > Add new personal API key. The API key should be saved globally using the appropriate command so agents can access any projects. Symphony uses specific status control flow: tickets moved to "To Do" trigger agent pickup and status change to "In Progress," completion moves tickets to "Human Review," and marking as "Merging" triggers automatic PR creation.

Once configured, Symphony monitors specified Linear projects every 30 seconds. Creating a ticket and setting status to "To Do" triggers agent pickup. The agent session appears in the terminal with status updates reflected in Linear. Each ticket gets its own isolated workspace. The implementation includes a web UI dashboard showing similar information to the terminal output. Agents create plans, log steps, complete checklist items, and upload video recordings for verification before status changes enable PR creation.

Keep AI Jason in your library

Save the videos and channels worth coming back to, and find them again in one place.