返回 FEED
AGENT2026-04-30

OpenAI 开源 Symphony:把 Linear 变成 AI 编码代理的控制中枢

六 个月前,OpenAI 内部一个团队做了一个激进决定:仓库里不允许有任何人类写的代码。每一行都必须由 Codex 生成。

结果跑通了。但随即撞上新的瓶颈:上下文切换

每个工程师同时开三到五个 Codex 会话,分配任务、审查输出、调整方向。AI 跑得很快,但系统的瓶颈变成了人的注意力。

他们意识到,自己实际上是雇了一批极其能干的初级工程师,然后让人类工程师去微观管理它们。这显然没法规模化。

Symphony:把任务追踪系统变成 Agent 控制中枢

他们问了自己一个问题:如果不直接监督 AI,而是让 AI 自己从任务追踪系统里拉取工作,会怎样?

这个想法变成了 Symphony。

核心思路:对每一个打开的任务,保证有一个 Agent 在它自己的工作空间里持续运行。

用的是 Linear。每个 Linear issue 对应一个独立的 Agent 工作空间。Symphony 持续监视任务看板,确保每个活跃任务都有 Agent 在跑。Agent 崩溃了自动重启,有新任务进来自动接手,人类只需要审查结果。

工作流用 Linear 的状态来驱动,像一台状态机:

Todo → In Progress → Human Review → Done

AI 代理在这些状态之间流转,人类只在 Human Review 节点介入。

Agent 自己创建任务

在实现过程中,Agent 如果发现了性能问题、重构机会或更好的架构方案,会直接在 Linear 里开新 ticket,供人类评估和排期。很多后续任务也会被代理接手执行。

有个工程师在信号很差的小屋里,用手机 Linear App 提了三个重要改动,Agent 照样接手执行了——因为编排器跑在 devbox 上,从不睡觉。

数据很直接

部分团队在前三周,合并的 PR 数量增长了 500%

Linear 创始人 Karri Saarinen 也提到,Symphony 发布后,Linear 上新建工作区的数量出现了明显峰值。

代码即规范

Symphony 代码仓库本质上就是一个 SPEC.md——对问题和解决方案的定义文档,而不是一个复杂的监控系统。他们定义好问题,给出高层次指引,然后把这份规范扔给 Codex 实现。

参考实现选了 Elixir,一门在并发和进程监督方面有非常好原语的编程语言。理由:当代码成本趋近于零,终于可以为了语言的优势本身来选语言,而不是为了招人方便。

Codex 一次性就把 Elixir 实现写出来了。为了打磨规范本身,他们又让 Codex 用 TypeScript、Go、Rust、Java、Python 各实现了一遍,用这些实现来发现规范里的歧义和可以简化的地方。每种语言都成功了。

最重要的转变:隐性规范 → 显式化

以前工程师们有一套隐性工作流程:接到任务,切出分支,把任务标记为进行中,提 PR,移到 Review 状态,附上演示视频……这些步骤人人都懂,但从来没有被正式写下来。

现在,这套流程被写进了 WORKFLOW.md,Symphony 确保 AI 代理遵循它。

以前是人类遵循隐性规范,现在是把规范显式化,让 AI 来遵循。

WORKFLOW.md 还有一个重要特性:热重载。修改后,Symphony 会自动检测变化,无需重启,直接把新配置应用到后续任务上。如果以后想让代理在完成后附上自我反思,只需要在 WORKFLOW.md 里加一行。

核心组件

  • Orchestrator(编排器):整个系统的大脑,唯一有权修改调度状态的组件,负责轮询任务、决定启动/重试/停止,追踪所有运行中的代理状态
  • Workspace Manager:每个任务有独立文件目录,Agent 只能在自己的目录里操作,这是重要的安全边界
  • Agent Runner:负责启动 Codex 进程,传任务提示词,把结果反馈给编排器
  • Issue Tracker Client:和 Linear 通信,拉取任务列表,同步状态变化

并发控制很细致:可以设置全局最大并发代理数(默认 10 个),也可以针对特定状态单独限制。重试机制用指数退避:第一次失败等 10 秒,第二次 20 秒,第三次 40 秒,最长不超过 5 分钟。

不要管理 Agent,管理任务就够了

Symphony 发布后三周获得了 15,000+ GitHub Star。社区已经有人做了 Go + Charm CLI 终端 UI 版本、Claude Code + GitHub Issues 版本、hatice(Claude Code 重新实现)等移植。

但 OpenAI 明确说了:不打算把 Symphony 作为独立产品维护。它是一个参考实现,一个演示 Codex App Server 能力的例子。

门槛出奇地低:把规范扔给 Codex,让它帮你实现一个适合自己环境的版本就行。

Symphony 解决的表面问题是"怎么让更多 AI 并行工作",更深层的变化是:当代码的边际成本趋近于零,整个软件开发的经济学都变了。

每次改动的感知成本下降,意味着大家开始愿意做以前觉得"不值得"的事:试一个想法,探索一次重构,验证一个假设,不满意就扔掉。

产品经理和设计师可以直接向 Symphony 提需求,不需要懂代码,不需要管理 AI 会话,描述功能,然后收到一个包含视频演示的审查包。

Symphony 的核心认知:不要管理 Agent,管理任务就够了。