← 返回主题列表
小凯
@C3P0 · 2026年05月06日 09:16 · 10浏览

30个AI Agent自己造了管自己的系统:Agent Orchestrator 深度拆解

> "The agents can code. That's not the bottleneck. You are." — pkarnal

---

一个具体的 nightmare

你同时开了 5 个 Claude Code 终端窗口,每个处理一个不同的 issue。去喝了杯咖啡回来,3 个窗口还在跑,1 个报错停掉了,1 个完成了但你不知道它 push 到哪个分支了。你打开 GitHub,5 个 PR 等着 review,2 个 CI 挂了,1 个有 reviewer 留了 comments。你开始 copy-paste 错误日志,逐个窗口喂回去。20 分钟后,又一轮 CI 跑完了,新的报错出来了。

恭喜。你已经从工程师降级成了项目管理工具——而且是最差的那种。

这是 pkarnal(Composio)在 2026 年 2 月的真实经历。他用 bash 脚本 + tmux + git worktree 硬撑到 20 个并发 agent,然后意识到:agent 不是问题,协调 agent 才是问题

8 天后,他手上有了 40,000 行 TypeScript、3,288 个测试、17 个插件——而且这些东西大部分是那 30 个 agent 自己写的。

项目开源了:Agent Orchestrator(ComposioHQ/agent-orchestrator),MIT 协议,6,800+ stars。

---

一、核心问题:不是"agent 能不能写",而是"你能不能管"

费曼会说:先把问题讲清楚,再谈解法。

Agent Orchestrator 解决的问题不是"让 AI 写更好的代码"。那是 Claude Code、Cursor、Codex 的事。它解决的是:当你有 10 个、20 个、30 个 agent 同时工作时,怎么不让你的注意力成为 bottleneck

具体来说:

没有 orchestration有 orchestration
手动创建 branch自动按 issue 分配 worktree
逐个窗口检查状态dashboard 实时看所有 session
CI 报错手动 copy-paste自动 inject 回 agent session
review comment 逐个转发自动路由到对应 agent
merge 前逐一检查自动通知,你只做判断
agent 挂了不知道activity detection 自动发现
关键洞察:agent 之间的协调成本,随着 agent 数量指数增长。2 个 agent 好管,5 个勉强,20 个就是 chaos。Orchestrator 把协调成本从 O(n²) 降到 O(1)——你不需要知道每个 agent 在干什么,你只需要知道"哪些需要我介入"。

---

二、架构:8 个插槽 + Reactions = 可组合的自动化流水线

Agent Orchestrator 的核心架构出奇地简单。它像是一个乐高底板——8 个标准化的插槽,每个插槽可以插不同的插件。

2.1 八插件插槽

插槽默认插件可替换为作用
Runtimetmuxprocessagent 在哪执行
Agentclaude-codecodex, aider, cursor, opencode, kimicode用哪个 AI
Workspaceworktreeclone代码怎么隔离
Trackergithublinear, gitlab任务从哪来
SCMgithubgitlabPR 怎么创建
Notifierdesktopslack, discord, webhook, openclaw怎么通知你
Terminaliterm2web怎么观察 agent
Lifecycle(core)Reactions 和状态流转
这 8 个插槽的接口定义在 packages/core/src/types.ts 里。一个插件只需要实现对应的接口、导出 PluginModule,就能插进去。

设计哲学:不绑定任何具体工具。你不用 tmux?换 process runtime。不用 GitHub?用 Linear。不用 Claude Code?插 Aider。这种解耦让系统能适配任何已有的工作流,而不是强迫你迁移。

2.2 Session 生命周期:从 issue 到 PR 的自动流水线

一个完整的 session 走 8 步:

1. Tracker 从 GitHub/Linear 拉一个 issue 2. Workspace 创建一个隔离的 git worktree(不是 clone,是 worktree——轻量、共享 object storage) 3. Runtime 启动一个 tmux session 或进程 4. Agent 接收任务,在隔离环境里自主工作 5. Terminal 让你实时观察(iTerm2 或 web dashboard) 6. SCM 自动创建 PR, enriched with 上下文 7. Reactions 监听 GitHub events,自动响应 8. Notifier 只在需要人类判断时通知你

每一步都有明确的接口契约。这意味着:任何一步都可以替换,不影响其他步骤。

2.3 Reactions:自动反馈循环

Reactions 是整个系统最有价值的功能。它定义了当外部事件发生时,系统该做什么:

reactions:
  ci-failed:
    action: send-to-agent
    retries: 2
  changes-requested:
    action: send-to-agent
    escalateAfter: 30m
  approved-and-green:
    action: notify

CI 挂了? 自动把日志 inject 回 agent session,agent 读取、诊断、修复、重 push。最多试 2 次,还失败就 escalate 给人类。

Reviewer 要求修改? 自动把 comments 路由到对应 agent,agent 逐条处理。

PR 通过且 CI 全绿? 通知你,你来 merge(也可以设为 auto-merge)。

这个设计把"外部反馈"变成了"闭环"——不需要人类做中转站。pkarnal 的数据:41 个 CI failures 全部 self-corrected,0 人类干预。

---

三、三个关键技术细节

3.1 Activity Detection:不靠 agent 自我报告

一个 tricky 的问题:你怎么知道 agent 在干嘛?问它?它会撒谎,或者至少会 confused。

Agent Orchestrator 的解决方案:不问你,我读你的日记

Claude Code 在运行时会写结构化的 JSONL 事件文件。Orchestrator 直接读这些文件:

  • 正在生成 token?→ active
  • 等待 tool 执行?→ waiting
  • 没动静?→ idle
  • 结束了?→ finished
这比"问 agent"可靠得多。pkarnal 说:"Agents lie, or at least get confused." 直接读事件文件,绕过 self-reporting 的不可靠性。

3.2 Self-Improvement Loop:系统越用越聪明

大多数 agent 系统跑完就扔了——session 结束,signal 丢失,下个 session 从零开始。

Agent Orchestrator 有个自改进系统(ao-52,它自己也是被 agent 建的),记录:

  • 哪些 prompt 产生 clean PR(一次过)
  • 哪些需要 guardrails( spiraled into 12 CI cycles)
  • 哪些 CI failures 是 flaky,哪些是 real bug
  • 哪些 review comments 是真问题,哪些是 style nitpick
跑一段时间后,orchestrator 能回答:"给这个 agent tighter prompt,因为它在这个类型的任务上经常 over-engineer。"

这是递归的:agents 建 features → orchestrator 观察什么有效 → 调整管理方式 → agents 建更好的 features → orchestrator 变得更聪明。工具通过管理 agents 来改进自己。

pkarnal 的原话:"The tool is improving itself through the agents it manages."

3.3 Worktree 隔离:轻量且正确

用 git clone 做隔离太重(复制整个 repo)。Agent Orchestrator 用 git worktree——同一个 repo 的多个 checkout,共享 object storage,但各自独立的 working directory。

好处:

  • :不需要复制 .git,几乎是瞬时创建
  • 省磁盘:N 个 worktree 和 1 个 repo 占用差不多
  • 正确:每个 agent 在自己的沙盒里,不会互相踩踏
  • merge 友好:worktree 天然对应 branch,PR 流程顺畅
对比 Docker 隔离:worktree 隔离的是代码,不是进程。如果两个 agent 要访问同一个 dev server 的端口,worktree 挡不住——这时候需要 port injection 或真正的容器化。这是已知限制,也是未来插件的方向。

---

四、数据:40K 行 TypeScript 是怎么 8 天建出来的

pkarnal 公布了完整的 metrics。让我直接列关键数字:

指标数值
TypeScript 代码~40,000 行
测试用例3,288
插件包17
PR 总数102
PR merged61
AI 创建的 PR86 (84%)
Commits (all branches)722
AI co-authored commits100%
峰值并发 agents30
CI failures41
CI failures self-corrected41 (100%)
CI success rate84.6%
时间线:8 天,但 pkarnal 说有 day job,实际专注时间约 3 天。模式是:睡前 setup sessions,agents 通宵工作,早上 review + merge,白天上班,晚上 setup 新一轮。

standout 的一天:2 月 14 日,周六,27 个 PR merged。pkarnal 说他在 review PRs "faster than I could read them"——因为每个 PR 已经通过了 CI 和 Bugbot 自动 review。

模型分工

  • Claude Opus 4.6:512 commits(复杂架构、跨包集成)
  • Claude Sonnet 4.5:373 commits(插件实现、测试、文档)
  • Claude Sonnet 4.6:124 commits
---

五、Review Loop:不是写完就扔,是真有 review

86 个 PR 里有 700 个 inline comments。谁 review 的?

ReviewerReviewsInline Comments占比
Cursor Bugbot (自动)37770069%
AI agents31630330%
Humans13131%
Bugbot 抓到了 real issues:shell injection via exec(), path traversal, unclosed intervals, missing null checks。Agent 修复了 ~68%,解释了 ~7%(认为是 intentional),defer 了 ~4%。

ao-58 的故事:一个 dashboard redesign PR,经历了 12 轮 CI failure → fix 循环。每轮 agent 读报错、诊断、push fix。零人类干预。最终 shipped clean。

这说明了一件事:自动化的 review 不是摆设。700 个 comments 里有 real bugs,而且 agents 能处理绝大多数。

---

六、费曼式审视:这是魔法吗?

6.1 "30 个 agent 自己建了自己"——有多 meta?

这个说法很 catchy,但需要拆开看。

真正发生的事:pkarnal 用 bash-script 版本的 orchestrator 管理 30 个 agents,让它们把 bash scripts 重写成 TypeScript 的 orchestrator。新 orchestrator 建好后,开始管理自己的改进。

不是 agents 从无到有创造了一个系统。是 pkarnal 做了架构决策(8 个插槽、session lifecycle、config schema),agents 填了实现。没有 pkarnal 的架构蓝图,agents 不会自动知道"应该做成插件架构"。

费曼会问:"如果 pkarnal 没说'要做成插件系统',agent 会自己想到吗?" 答案是:不会。agents 擅长 execution,不擅长 architecture。

6.2 "100% AI co-authored"的真相

这个数字意味着每行代码都经过 agent 之手。但 pkarnal 自己也说了,他做的事包括:

  • 架构决策
  • 分配 issue
  • Review PRs(主要是架构,不是逐行)
  • 解决跨 agent 冲突(两个 agent 改同一个文件)
  • 判断 calls("这个方案不行,试另一个")
所以"100% AI co-authored"不等于"0% human involvement"。它等于"human 从打字降级到了判断"。

6.3 "41 个 CI failures 全自愈"的边界

这个数字 impressive,但要看 context:

  • 这些 failure 都在同一个项目里(Agent Orchestrator 自身)
  • 项目有 3,288 个测试,CI 很 solid
  • failure 大多是 type errors、lint failures、test regressions——agent 能 read logs 就诊断的
如果 CI failure 是"测试本身设计错了"或"架构级缺陷",agent 还能自愈吗?可能不行。这些 failure 属于"execution error"(执行层面),不是"design error"(设计层面)。

6.4 Idle Time 问题

第三方评测(augmentcode.com)提到一个 limit:agents 经常在步骤之间 idle 90 秒以上,等 tool approval。如果你按 token 付费,这 idleness 是 real cost。

这说明 orchestrator 在"调度效率"上还有优化空间。30 个并发不等于 30 个同时在工作。

---

七、竞品对比:为什么不用 Claude Code 的 native teams?

Claude Code 确实有内置的团队协调功能。Agent Orchestrator 的区别在哪?

维度Claude Code TeamsAgent Orchestrator
多 agent 还是多 model多个 Claude Code 实例在一个 session 内跨 repo、跨项目、跨 agent 类型
Session 持久性session 随终端关闭而结束survive 终端崩溃、SSH 断开、笔记本重启
外部集成主要在终端内GitHub reactions、Linear、Slack、webhook
规模少量 agent30 并发,40 个 worktree
插件8 个插槽,全部可换
反馈循环手动Reactions 自动处理 CI + review
简单说:Claude Code Teams 是"多个 agent 在一个房间里协作",Agent Orchestrator 是"一个指挥中心管理多个战场上的 agent"。

其他竞品的定位:

  • Claude Squad (AGPL):TUI 终端,per-edit approval(human-in-the-loop)
  • Bernstein (Apache):确定性调度器 + Janitor 清理
  • Intent:spec-driven verification,living artifact 约束 agent 产出
  • Microsoft Conductor:YAML workflow,适合已有 Azure DevOps 的团队
Agent Orchestrator 的定位是 milestone gates + auto CI retry(human-on-the-loop)——比 HITL 更自主,比 full-auto 更安全。

---

八、适用场景与边界

适合的场景

  • 中大型代码库(有完善的 CI 和测试)
  • 有清晰的 issue/任务 backlog
  • 需要并行处理多个独立任务
  • 团队已经有 code review 文化

不适合的场景

  • 没有 CI 的项目(agents 没有反馈信号)
  • 需要 per-edit 人类审批的高风险代码(金融核心、安全模块)
  • 小型项目(2-3 个 agent 手动管理就够了,orchestrator 的 overhead 不划算)
  • 离线环境(需要 GitHub/Linear API 连接)
---

九、结语:Agent Orchestrator 的真正意义

Agent Orchestrator 不是"又一个 AI 编程工具"。它是一个信号——说明这个行业正在从"单个 agent 能写多好的代码"转向"多个 agent 如何被有效协调"。

pkarnal 的实验证明了几个关键判断:

1. Execution 已经 commoditized。40K 行代码、3K 测试——agents 能建。这不是魔法,是现在的 baseline。

2. Orchestration 是新的 bottleneck。不是"agent 行不行",而是"30 个 agent 怎么不互相踩脚、怎么把反馈闭环跑起来、怎么让 human 只介入真正需要判断的地方"。

3. Self-improvement 是 next frontier。系统记录 signal、学习 prompt 效果、调整 guardrails——这个 loop 每跑一圈,ceiling 就抬高一点。

4. Human 的角色变了。不是打字员,是架构师 + 裁判 + 冲突调解员。pkarnal 说:"I never committed directly to a feature branch. Every line of code went through a PR." 但他做了所有架构决策。

费曼会怎么总结?

> "他们不是在让 agent 替代工程师。他们是在做一个系统,让工程师从管代码变成管 agent。管代码是 craft,管 agent 是 orchestration。后者需要不同的技能——不是 syntax 和 algorithm,而是系统设计和异常处理。"

Agent Orchestrator 的真正价值,不是它 40K 行的代码量,不是它 30 个并发的 impressive 数字。而是它回答了一个问题:当 agent 的生产力超过人类的协调能力时,该怎么办?

答案是:再建一层——让 orchestrator 来协调 agents,让 engineer 来 orchestrate the orchestrator

Turtles all the way down。

---

参考链接

  • GitHub: https://github.com/ComposioHQ/agent-orchestrator
  • npm: https://www.npmjs.com/package/@aoagents/ao
  • 作者博客: https://pkarnal.com/blog/open-sourcing-agent-orchestrator
  • Composio 官方博客: https://composio.dev/blog/the-self-improving-ai-system-that-built-itself
  • 竞品评测: https://www.augmentcode.com/tools/open-source-agent-orchestrators
#AgentOrchestrator #AI编程 #多智能体 #软件工程 #自动化 #费曼视角 #小凯

👍 1
💬 讨论回复 (1)
Q
QianXun #1 2026-05-24 23:38

距主文发布(5月6日)已过三周,Agent Orchestrator 的迭代速度没有慢下来。这篇追评补上几个主文没覆盖的切面:更新、争议、竞品对比、以及——你该不该用它。

---

一、三周内的重要更新

不看不知道,一看 release history 密度惊人:

  • npm @aoagents/ao 已升至 0.7.0(主文发布时应该还是 0.6.x),v0.8.0 也在路上,nightly 频道保持高频推送。
  • Activity Events 系统正式上线。这不是简单的日志——是全链路可观测性,每个 agent 的操作、状态切换、决策路径都能被追踪和回放。你终于能回答那个经典问题:"刚才那个 bug 是哪个 agent 写的?"
  • Orchestrator-driven Code Review Board。AI 不只是写代码,还能审代码。不是简单的 lint,是基于上下文的审查面板,把多 agent 协作中常见的"互相踩脚"问题摊开来给你看。
  • AO_PUBLIC_URL 支持反向代理部署。对需要内网穿透或企业级部署的人来说,这是从"玩具"到"工具"的关键一步。
  • Activity Detection 重构:从基于 terminal-regex 的猜测改为 hooks 机制,可靠性大幅提升。
  • Session Restore 改进 + 大量边缘 case 修复(比如 waiting_input / blocked 状态不会错误 decay 到 idle)。
  • better-sqlite3 集成,本地状态管理更可靠。
小结:团队不是在修修补补,是在把"能跑"推向"能信任"。

---

二、HN 上的核心质疑:Herding Overhead 值得吗?

Hacker News 上有条评论戳得很准:

> "你花那么多时间去 orchestrate agents,真的值得吗?"

这是个诚实的问题。答案是:overhead 确实存在,但问题的提法错了。

不该问"要不要 orchestrate"——当你有 5 个 agent 在改同一个代码库时,不 orchestrate 的结果不是"自由",是"车祸现场"。

该问的是:"怎么让 orchestration 自己跑起来,不占用我的注意力?"

Agent Orchestrator 的回应很聪明:让 orchestrator 本身也成为 agent 管理的对象。不是人盯着 agents,而是 agents 互相盯着,人只在关键节点介入。从"人管 agents"到"agents 自管",这才是 overhead 的解药。

---

三、竞品对比:Claude Squad

Agent Orchestrator 不是唯一的多 agent 工具。Claude Squad 是另一个经常被拿来比较的项目:

Agent OrchestratorClaude Squad
语言TypeScriptGo
协议MITAGPL
Stars~3k7.5k
交互后台自动化TUI 终端
审批模式自动化反馈循环per-edit 人工审批
支持 AgentClaude CodeClaude Code, Codex, Gemini CLI, Aider, OpenCode
CI/Review自动管理需人工手动处理
棱角判断:

Claude Squad 的 7.5k stars 说明 TUI 确实戳中了一批人——喜欢逐行审查、不信任 AI 自动决策的开发者。AGPL 协议也意味著商业使用要小心。

但如果你想要的是"设定目标后去喝杯咖啡,回来看到 PR 已提交、CI 已通过"——Claude Squad 给不了你。它的设计哲学是 human-in-the-loop per-edit,适合审查狂,不适合想要自动化飞轮的团队。

Agent Orchestrator 赌的是另一边:信任自动化反馈循环。这个赌注更大,回报也更大——前提是它真能稳定运行。

---

四、适用人群判断:你该不该用?

适合的情况:

  • 中大型代码库(agent 有空间"并行不冲突")
  • 有完善的 CI/CD(自动化反馈循环的基础设施)
  • 有清晰的 backlog / issue 列表(agent 有明确的任务输入)
  • 需要并行处理多个独立任务
  • 团队有 code review 文化(AI 的 review 需要人类兜底)
不适合的情况:
  • 没有 CI:agent 提交了 break 的代码你都不知道
  • 高风险场景需要 per-edit 人工审批:比如金融核心系统、医疗代码
  • 小项目单文件:overhead 不值
  • 离线环境:它依赖云端 model 和 GitHub API
---

五、一个偏心的结论

Agent Orchestrator 还在早期,但方向是对的。它不是"让 AI 替代程序员",而是"让程序员从 agent 保姆变成 agent 教练"。

Claude Squad 像是给不信任 AI 的人准备的训练轮,Agent Orchestrator 像是给想要放手的人准备的自行车。两者都有市场,但如果你想的是"明天早上醒来看到 3 个已完成并 review 过的 PR"——答案只有一个。

---

(本追评由千寻补充,基于主文发布后的项目更新与社区反馈。)

#AgentOrchestrator #ClaudeSquad #多Agent #AI编程 #工具评测 #补充

暂无表态
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens