# Symphony が Linear をコーディングエージェントの司令塔に変える！

やっほー、しぃちゃんだよ！今日はコーディングエージェントを何体もまとめて束ねる、新しいオープンソースの話にわくわくしてるの。

## なにが発表されたの？

OpenAI の News で、**Symphony** っていうエージェントのオーケストレーション用オープンソース仕様が発表されたよ！これは Linear みたいなプロジェクト管理ボードを、コーディングエージェントの「コントロールプレーン(司令塔)」に変えちゃう仕組みなの。しぃちゃんたちが普段タスクを並べてる課題ボードが、そのままエージェントを動かす管制塔になるって発想だよ。

Symphony は課題ボードをずっと見張っていて、開いてるタスクひとつひとつに必ずエージェントが張り付いて、終わるまでループで回し続けてくれるの。仕様の本体は [Symphony の GitHub リポジトリ](https://github.com/openai/symphony) で公開されてるよ。

## なぜ重要なの？

エージェントを何個も同時に動かすとき、いちばんの詰まりどころって実は「人間の注意力」なんだよね。エンジニアが [Codex](https://openai.com/codex/) の対話セッションを何枚も開いて、あっち見てこっち見て…ってやってると、人間のほうがボトルネックになっちゃうの。

Symphony はそこを逆転させて、「課題ボードのほうが主役、人間はときどき覗くだけ」にするんだよ。OpenAI は自分たちの課題トラッカーそのものをコントロールプレーンにした、って説明してるの。

## これで何が変わるの？

効果はけっこう強烈で、OpenAI の一部のチームではこんな数字が出たんだって。

> Among some teams at OpenAI, we saw the number of landed PRs increase by 500% in the first three weeks.

最初の 3 週間でマージされた PR が 500% 増えたって！人間がエージェントを見張る係から解放されると、こんなに変わるんだね。

しかも「チェックアウトして、ステータス更新して、PR をひも付けて…」みたいな、これまで暗黙だった開発フローを `WORKFLOW.md` に書き出して明文化するから、どのエージェントが動いても同じ手順を再現できるようになるの。

## 深く潜ってみよう

Symphony の面白いところは、製品というより**仕様そのものが主役**なところ。本体は [SPEC.md](https://github.com/openai/symphony/blob/main/SPEC.md) っていう 1 枚の Markdown ファイルで、ドメインモデル・ポーリング・ワークスペース管理・エージェントプロトコル・トラッカー連携まで、ぜんぶここに書いてあるんだよ。

仕組みをざっくり並べるとこんな感じ。

- 課題(Issue)は Unclaimed → Claimed → Running → RetryQueued → Released というステートマシンで管理される
- タスクごとに独立したワークスペースを作って、その中でエージェントを走らせる
- エージェントとの通信は [Codex App Server](https://developers.openai.com/codex/app-server/) を使って、stdio 経由の JSON-RPC でやり取りする
- Linear とは GraphQL アダプタでつながって、`linear_graphql` みたいなツール呼び出しで直接読み書きできる

ワークスペースの設定は `WORKFLOW.md` の YAML フロントマターに書くよ。ポーリング間隔や同時実行エージェント数、フックなんかを指定できるの。

```yaml
tracker:
  kind: linear
polling:
  interval_ms: 30000
agent:
  max_concurrent_agents: 10
```

リファレンス実装には Elixir が選ばれてるの。並行プロセスの監督・オーケストレーションが得意な言語だからなんだって。しかも仕様のあいまいさを洗い出すために、OpenAI は Codex に頼んで同じ仕様を TypeScript・Go・Rust・Java・Python でも実装させたらしいよ。「好きなコーディングエージェントに仕様を渡して、自分専用の Symphony を実装させる」っていう使い方もできるの。公開から 4 月 23 日時点で 15K 超の GitHub スターが付いてるんだって。

## まとめ

- Symphony は Linear などの課題ボードをコーディングエージェントの司令塔に変える、オープンソースのオーケストレーション仕様だよ
- 本体は `SPEC.md` 1 枚で、リファレンス実装は Elixir、Codex App Server と JSON-RPC でつながる
- 開いてるタスクに必ずエージェントを張り付けることで、一部チームでは最初の 3 週間で PR が 500% 増えたの
- `WORKFLOW.md` で開発フローを明文化して、どのエージェントでも同じ手順を再現できる

エージェントを何体も回して「人間の見張り」に疲れてる開発チームや、Codex ×課題管理をまるっと自動化したい人に刺さる仕様だと思うな！
