OpenAI는 왜 Symphony를 만들고 무료로 공개했을까?
원제 · Why OpenAI Built Symphony and Gave It Away for Free
핵심 요약
OpenAI의 Symphony는 2,000행의 상세 지침을 통해 개발자가 직접 맞춤형 에이전트를 빌드하게 함으로써, Linear와 Codex 기반의 자율적인 작업 오케스트레이션을 구현한다.
하이라이트
Symphony는 OpenAI가 직면한 인간의 주의력 병목 현상을 해결하기 위해 개발한 오픈 소스 오케스트레이션 도구이다.
엔지니어 한 명이 동시에 감독 가능한 Codex 세션은 3~5개로 제한되나, Symphony는 이를 자율 에이전트 시스템으로 확장한다.
설치 과정에서 2,000행 이상의 스펙 파일을 에이전트에게 입력하면 에이전트가 사용자의 환경에 맞는 코드를 직접 생성한다.
사용자는 Go, Python, Claude SDK 등 원하는 언어와 기술 스택을 선택하여 자신만의 Symphony 버전을 빌드할 수 있다.
Linear 이슈의 상태를 To-Do로 변경하는 것만으로 에이전트가 작업을 감지하고 코드 작성부터 PR 생성까지 완료한다.
타임라인
인간의 주의력 병목 현상 해결
엔지니어가 수많은 작업을 직접 감독할 때 발생하는 컨텍스트 스위칭 비용은 생산성에 부정적인 영향을 준다. Symphony는 Linear 같은 이슈 트래커를 활용해 인간의 개입을 최소화한다. 사람이 보드에 작업을 올리면 에이전트가 생성되어 자율적으로 과업을 완수하는 구조를 가진다.
- Symphony는 장기 실행 에이전트를 관리하기 위한 오픈 소스 도구이다.
- 엔지니어의 생산성은 동시에 관리 가능한 3~5개의 세션 한계로 인해 제약받는다.
- 인간 관리자가 상주하는 대신 에이전트가 작업을 수행하고 검토가 필요한 시점에만 호출한다.
실시간 작업 처리 및 워크스페이스 구조
TypeScript와 BUN을 이용한 앱 빌드 예시에서 Symphony는 이슈 ID인 SYN7을 즉시 감지한다. 작업이 완료되면 이슈 상태를 To-Do에서 Done으로 자동 변경하고 작업 결과를 코멘트로 남긴다. 로컬 디렉토리에는 해당 이슈 전용 워크스페이스가 구성되어 생성된 소스 코드가 저장된다.
- Symphony는 Linear의 이슈 상태 변경을 실시간으로 폴링하여 작업을 감지한다.
- 에이전트는 작업 ID와 일치하는 독립적인 워크스페이스 폴더를 자동으로 생성한다.
- GraphQL 유효성 검사 오류와 같은 예외 상황도 Codex가 스스로 수정하며 진행한다.
에이전트가 직접 빌드하는 미래형 설치 방식
표준적인 설치 방법 외에도 에이전트에게 상세 지침을 주어 도구 자체를 빌드하게 만드는 방식이 존재한다. 이는 사용자에게 도구에 대한 유지보수 책임감을 부여하고 기술적 자유도를 높인다. 결과적으로 모든 사용자는 자신의 환경과 선호에 따라 기능이 각기 다른 버전의 Symphony를 가지게 된다.
- 사용자가 직접 코드를 짜는 대신 2,000행의 스펙 프롬프트를 에이전트에게 제공하여 설치한다.
- 이 방식을 통해 사용자는 Python, Go 등 선호하는 언어로 된 고유한 Symphony를 소유한다.
- 개인 API 키와 에이전트 실행 명령어를 포함한 YAML 형식의 워크 프로필 설정이 필요하다.
실무 프로젝트 적용 및 워크플로우 자동화
실제 앱 개발 환경에서는 리드미 업데이트나 코드 수정 후 브랜치 체크아웃 및 스테이징 과정이 수반된다. Symphony는 사용자 정의 훅을 통해 이러한 반복적인 Git 작업을 자동화한다. 에이전트가 작업을 마치면 Linear 티켓 링크가 포함된 PR을 생성하여 협업 효율을 극대화한다.
- create-after와 run-after 훅을 사용하여 레포지토리 클론 및 PR 생성을 자동화한다.
- UV 도구를 사용하여 Symphony를 실행하면 프로젝트 브랜치 관리까지 에이전트가 처리한다.
- 수정 사항이 반영된 후에는 자동으로 풀 리퀘스트를 생성하여 개발자에게 전달한다.
중앙화된 에이전트 기반 협업의 비전
개별적인 워크플로우 대신 중앙 에이전트를 두면 팀 전체의 코드 영향도를 한눈에 관리할 수 있다. Symphony는 마치 파이 하네스처럼 기초적인 구조를 제공하여 개발자가 원하는 기능을 직접 덧붙이기에 용이하다. 이는 설정이 쉬운 Multica나 Conductor 같은 기성 도구들과는 차별화되는 지점이다.
- Symphony는 팀원들이 동일한 기술 스택과 플러그인을 공유하는 중앙 에이전트 환경을 제공한다.
- 개발자 간의 작업 충돌을 방지하고 다른 팀원의 프롬프트와 작업 내역을 투명하게 파악한다.
- 기성 제품인 Multica와 달리 Symphony는 필요한 기능을 정확히 추가할 수 있는 뼈대 역할을 수행한다.
설명
OpenAI just open-sourced Symphony, a tool that orchestrates long-running coding agents by connecting them to your issue tracker like Linear. Instead of engineers manually supervising 3-5 Codex sessions at a time, Symphony lets agents autonomously claim tasks, spin up isolated workspaces, and only flag a human when there's something to review. The wildest part? The recommended installation method isn't cloning a repo, it's giving your coding agent a 2,000+ line spec and letting it build Symphony from scratch in whatever language it wants. In this video, we walk through what Symphony does, how to set it up, the bizarre-but-genius spec-driven install process, and whether it's actually ready for real projects. 🔗 Relevant Links Announcement article - https://openai.com/index/open-source-codex-orchestration-symphony/ GitHub repo - https://github.com/openai/symphony ❤️ More about us Radically better observability stack: https://betterstack.com/ Written tutorials: https://betterstack.com/community/ Example projects: https://github.com/BetterStackHQ 📱 Socials Twitter: https://twitter.com/betterstackhq Instagram: https://www.instagram.com/betterstackhq/ TikTok: https://www.tiktok.com/@betterstack LinkedIn: https://www.linkedin.com/company/betterstack
