OpenAI Symphony: 티켓 하나로 PR 자동완성되는 AI 코딩 오케스트레이터

Published on

in

OpenAI Symphony: 티켓 하나로 PR 자동완성되는 AI 코딩 오케스트레이터

OpenAI Symphony: 티켓 하나로
PR이 자동 완성되는 AI 코딩 오케스트레이터

2026년 3월 5일, OpenAI가 조용히 오픈소스로 공개한 Symphony는 개발팀의 일하는 방식을 근본적으로 바꿀 가능성이 있는 도구입니다. 기획자가 Linear에 티켓을 올리면, 사람이 코드 한 줄 건드리지 않아도 AI 에이전트가 코드를 작성하고, 테스트를 통과시키고, Pull Request까지 제출합니다. 프롬프트를 입력하는 시대에서 티켓을 배정하는 시대로의 전환입니다.

🚀 2026년 3월 5일 공개
오픈소스 (MIT)
Elixir / OTP 기반
Linear 연동

OpenAI Symphony란 무엇인가 — 그리고 왜 지금인가

OpenAI Symphony는 2026년 3월 5일 OpenAI가 오픈소스(MIT 라이선스)로 공개한 자율 AI 코딩 에이전트 오케스트레이터입니다. 한마디로 정의하면, “이슈 트래커(Linear)에서 티켓을 읽어 AI 에이전트에게 배정하고, 검증된 Pull Request를 자동으로 제출하는 상시 실행 서비스”입니다. ChatGPT나 Copilot처럼 인간이 프롬프트를 입력하고 결과를 받는 방식이 아니라, 소프트웨어 개발의 전체 파이프라인을 자동화하는 인프라 레이어에 해당합니다.

이 시점에 Symphony가 등장한 배경에는 명확한 시장 공백이 있었습니다. 2025년까지 AI 코딩 어시스턴트(GitHub Copilot, Cursor, Windsurf 등)는 “개발자 옆에서 도와주는 도구”에 머물렀습니다. 하지만 실제 엔지니어링 조직에서 병목은 코드 작성 자체가 아니라 작업 배정, 컨텍스트 전달, PR 리뷰 대기, 병렬 실행 관리에 있었습니다. Symphony는 이 공백을 정면으로 겨냥합니다.

💡 핵심 인사이트: Symphony가 진짜 흥미로운 이유는 “코드를 짜준다”는 것이 아닙니다. 에이전트가 어떤 티켓을, 언제, 어떤 순서로, 몇 개 동시에 처리할지를 관리하는 오케스트레이션 레이어를 오픈소스로 제공한다는 점입니다. 이는 팀이 AI 에이전트를 마치 시니어 엔지니어처럼 관리할 수 있는 첫 번째 실용적인 인프라입니다.

같은 날(3월 5일) GitHub Copilot의 Jira 연동 코딩 에이전트가 퍼블릭 프리뷰에 진입하고, Google ADK도 Linear·Jira·Notion 통합을 확장했습니다. 이 세 가지 사건이 같은 날 벌어졌다는 것은 우연이 아닙니다. 2026년 3월은 “AI가 코드를 돕는 시대”에서 “AI가 스프린트 보드를 읽고 혼자 일하는 시대”로 넘어가는 변곡점으로 기록될 가능성이 높습니다.

▲ 목차로 돌아가기

Elixir/OTP를 선택한 이유 — 다른 프레임워크와의 결정적 차이

Symphony의 가장 이례적인 기술 선택은 Elixir와 Erlang/BEAM 런타임을 기반으로 한다는 점입니다. AI 도구 생태계에서 Python이나 TypeScript가 아닌 Elixir를 선택한 것은 의도적인 결정입니다. BEAM VM의 OTP 슈퍼비전 트리(Supervision Tree)는 수백 개의 에이전트 프로세스를 독립적으로 관리하는 데 최적화되어 있으며, 하나의 에이전트가 오류로 종료되더라도 전체 시스템이 멈추지 않고 해당 프로세스만 자동 재시작됩니다.

Python으로 동일한 수준의 프로세스 격리와 슈퍼비전 구조를 구현하려면 수개월이 걸리는 보일러플레이트 코드가 필요합니다. Elixir에서는 이것이 언어의 1차 기능입니다. AI 에이전트는 태생적으로 장시간 실행되고, 자주 실패하며, 재시도가 필요한 작업 특성을 가지고 있기 때문에 BEAM의 fault-tolerant 아키텍처는 이 유즈케이스에 정확히 맞아 떨어집니다.

비교 항목 Symphony (Elixir) LangGraph (Python) CrewAI (Python)
프로세스 격리 OTP 네이티브 수동 구현 필요 스레드 기반
이슈 트래커 연동 Linear 기본 탑재 커스텀 구현 커스텀 구현
에이전트 정책 버전 관리 WORKFLOW.md (git) 코드 내 하드코딩 설정 파일 분리
운영 모델 상시 실행 데몬 실행 시 호출 실행 시 호출

개인적으로 이 기술 선택이 Symphony의 장기 생존 가능성을 가장 높여주는 요소라고 생각합니다. Elixir 생태계가 익숙하지 않은 팀에게는 초기 진입 장벽이 되겠지만, 대신 다른 Python 기반 에이전트 프레임워크로는 쉽게 복제할 수 없는 안정성과 확장성을 제공합니다.

▲ 목차로 돌아가기

Implementation Run의 전체 흐름 — 티켓에서 PR까지

Symphony의 핵심 작업 단위는 Implementation Run(구현 실행)입니다. 하나의 티켓이 하나의 Implementation Run에 대응하며, 이 사이클은 완전히 자동화되어 있습니다. 30초마다 Orchestra GenServer가 Linear를 폴링하여 "Ready for Agent" 상태의 이슈를 감지하면 즉시 실행이 시작됩니다.

① 폴링 → 격리 작업공간 생성

오케스트레이터가 이슈를 감지하면, 해당 이슈 ID를 기반으로 결정론적(deterministic)인 독립 디렉터리가 생성됩니다. 이슈 ID가 MT-123이라면 ~/workspaces/MT_123/ 디렉터리에 git clone과 의존성 설치가 자동으로 수행됩니다. 동시에 실행 중인 다른 이슈의 작업공간과는 완전히 격리되며, 디렉터리 탈출(path traversal) 공격과 심볼릭 링크 우회를 방지하는 다층 보안 검증이 적용됩니다.

② 에이전트 실행 → 멀티턴 작업

각 이슈는 독립적인 AgentRunner 프로세스가 담당하며, 기본 최대 20턴까지 멀티턴 작업이 가능합니다. 첫 번째 턴에는 WORKFLOW.md에 정의된 전체 컨텍스트(팀 규칙, 코드베이스 설명, 이슈 내용)가 에이전트에게 전달됩니다. 두 번째 턴부터는 “이전 작업을 이어서 계속하라”는 최소한의 컨티뉴에이션 프롬프트만 전달되며, 에이전트는 이전 커밋·테스트 결과·수정 파일 상태를 작업공간에서 직접 읽어 이어서 작업합니다.

③ Proof of Work → PR 제출

Symphony에서 가장 인상적인 설계 결정 중 하나는 Proof of Work(작업 증명) 요건입니다. 에이전트가 작업을 완료했다고 주장하더라도, CI 상태 리포트 통과, 유닛 테스트 성공, PR 리뷰 피드백 제출, 변경 사항 워크스루(walkthrough) 제공을 모두 충족해야만 코드가 최종 머지됩니다. 인간이 검토를 요청하는 상태로 이슈가 전환되면 Symphony는 즉시 해당 에이전트를 종료합니다. AI의 자율성과 팀의 통제권 사이의 균형을 실용적으로 설계한 지점입니다.

🔄 재시도 로직: 에이전트가 실패할 경우 지수 백오프(10초 → 20초 → 40초 → 최대 300초) 방식으로 자동 재시도됩니다. 사람이 외부에서 이슈를 “완료” 상태로 변경하면, Symphony는 이를 감지하고 진행 중이던 에이전트를 즉시 중단합니다. AI와 인간이 같은 프로젝트 보드 위에서 협업하는 구조입니다.

▲ 목차로 돌아가기

WORKFLOW.md — AI 에이전트 정책을 코드로 버전 관리하는 법

Symphony에서 WORKFLOW.md는 단순한 설정 파일이 아닙니다. 이것은 팀과 AI 에이전트 사이의 기술적 계약서(Technical Contract)입니다. 이 파일은 레포지토리 안에 함께 저장되므로, AI 에이전트의 행동 방침을 git으로 버전 관리하고 PR 리뷰에서 변경 사항을 검토할 수 있습니다. 팀원 모두가 에이전트에게 어떤 지침이 주어지고 있는지 명확하게 파악할 수 있는 투명성이 핵심입니다.

파일 구조는 YAML 프론트매터(설정값)와 Markdown 본문(에이전트 프롬프트 템플릿)으로 나뉩니다. 설정값에는 이슈 트래커 연결 정보, 폴링 간격, 작업공간 경로, 훅(hook) 명령어, 최대 동시 에이전트 수 등이 포함됩니다. 특히 상태별 동시 실행 제한(per-state concurrency control) 기능은 실전에서 매우 유용합니다. 예를 들어 “In Progress” 상태는 에이전트 10개를 동시에 돌리되, “Human Review” 상태는 동시에 1개만 처리하도록 제한하여 리뷰 프로세스의 혼란을 방지할 수 있습니다.

📝 실전 팁: WORKFLOW.md의 Markdown 본문(에이전트 프롬프트)을 작성할 때는 단순한 지시문보다 팀의 코딩 컨벤션, 테스트 작성 규칙, 커밋 메시지 형식, 금지 패턴을 구체적으로 명시할수록 에이전트 결과물의 품질이 높아집니다. 이 파일의 품질이 곧 에이전트 출력의 품질을 결정합니다.

▲ 목차로 돌아가기

Harness Engineering — Symphony가 작동하려면 코드베이스가 먼저 바뀌어야 한다

Symphony의 공식 문서가 가장 솔직하게 언급하는 전제조건이 바로 Harness Engineering(하니스 엔지니어링)입니다. 이는 AI 에이전트가 효과적으로 작동할 수 있도록 코드베이스 자체를 머신 친화적으로 설계하는 방법론입니다. 아무리 Symphony가 강력해도, 이 조건을 갖추지 못한 코드베이스에서는 에이전트가 제대로 작동하지 않습니다.

필요 조건은 크게 세 가지입니다. 첫째, Hermetic Testing(독립 테스트)으로 외부 의존성 없이 로컬에서 실행되는 테스트 환경이 갖춰져야 합니다. 에이전트가 변경한 코드가 올바른지 스스로 검증할 수 없다면, PR 제출 자체가 불가능합니다. 둘째, Machine-Readable Documentation(기계 가독성 문서)으로 빌드·테스트·배포 방법을 에이전트가 자동으로 파악할 수 있도록 스크립트화된 문서가 필요합니다. 셋째, Modular Architecture(모듈형 아키텍처)로 사이드 이펙트가 격리된 모듈 구조여야 에이전트가 변경 범위를 예측하고 안전하게 수정할 수 있습니다.

이 조건들이 처음에는 부담스럽게 느껴질 수 있지만, 사실 이것들은 모두 좋은 소프트웨어 엔지니어링의 기본 원칙이기도 합니다. Symphony 도입을 준비하는 과정이 코드베이스 품질 자체를 높이는 기회가 된다는 점에서, 도입 비용 이상의 부수 효과를 기대할 수 있습니다.

▲ 목차로 돌아가기

Symphony vs. 경쟁 프레임워크 — 어디서 쓰고 어디서 포기해야 하나

OpenAI Symphony는 분명한 강점과 동시에 분명한 한계를 가지고 있습니다. 이를 정확히 이해해야 올바른 도구 선택이 가능합니다. Symphony는 “잘 정의된 독립 티켓”을 처리하는 데 최적화되어 있습니다. 반면 복잡한 아키텍처 결정이 필요하거나, 여러 마이크로서비스에 걸친 대규모 리팩토링처럼 맥락이 광범위한 작업에는 아직 한계가 있습니다.

현재 공식적으로 지원하는 이슈 트래커는 Linear뿐입니다. Jira, Notion, Asana 등 다른 트래커는 커뮤니티 통합을 기다려야 합니다. AI 모델 역시 공식적으로는 OpenAI의 Codex 모델만 지원합니다. Claude나 Gemini 기반 에이전트로 교체하려면 직접 커스터마이징이 필요합니다. 이는 현시점에서 Symphony를 OpenAI 스택에 종속시키는 가장 큰 제약입니다.

반면 GitHub Copilot 코딩 에이전트나 Google ADK 기반 솔루션과 비교했을 때 Symphony의 최대 강점은 완전한 오픈소스와 자체 인프라 운영입니다. 벤더 종속 없이 자체 서버에 설치하고, 오케스트레이션 로직을 팀 상황에 맞게 자유롭게 수정할 수 있습니다. 또한 SSH 워커를 통한 분산 실행 지원으로 수평 확장이 가능하다는 점도 엔터프라이즈 환경에서 주목할 만한 특징입니다.

▲ 목차로 돌아가기

지금 당장 시작하는 설치 가이드

Symphony를 직접 실행해보려면 세 가지 사전 준비가 필요합니다. Elixir 런타임(BEAM VM), Linear 프로젝트 및 API 키, 그리고 OpenAI Codex 접근 권한입니다. Elixir가 처음이라면 공식 사이트(elixir-lang.org)에서 OS별 설치 가이드를 참고하시면 됩니다.

기본 실행 순서

# 1. 저장소 클론
git clone https://github.com/openai/symphony.git
cd symphony/elixir

# 2. 의존성 설치
mix deps.get

# 3. Linear API 키 환경 변수 설정
export LINEAR_API_KEY=”your_linear_api_key”

# 4. Codex 인증 파일 설정
# ~/.codex/auth.json 에 OpenAI 인증 정보 입력

# 5. WORKFLOW.md 파일을 레포에 추가 후 실행
mix run –no-halt

실행 후 Symphony는 상시 데몬으로 동작하며, Phoenix LiveView 기반의 실시간 대시보드를 통해 현재 실행 중인 에이전트의 상태, 토큰 사용량, 처리량 그래프를 모니터링할 수 있습니다. 실제 팀 도입 시에는 WORKFLOW.md에 팀의 코딩 컨벤션과 테스트 전략을 최대한 구체적으로 작성하는 것이 가장 중요한 초기 설정 작업입니다. 에이전트의 출력 품질은 결국 이 파일의 품질에서 결정됩니다.

SSH 워커 설정을 추가하면 단일 서버의 한계를 넘어 여러 워커 머신에 에이전트를 분산 배치할 수 있습니다. WORKFLOW.md의 worker.ssh_hosts 항목에 워커 서버 주소를 추가하는 것만으로 수평 확장이 완료됩니다. 이 단순함이 Symphony 아키텍처의 또 다른 강점입니다.

▲ 목차로 돌아가기

Q&A — 현장에서 가장 많이 나오는 5가지 질문

❓ Q1. Symphony가 작성한 코드는 얼마나 믿을 수 있나요? 그냥 머지해도 될까요?
Symphony 자체는 Proof of Work 요건(CI 통과, 테스트 성공)을 충족한 코드만 PR로 제출합니다. 그러나 테스트 커버리지가 충분하지 않거나 엣지 케이스를 커버하지 못하는 테스트라면, CI를 통과하더라도 품질 문제가 있을 수 있습니다. WORKFLOW.md에 테스트 작성 기준을 명확히 정의하고, 중요 기능은 반드시 Human Review 상태를 거치도록 워크플로우를 설계하는 것이 권장됩니다. “AI가 짠 코드니까 믿지 않겠다”보다는 “CI 기준을 높여서 AI가 통과하면 믿겠다”는 접근이 현실적입니다.
❓ Q2. Linear 대신 Jira를 쓰는 팀도 사용할 수 있나요?
현재(2026년 3월 기준) 공식 지원은 Linear만 가능합니다. 다만 Symphony는 완전 오픈소스이므로 이슈 트래커 어댑터를 직접 구현하거나, 커뮤니티에서 개발 중인 비공식 Jira·GitHub Issues 어댑터를 사용할 수 있습니다. OpenAI 측은 추가 트래커 지원을 로드맵에 포함하고 있다고 알려져 있으나, 공식 릴리스 일정은 아직 발표되지 않았습니다. Linear를 사용하지 않는 팀이라면 커뮤니티 통합 현황을 GitHub Discussions에서 먼저 확인하시길 권장합니다.
❓ Q3. OpenAI Codex가 아닌 Claude나 GPT-4o로도 사용할 수 있나요?
WORKFLOW.md의 codex.command 항목에서 실행할 에이전트 명령어를 지정하는 구조이므로, 이론적으로 JSON-RPC 2.0 over stdio 프로토콜을 구현한 다른 에이전트 서버로 교체할 수 있습니다. 그러나 현재 공식적으로 테스트되고 문서화된 구현체는 OpenAI Codex뿐입니다. Claude Code나 다른 모델 기반 에이전트와의 통합은 커뮤니티에서 실험 중이며, 일부 성공 사례가 Reddit에 공유되고 있습니다.
❓ Q4. Elixir를 전혀 모르는 팀도 Symphony를 운영할 수 있나요?
설치와 기본 실행은 Elixir를 전혀 몰라도 가능합니다. mix deps.getmix run 명령만으로 실행되며, 실제 팀 설정의 대부분은 WORKFLOW.md라는 텍스트 파일 수정으로 이루어집니다. 다만 내부 오케스트레이션 로직을 커스터마이징하거나 버그를 디버깅해야 하는 상황이 오면 Elixir 기초 지식이 필요합니다. 소규모 팀이라면 Docker 이미지로 배포하는 방식을 고려하는 것이 운영 부담을 줄이는 현실적인 접근입니다.
❓ Q5. Symphony를 도입하면 개발자 수를 줄일 수 있나요?
Symphony가 지향하는 미래는 “개발자 대체”가 아니라 “개발자의 역할 전환”입니다. 보일러플레이트 코드 작성, 단순 버그 수정, 반복적인 기능 구현은 에이전트가 담당하게 되지만, 아키텍처 결정, 정밀한 티켓 작성, 코드 리뷰, AI 에이전트 관리라는 새로운 역할이 더 중요해집니다. Symphony 문서 자체가 명시하듯, “티켓의 품질이 곧 소프트웨어의 품질”이 되는 환경에서 좋은 요구사항을 정의하는 능력이 개발자의 핵심 경쟁력으로 부상합니다.

▲ 목차로 돌아가기

마치며 — 티켓의 품질이 곧 소프트웨어의 품질이 된다

OpenAI Symphony는 지금 당장 모든 팀이 도입해야 하는 완성된 제품이 아닙니다. Linear에만 공식 연동이 되고, Codex 모델에만 공식 지원이 제공되는 초기 오픈소스 프로젝트입니다. 하지만 이 도구가 제시하는 방향성은 명확하고, 기술적 완성도는 초기 버전치고 상당히 높습니다.

제가 Symphony에서 가장 주목하는 부분은 WORKFLOW.md라는 개념입니다. AI 에이전트의 행동 방침을 코드와 함께 버전 관리한다는 아이디어는, AI가 팀의 일원이 되는 시대에 반드시 필요한 인프라의 모습을 미리 보여줍니다. 앞으로 AI 에이전트 도구들이 발전하면서, “에이전트에게 무엇을 시킬 것인가를 정의하는 파일”의 중요성은 계속 높아질 것입니다.

개발팀 리더 혹은 1인 개발자라면 지금 당장 세 가지를 시작해볼 것을 권합니다. 첫째로 자신의 코드베이스가 Hermetic Testing 기준을 충족하는지 점검하고, 둘째로 현재 이슈 트래커에서 “잘 정의된 티켓”과 “모호한 티켓”의 비율을 파악하고, 셋째로 Symphony GitHub 저장소의 WORKFLOW.md 예제를 읽어보세요. 이 세 가지 행동이 곧 AI 에이전트 시대를 대비하는 가장 현실적인 첫걸음입니다.

한 줄 요약: OpenAI Symphony는 “AI가 코드를 짜주는 도구”가 아니라 “AI 개발팀을 관리하는 인프라”입니다. 도입 가능성보다 방향성에 주목하세요.

▲ 목차로 돌아가기

본 포스팅은 공개된 공식 소스(GitHub 저장소, MarkTechPost, SJRamblings 기술 블로그)를 기반으로 작성되었습니다. OpenAI Symphony는 현재 오픈소스 초기 단계이며, 기능 및 지원 범위는 업데이트에 따라 변경될 수 있습니다. 정확한 최신 정보는 공식 GitHub 저장소(github.com/openai/symphony)를 통해 확인하시기 바랍니다.

댓글 남기기


최신 글


아이테크 어른경제에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기