Symphony/不再監督 Agent
the work,
not the
orchestra.
Linear 的 issue → 為每張票建立 deterministic 的 isolated workspace →
在裡面跑一個 Codex agent session → 把 PR、CI 狀態、review feedback、walkthrough 影片
一條龍交回來給人類驗收。
README 自己的話:這是 harness engineering 的下一步。
Symphony turns project work into isolated, autonomous implementation runs, allowing teams to manage work instead of supervising coding agents. 把專案任務轉成「隔離、自主執行」的 run;團隊只管「要做什麼」,不再盯著 agent 怎麼做。 ——這句話是整個專案的整盤棋。
輪詢 Tracker
Orchestrator 以固定週期打 Linear API,篩出 active states 的 issue,依 priority 與 concurrency cap 排程。
建立 Workspace
Workspace Manager 為這張票開一個 deterministic 路徑(可重啟可重用);hooks 跑 git clone / setup。Agent 命令只能在這個資料夾動。
跑 Agent Session
Agent Runner 用 WORKFLOW.md 的 prompt template 渲染輸入,啟動 Codex session,串流 turn / tool call / token usage 回 orchestrator。
Proof & Handoff
Agent 自己改 ticket state、附上 PR 連結、CI 結果、複雜度分析、walkthrough 影片。終點可能是 Done,也可能是 Human Review——由 workflow 決定。
Workflow Loader
解析 YAML front matter 與 prompt body,把「這個 repo 的 agent 工作流」當作 contract 載入。
Config Layer
提供 typed 配置存取、預設值、env 變數展開。Dispatch 前的 preflight 驗證也走這層。
Tracker Client
抓 candidate issue、查指定 ID 狀態、收尾時撈 terminal-state,並把 Linear payload 標準化。
Orchestrator
主時鐘。決定誰要 dispatch / retry / stop / release,掌握 in-memory runtime state、retry queue、metrics。
Workspace Manager
把 issue ID 對應到固定 workspace 路徑,跑 lifecycle hooks,terminal 狀態時清理掉。
Agent Runner
建立 workspace、組 prompt、啟動 Codex client、串流 turn / event / token usage 回主時鐘。
Status Surface
給人類看的 runtime 狀態——可以是 terminal 視窗、儀表板,或任何 operator-facing view。SPEC 不規定形式。
Logging
結構化 log 輸出到一個或多個 sink。多 agent 並行時,這是除錯的唯一可信來源。
WORKFLOW.md 的 prompt body 與團隊規則。跟 codebase 同個 git——agent 行為跟程式一起 version control。Workflow as Code
WORKFLOW.md 跟程式同個 repo、同個 PR review、同個 git history。Agent 的行為改一行都留痕跡。
Workspace 隔離
每張票一個獨立資料夾,agent 命令只能在裡面動。即使行為失準,blast radius 也鎖在那一張票。
Tracker as Contract
不發明新介面——Linear 既是工程師看的看板,也是 agent 的工作清單。人 ↔ agent 共用同一個 source of truth。
無資料庫狀態
沒有 persistent DB——重啟時靠 tracker 與 filesystem 重建狀態。少一個元件,少一個故障點,多一份簡單。
Supervise → Manage
過去一年,所有人都在問「怎麼讓 coding agent 更聰明」—— Symphony 的答案是把問題換成「怎麼讓 agent 更可被管理」。 不是讓 agent 自己決定要做什麼,而是讓 agent 的「做什麼 / 在哪做 / 結果交到哪」 都被一份 repo 內的 contract 管住。人類把心力從「監督每一步」收回, 去做更重要的事——定義 issue、審 PR、決定產品走向。 這才是 OpenAI 想用 17,197 顆星告訴你的東西: agent 的下一個瓶頸不是模型,是組織化。