Symphony:把项目管理变成自主编码 Agent 的调度器
一句话定位: Symphony 是 OpenAI 开源的多 Agent 任务调度服务,核心卖点是让团队管理“工作”而不是“监督 Agent”。你只需把任务放到 Linear 看板,Symphony 就会自动派发到独立 workspace,启动 Codex Agent 完成编码、提交 PR,全程无需人工盯守。GitHub Stars 已突破 24.9k,目前为工程预览版。
⚠️ Symphony 是低层次的工程预览版,主要供在受信环境中测试使用。
一、什么是 Symphony
Symphony 不是单个 Agent 工具,而是一个长跑型调度服务。它做了四件事:
- 从 Linear 拉取工作:定期轮询 Linear 看板上的可执行任务
- 创建独立 workspace:每个 issue 一个隔离的工作目录
- 派发 Agent 执行:在 workspace 中启动 Codex(App Server 模式)跑任务
- 持续跟进直到完成:Agent 自动完成开发、提交 PR、标记 Linear issue
整个过程是可重复的守护进程工作流,而不是一次性脚本。Symphony 解决的核心问题是:
– 把 issue 执行变成可重复的 daemon 流程
– 在每个 issue 独立的 workspace 中隔离 Agent 执行
– 团队把 Agent prompt 规则版本化在 WORKFLOW.md 里
– 提供足够多的可观测性来同时运营多个并发 Agent
二、设计哲学:从“管理 Agent”到“管理工作”
OpenAI 提出 Harness Engineering(驾驭工程)的概念:让代码库本身为 Agent 准备好一切——可观测性、错误处理、明确的指令。Symphony 是这个理念的下一步:
- 过去:工程师盯着 Codex、Cursor、Windsurf 等工具,逐行检查输出
- 现在:把任务状态交给 Linear,Symphony 自动把“Todo→In Progress→Human Review→Done”映射成 Agent 的执行状态机
核心设计:
– Workspace Manager 强制 cwd containment、path boundary 和目录名 sanitize,确保每个 Agent 的影响范围锁死在工单目录
– 状态机驱动:工单状态直接控制 Agent 的行为流,人类只在 Human Review 节点介入审查
– 证据回写:Agent 做完后把 PR、CI 状态、复杂度分析、walkthrough 视频作为“证据”回写到工单
三、为什么需要 Symphony
当 AI 可以并行做事以后,真正紧张的不是机器,而是人的注意力。你可能同时开着几个任务:一个还在分析需求,一个正在跑验证,一个已经改完但还没看代码差异,另一个又卡在环境问题上。工程师需要在不同窗口、不同终端之间来回切换,还要记住每个任务现在跑到哪里、下一步该谁处理。
Symphony 把一个个需要人工盯着跑的 AI 编码任务,变成一组可以排队、执行、观察和 review 的工程任务。工程师不需要一直盯着每一个 agent 的过程,而是把注意力放在更关键的判断上。
四、本地实战:让 AI 不只是写代码,而是接住一批任务
第一步:克隆仓库并按照 README 配置 Linear Token、Codex App Server 模式。
第二步:在 Linear 创建一个带“Todo”标签的 issue,Symphony 守护进程会在 30 秒内检测到并创建 workspace。
第三步:Codex 在隔离目录中读取代码、修改、跑测试、生成 PR。
第四步:PR 通过 CI 后,Symphony 自动把 Linear issue 状态改为“Human Review”,并附上复杂度分析和 60 秒 walkthrough 视频。
第五步:工程师 review 通过,Symphony 把 PR 合并到主分支并标记 issue 为“Done”。
整个过程零人工干预,工程师只需在 Linear 看板上拖拽状态即可。
五、与现有工具的区别
| 维度 | 传统 AI 编码助手 | Symphony |
|---|---|---|
| 任务来源 | 人工在 IDE 里发起 | Linear 看板自动拉取 |
| 执行环境 | 当前 workspace | 每个 issue 独立 workspace |
| 监督方式 | 持续盯屏 | 状态机驱动,仅 review 节点介入 |
| 证据输出 | 聊天记录 | PR + CI + 视频 + 复杂度报告 |
| 并发能力 | 受限于人工注意力 | 可同时跑数十个 Agent |
六、如何快速上手
- 访问 GitHub openai/symphony,Star 并克隆仓库
- 按照 SPEC.md 准备符合 Harness Engineering 的代码库
- 在 Linear 创建项目看板并打上 Symphony 标签
- 启动
symphony daemon,即可看到第一个 issue 被自动接管
Symphony 不是要替代工程师,而是把工程师从“AI 监督员”角色解放出来,让团队真正把精力放在需求设计、架构规划和代码审查上。