symphony
把 Linear 项目管理变成 AI 编程团队的指挥中心,让工程师从监工变管理者
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
把 Linear 项目管理变成 AI 编程团队的指挥中心,让工程师从监工变管理者
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否有过这样的体验:给 AI 助手一个编程任务,它开始噼里啪啦写代码,你盯着屏幕不敢离开半步——生怕它跑偏、重复造轮子、或者干脆卡在一个死胡同里出不来。这种「AI干活,人盯着」的协作模式,正在被 OpenAI 在 2026 年 3 月开源的一个框架彻底颠覆。
Symphony(意为「交响曲」)是 OpenAI 发布的一款智能体编排框架。它的核心理念只有一个:把项目管理工具变成 AI 编程团队的指挥中心,让工程师从「监工」变成「管理者」。不是盯着 AI 写代码,而是告诉它「这个月要完成什么」,剩下的全交给它。
Symphony 并非 OpenAI 一拍脑袋想出来的产品。它脱胎于 OpenAI 内部的 Harness Engineering(测试工程)实践——OpenAI 团队在 2025 年底发表的博文中详细描述了如何构建能让 AI 编程工具发挥最大效能的代码库结构。Symphony 是这一理念的延伸:既然 Harness 能让单个 AI 编程工具跑得更好,那能不能让一群 AI 工具像交响乐团一样协同工作?
答案是肯定的。Symphony 由 OpenAI 于 2026 年 3 月 4 日以 Apache-2.0 许可证开源,发布仅数周便在 GitHub 收获超过 24,000 颗星,迅速成为开源 AI 工程自动化领域最受关注的项目之一。不同于 LangChain 或 CrewAI 等 Python 生态的智能体框架,Symphony 的参考实现选用了 Elixir/OTP——这个选择并非随意,而是有其深刻的技术考量。
提到 AI 编程工具,很多人第一反应是 Python 生态。但 Symphony 的参考实现偏偏选了 Elixir,这背后是精心权衡的工程决策。
Elixir 运行在 BEAM(Erlang 虚拟机)上,天生擅长处理并发。一个 BEAM 进程只占用几千字节的内存,却能轻松创建数万个并发任务。Symphony 需要同时管理多个 AI 编程智能体(默认最多 10 个并发),每个智能体都是一个长时间运行的进程,处理代码克隆、文件编辑、测试运行等任务。Elixir 的 OTP 框架提供了开箱即用的监督树(Supervision Trees)——当某个智能体进程崩溃时,监督者可以自动重启它,而不影响其他正在运行的智能体。这种「一个出问题,全家不崩溃」的容错机制,对于管理生产环境的 AI 自动化任务至关重要。
Elixir 的参考实现包含以下核心模块:
| 模块 | 职责 |
|---|---|
Orchestrator | 编排引擎:轮询 Linear、拉取任务、分配智能体 |
AgentRunner | 智能体生命周期管理:启动、监控、停止 |
Codex.AppServer | 与 OpenAI Codex 的 App Server 模式通信 |
Workspace | 为每个任务创建隔离的工作目录 |
Linear.Client | 与 Linear 项目管理 API 交互 |
StatusDashboard | Phoenix LiveView 实时状态面板 |
技术栈方面,核心框架基于 Elixir + Phoenix + Ecto(数据库抽象层),依赖了 bandit(HTTP 服务器)、req(HTTP 客户端)、jason(JSON 解析)和 yaml_elixir(YAML 配置解析)。Web 界面使用了 Phoenix LiveView,这是一个用 Elixir 构建实时交互页面的框架,无需写 JavaScript 即可实现动态更新。
Symphony 的工作流程可以分为四个阶段,循环往复:
第一阶段:轮询(Poll)——Symphony 每 5 秒轮询一次 Linear 项目,检测处于「Todo」「In Progress」「Rework」「Merging」等活跃状态的任务。当发现新任务时,进入第二阶段。
第二阶段:建仓(Workspace)——为每个任务创建一个独立的 Git 克隆仓库(默认放在 ~/code/symphony-workspaces/ 下),确保智能体只能在这个隔离目录内操作,不会意外修改原始代码库。仓库初始化脚本会自动安装依赖、配置开发环境。
第三阶段:执行(Execute)——启动 OpenAI Codex,以 App Server 模式接入工作目录,通过 linear_graphql 工具与 Linear 通信。Symphony 将任务描述和工作流程规范(定义在项目根目录的 WORKFLOW.md 中)作为系统提示词发给 Codex,后者开始自主完成代码实现。
第四阶段:收尾(Cleanup)——当任务被标记为「Done」「Closed」「Cancelled」等终态时,Symphony 自动停止对应智能体进程并清理工作目录。如果 Codex 报告需要人工介入(如权限不足或需要审批),任务会被标记为「blocked」,等待重启后继续。
这种架构将传统的「人等代码 → 人 review → 人 merge」流程,转变为「人定目标 → AI 执行 → AI 提交 PR → 人最后把关」的自动化流水线。
坦率地说,Symphony 并非开箱即用的工具。它的部署需要以下准备:
mise(一个现代化的运行时版本管理器)来简化安装过程。安装步骤(参考 elixir/README.md):
git clone https://github.com/openai/symphony
cd symphony/elixir
mise trust && mise install
mise exec -- mix setup
mise exec -- mix build
LINEAR_API_KEY=xxx ./bin/symphony ./WORKFLOW.md
整个过程约需 30 分钟到 1 小时,难度中等。Symphony 附带一个 Phoenix LiveView 实时状态面板(Web UI),可在浏览器中查看所有活跃任务、阻塞任务和工作目录状态,对运维友好。
Symphony 的 README 顶部有一个醒目的黄色警告框:「Symphony 是一个低调的工程预览版(low-key engineering preview),仅限可信环境测试使用。」这不是谦辞,而是真实的免责声明。
安全风险是最大的顾虑。WORKFLOW.md 中配置的 approval_policy 默认为 never——Codex 被授权在无需人工审批的情况下直接提交代码。如果工作目录隔离不够严密,理论上存在代码误写、仓库污染甚至敏感信息外泄的风险。WORKFLOW.md 也明确指出,实现者必须自行评估信任和安全态势。
平台锁定是另一个问题。Symphony 当前与 Linear 深度绑定(SPEC.md 中甚至写明了 Linear 的特定状态字段如「Rework」「Human Review」),不支持 Jira、Trello 等其他项目管理工具,迁移成本较高。
Elixir 生态的局限性也不容忽视。Elixir 社区虽然成熟,但远不如 Python 庞大——找 Elixir 开发者来做二次开发比找 Python 开发者更难,相关资料和 Stack Overflow 答案也更少。
Symphony 的意义远超一个技术框架本身。它代表了一种正在兴起的趋势:从「AI 辅助编程」到「AI 主导编程」的范式转移。
传统的 AI 编程工具(如 GitHub Copilot)定位是「副驾驶」——人在驾驶,AI 提供建议。而 Symphony 试图打造的是「自动驾驶」模式——人设定目的地,AI 全程操控。这种转变要求整个开发流程重新设计:任务粒度要更细、验收标准要更明确、隔离机制要更可靠。
从增长曲线看,Symphony 发布 3 周即突破 24,000 星的速度,在开源 AI 工具历史上极为罕见。这反映出工程社区对「减少人工重复劳动」工具的强烈需求。OpenAI 的背书也至关重要——不是每个团队都能说服公司信任 AI 全权负责代码实现,但如果是 OpenAI 背书、Apache-2.0 开源的方案,风险就更容易被接受。
Symphony 也在推动「Workflow-as-Code」的理念落地。WORKFLOW.md 文件本质上是一个任务执行的契约文档,团队可以在 Git 中版本化它、review 它、讨论它——这让 AI 的工作方式变得透明和可审计,而不是一个黑箱。
Symphony 不是一个完美的、开箱即用的产品——它甚至不是一个严肃的生产级项目。它更像是一个「概念验证」,用最少的代码展示了「用项目管理工具指挥 AI 编程团队」这一愿景在技术上是可行的。
如果你在 OpenAI 工作,或者你的团队已经在使用 Linear 并且对 Harness Engineering 有深入实践,Symphony 值得认真评估。否则,更务实的做法是先从它的工作原理和架构设计中汲取灵感,等待更成熟的多语言实现出现。
项目信息一览:
| 项目 | 信息 |
|---|---|
| 仓库 | openai/symphony |
| 主语言 | Elixir |
| Stars | 24,599(截至分析时) |
| 许可证 | Apache-2.0 |
| 发布时间 | 2026 年 3 月 4 日 |
| 依赖框架 | Phoenix, Ecto, LiveView, Bandit |
| 状态面板 | Phoenix LiveView Web UI(可选) |
| AI 引擎 | OpenAI Codex(App Server 模式) |
| 集成平台 | Linear(项目追踪) |