DEV Community

Cover image for One Open Source Project a Day (No. 57): Symphony - OpenAI's Official Spec for Scaling AI Agents
WonderLab
WonderLab

Posted on

One Open Source Project a Day (No. 57): Symphony - OpenAI's Official Spec for Scaling AI Agents

Introduction

"From watching agents code to managing the work itself."

This is the No.57 article in the "One Open Source Project a Day" series. Today, we are exploring Symphony.

In the previous article on OpenHands, we saw an all-in-one GUI for AI software engineers. Symphony, released by OpenAI, is the official reference for "how to run AI agents at scale in a professional engineering team." It is more than just a tool; it is a philosophical blueprint for Agentic Ops. With Symphony, OpenAI introduces the concept of Harness Engineeringβ€”the art of building a robust external framework to steer, drive, and monitor autonomous AI agents.

What You Will Learn

  • What is "Harness Engineering"?
  • How Symphony uses WORKFLOW.md for versioned policy management of AI agents.
  • Why workspace isolation is the key to scaling agentic runs.
  • Why OpenAI chose Elixir/OTP for their reference orchestrator implementation.

Prerequisites

  • Basic understanding of AI agent workflows.
  • Familiarity with project management tools like Linear or GitHub Issues.
  • Basic understanding of concurrency and process management.

Project Background

Project Introduction

Symphony is an open-source orchestration framework (with a reference implementation in Elixir/OTP) and a language-agnostic specification (SPEC.md). Its job is to take tasks from issue trackers (like Linear) and turn them into isolated, monitored implementation runs. The core philosophy is that we shouldn't spend our time watching an agent write code character by character; instead, we should manage AI work the same way we manage human engineersβ€”by defining clear boundaries, policies, inputs, and outputs.

Author/Team Introduction

  • Origin: OpenAI Backend and Agent Architecture teams.
  • Mission: To demonstrate how to build industrial-grade AI agent environments and define a standard protocol for agents to interact with complex engineering systems.

Project Data

  • ⭐ GitHub Stars: 400+ (Engineering Preview phase)
  • πŸ“¦ Tech Stack: Elixir (Reference implementation), JSON-line protocol (Spec)
  • πŸ“„ License: Apache-2.0
  • 🌐 Repository: openai/symphony

Main Features

Core Utility

Symphony acts as the "General Contractor." It monitors task queues (e.g., a "Bug" label in Linear), and when a new task appears, it allocates resources, prepares a clean sandbox (Docker or local), loads the repo-specific WORKFLOW.md policy, and drives a coding agent to perform the work.

Use Cases

  1. Massive Engineering Automation
    • A team with hundreds of issues can use Symphony to launch hundreds of concurrent agent instances, each attempting to fix a specific problem in isolation.
  2. Policy as Code
    • Different projects have different coding standards. By placing a WORKFLOW.md in the repo, Symphony can dynamically configure the agent's behavior at runtime.
  3. Observable Production Lines
    • Capture the full "trajectory" of every agent run, including token usage, latency, retry counts, and execution results.

Core Characteristics

  1. Harness Engineering
    • Symphony views agents as pluggable "batteries." It provides the "Harness" (isolation, auth injection, state management, error recovery), allowing the agent to focus purely on the coding task.
  2. Spec-First Architecture
    • OpenAI defined a standard JSON protocol, meaning you can build your own orchestrator or agent in any programming language, as long as it follows the SPEC.md.
  3. In-Repo Workflow
    • The agent's "instruction manual" lives in the code repository it is working on. This allows you to fine-tune agent behavior using Pull Requests, just like managing source code.
  4. Robust Concurrency & Isolation
    • Leverages Erlang/Elixir's fault-tolerance mechanisms. Every agent task runs in its own lightweight process, allowing precise control over concurrency limits and retry logic.

Project Advantages

Feature Symphony LangGraph / CrewAI Commercial Agent Clouds
Focus Ops & Orchestration Agent Logic Definition Managed Black-box
Standardization Official OpenAI SPEC Private Framework Protocols Closed APIs
Security Mandatory Workspace Isolation Plugin-dependent Platform-managed
Extensibility High (Language-agnostic) Restricted to Python/JS Low

Detailed Analysis

1. SPEC.md: The Real Value

The most significant part of Symphony isn't necessarily the Elixir code, but the SPEC.md file in the repository. It defines:

  • The lifecycle of an Implementation Run.
  • The Message Exchange Format: How an agent requests tool calls and how the environment provides feedback.
  • State Storage Mappings: How the thinking process of an agent is persisted.

2. Why Elixir?

OpenAI's choice of Elixir (running on the Erlang VM) was a strategic technical decision:

  • Micro-process Model: Each agent task is an extremely lightweight process. Even if an agent gets stuck in a logic loop, it won't impact the rest of the cluster.
  • Distributed by Nature: It natively supports scheduling agent tasks across multiple machine nodes, making it ideal for compute-intensive AI workflows.

Project Links & Resources

Official Resources

Target Audience

  • Architects building "Agent Factories" or internal AI implementation platforms.
  • Developers wanting to understand how OpenAI constrains agent behavior in production.
  • Engineers interested in distributed systems orchestration and Agentic Ops.

Find more useful knowledge and interesting products on my Homepage

  1. Standardization: By providing a formal SPEC.md, OpenAI is attempting to standardize how agentic workflows are defined and executed, moving away from fragmented, one-off scripts.
  2. Scalability: It moves agentic development from "one dev chatting with one agent" to "one orchestrator managing N agents," which is essential for scaling AI in production engineering teams.
  3. Safety & Isolation: The emphasis on per-issue workspaces and "harnessing" agents provides a blueprint for how to run LLM-generated code with lower risk.
  4. Developer Experience: It treats "Agent Instructions" as first-class code citizens (the WORKFLOW.md), making the agent's behavior reproducible, versionable, and collaborative.

Resources


Created by GitHub Copilot. This is Article #93 in the "One Open Source Project a Day" series.

Top comments (0)