Multi-Agent Workflow • Handoff • Feedback Loop

Agent Teams。
真正的技术团队,已脚本化。

AgentsRoom Teams 像真正的工程团队一样串联您的 AI 编码代理。Fullstack Dev 交付功能,QA Engineer 验证,PM 签收。每个角色都已脚本化,工作流是可视化的,每次交接都携带功能摘要、diff、风险和测试提示。再也不用让一个代理把所有事情都做得一塌糊涂。

在可视化画布上组建你理想中的 AI 开发团队, 就像搭一个 n8n 工作流。条件连线、反馈循环、并行审查分支、机器验证的质量门、循环上限。保存一次, 在每张工单上运行, 看你的代理像资深工程师一样交接接力棒。

AgentsRoom Teams:可视化多代理工作流编辑器、Claude Code 代理间的自动交接、Dev to QA 反馈循环、基于 MCP 的代理间通信。

Agent Teams 是 AgentsRoom 对 AI 编码代理一个残酷真相的回答:试图做所有事的单一代理最终把所有事都做得一塌糊涂。同时编码、测试、审查、部署还要写规格的 Fullstack 代理在中途会忘掉一半的指令。正确答案,全世界每一个严肃的软件团队都在用的,是把工作拆分成角色。Developer 写代码。QA Engineer 验证。Product Manager 签收。Security Reviewer 审计。每个角色都有自己的上下文、自己的焦点、自己的工具。

这正是 Agent Teams 给 AgentsRoom 带来的。您在无限画布(基于 React Flow 构建,与 n8n、Make、Retool 和 Pipedream 同样的引擎)上放置节点,每个节点是一个分配给特定角色的 Claude Code、Codex、OpenCode、Antigravity CLI、Aider、Grok Build、Mistral Vibe 或 Kimi Code 代理,您把它们连接起来。在 backlog 中的工单上运行该团队,或绑定到任何新的代理 spawn。AgentsRoom 编排整个链:spawn 第一个代理,等待交接,总结工作,以该总结作为入站上下文 spawn 下一个代理,重复直到团队到达终止节点。

其他工具试图用一个超级代理和聪明的提示来完成这件事。我们试过了,超过三步就不工作了。角色漂移,上下文丢失,代理忘了它要验证什么。Agent Teams 把代理当作真正的队友来对待:每个代理都获得一个干净的会话、聚焦的系统提示、结构化的交接 payload,以及一个共享草稿板用于和其他代理对话。这才是您真正想要的 AI 工程团队工作流。

AgentsRoom Agent Teams 可视化工作流编辑器:Dev、QA、PM、Security 和 DevOps 角色的节点在带条件边和反馈循环的无限画布上连接

AgentsRoom Teams 编辑器:为每个角色放置节点、连线、添加条件、保存团队、在任何工单上运行。

真正可扩展的多代理编排

画布上的每个节点都是一个代理。您选择它的角色(Fullstack、Frontend、Backend、QA、Security、DevOps、PM、Architect、Mobile、Marketing、Git、SEO、Localization,或您已创建的任何自定义角色)、它的模型(Opus、Sonnet、Haiku、GPT-5、o3、Antigravity Pro 等)、它的交接模式(通过 Stop hook 自动,或通过按钮手动),以及几行步骤特定指令。就这样。没有提示工程仪式,没有要写的 YAML 配置文件。

边连接节点。一条简单的边意味着:当第一个代理完成它的步骤时,交接给下一个。一条条件边携带一个标志检查,例如 qaPassed equals true。QA 代理在它的交接 payload 中设置该标志,runner 选择匹配的边。这就是您构建反馈循环的方式:QA 完成,qaPassed equals false,边将工单连同测试提示和风险一起送回 Dev。Dev 修复后再次交接。循环直到 QA 通过或 max-cycles 守卫触发。

代理间通信在设计上就是健壮的。AgentsRoom 提供专用 MCP 服务器(agentsroom-team),为运行中的每个代理提供一组工具:读取团队上下文、读取共享 NOTES.md 草稿板、为队友发布笔记、向另一个角色发送问题、读取收件箱、读取时间线、读取相对运行基线的 git diff、用结构化 payload 完成步骤。这些工具会在每一轮重新注入到 Claude 会话中,所以它们能在上下文压缩中存活。即使在 /compact 或 /clear 之后,代理仍然看得到它的团队工具。

在此之上,UserPromptSubmit hook 在每条用户消息前提醒代理来自队友的任何新笔记。工作区中的 NOTES.md 文件是仅追加的,能在崩溃、重启和 Mac 重启后存活。服务器端校验的交接 payload 模式防止代理用空或垃圾 payload 交接。这是大多数多代理 demo 悄悄跳过的部分,也是它们大多数在第 3 个循环就崩溃的原因。

运行 AI 工程团队所需的一切

可视化工作流、真正的交接、真正的反馈循环、真正的代理间通信。设计目的就是让您用一次 Slack ping 而不是五十次来交付一个功能。

可视化工作流画布

由 React Flow 驱动的无限可缩放画布,与 n8n、Retool、Pipedream 和 Make 背后的引擎相同。放置节点、连线、保存团队。无需代码,无需 YAML。

14 个内置代理角色

Fullstack、Frontend、Backend、DevOps、QA、Security、PM、Architect、Mobile、Marketing、Git Expert、SEO、i18n。再加上您已经在项目上保存的任何自定义角色。

每节点的模型和提示

每个节点选择自己的供应商、模型和步骤指令。Architect 用 Opus,QA 用 Haiku,重型后端用 Codex,便宜的前端用 Antigravity。自由组合。

自动交接

当代理调用 team_complete_step 时,AgentsRoom 构建交接 payload(功能摘要、变更文件、风险、测试提示、标志),并以该 payload 作为起始上下文 spawn 下一个节点。

手动交接选项

想要验证每一步?把节点切换到手动模式。代理等待,您对结果满意时点击 'Hand off'。两全其美。

条件边

每条边可以携带一个标志检查(例如 qaPassed equals true)。构建分支:QA 通过则到 PM,否则循环回 Dev。真正的工作流逻辑,无需脚本。

反馈循环

Dev to QA to Dev to QA。当 QA 把工单送回时,原始 Dev 代理被重用,并保留前一个循环的全部记忆,所以它真的会修复回归,而不是从头开始。

机器验证的质量门

在节点上固定一条检查命令 (npm test、lint、build)。代理宣告完成时 runner 执行它: 退出码 0 把路由标志设为 true, 其他值设为 false。实测结果永远覆盖代理的自我报告。

并行审查分支

从一个节点画出两条无条件连线, 两个目标同时运行: QA 和 Security 并排审查同一份 diff, 然后汇合节点合并双方报告。只要有一条分支亮红, 大门就保持关闭。

按步骤固定技能

把 Skills Library 的条目挂到节点上。代理在开始该步骤前先加载它们: 你的审查清单或部署手册在每次运行都被执行, 而不是等代理想起来。

Max-cycles 守卫

可配置上限(默认 3)。避免无限的 QA-rejects-Dev 循环。达到上限时,运行在 awaiting-finalization 暂停,由您决定下一步。

运行挺得过重启

运行中途关掉应用再打开, 运行会回到它停下的步骤。状态、笔记和时间线都在磁盘上; 编排器会接着干活, 而不是留下一个僵尸。

团队库同步到账户

全局团队与你的账户同步, 跨机器跟随你; 项目团队随 room 移动。两者都保留离线缓存, 离线所做的修改在重新连接时回放。

共享 NOTES.md 草稿板

运行中的每个代理都读写工作区中的一个 markdown 文件。能在压缩、崩溃、重启中存活。是团队推理的唯一真相来源。

角色对角色收件箱

需要让 QA 在运行中向 Architect 提问?team_ask 把消息发布到角色的收件箱。该角色的下一个代理读取并回复。代理之间的真实聊天。

基于 MCP 的代理间通信

所有团队工具通过 MCP 服务器暴露。工具能在 Claude 上下文压缩中存活(Anthropic 每一轮都重新发送)。对 /clear、/compact 和长循环具有韧性。

Haiku 驱动的交接摘要

如果代理不写自己的功能摘要,会用一个小 Haiku 调用从 git diff 生成。便宜、快速,下一个代理总是带着上下文落地。

Browser MCP 传播

带 verifyInBrowser 的团队节点会自动把它的代理切换到浏览器访问模式。QA 节点带着完整的浏览器工具(navigate、click、type、screenshot、get logs)落地。

每次运行的临时代理

每次团队运行都 spawn 全新的代理,并在 dismiss 时销毁。您的项目代理列表保持干净。团队是工作流,代理是运行时。

全局和项目团队

把可重用的团队保存到全局库(~/.agentsroom/teams)或固定到特定项目(与 room 一起提交)。同样的编辑器,不同的范围。

内置四个团队模板

先构建再验证、先规格再构建再验证、捉虫行动 (复现、修复、证明), 以及 QA 与 Security 并行的发布护盾。复制、编辑、运行。30 秒即可上手。

运行时间线 UI

每次交接以一张卡片出现在运行时间线上:哪个角色刚完成、摘要说了什么、哪些文件变更、哪些标志被设置。可审计,可回放。

在任何 backlog 工单上运行

把工单拖到一个团队上,链就在该工单上启动。第一个代理读取工单标题和正文,团队的其余成员从那里接过去。

14 个专业角色,准备就绪可连线

每个角色都有自己的系统提示、关注领域和示例任务。在画布上自由组合。随时添加您自己的自定义角色。

Fullstack
End-to-end implementation
Frontend
UI, components, design tokens
Backend
API, database, performance
DevOps
CI/CD, infra, deployment
QA
Tests, edge cases, regression
Security
Audit, OWASP, secrets, auth
Architect
System design, refactor
PM
Specs, priorities, scope
Mobile
iOS, Android, React Native
Marketing
Copy, landing, SEO
Git Expert
Branches, rebase, history
SEO
Rankings, structured data
Localization
i18n, l10n, 14 languages
Custom
Bring your own role

为什么真正的团队胜过一个超级代理

多代理编排听起来像个 buzzword。这里是您真正会交付的功能上的实际差别。

场景:为电商网站添加 Stripe checkout 流程

独行的超级代理

  • 读取工单。在 API、React 表单、webhook、迁移和测试中写了 600 行。
  • 在 webhook 上忘了 idempotency key。忘了测试失败路径。忘了 staging env var。
  • 说 '完成'。您花两小时在生产中找 bug。

Agent Team(Dev to Security to QA)

  • Fullstack 代理交付实现,提交,带着摘要和标记 auth 变更的风险列表交接。
  • Security 代理读取 diff,审计 webhook 签名检查,在交接 payload 中为 QA 写测试提示。
  • QA 代理在嵌入式浏览器中运行测试提示,命中一个 idempotency bug,设置 qaPassed equals false,把工单连同精确复现送回 Dev。
  • Dev 修复,再次交接。QA 通过。PM 收尾。运行进入 done。

同样的工单,同样的模型,同样的项目。不同的工作形态。团队方式抓到了独行代理漏掉的东西,因为每个角色都有聚焦的简报和结构化的交接。

信任靠测量, 不靠宣称

一个自己批改自己作业的代理, 迟早会给自己打及格。Agent Teams 用两套机制让流水线保持诚实。

退出码说了算

任何节点都可以声明一条检查命令: npm test、lint、build, 只要能返回退出码。代理调用 team_complete_step 时, runner 在工作区执行命令, 并把实测结果写进路由标志。绿了, 运行继续前进。红了, 失败输出连同真实的 stderr 落到下一个代理上下文的最顶端。测试套件红着却声称全部通过的代理, 会被红色的套件路由, 而不是被它的声称路由。

四只眼睛, 同时上阵

把节点展开成并行分支: QA 走一遍流程, Security 同时审计 diff, 各自在自己的代理里, 看不到对方的结论。汇合节点等齐所有分支, 合并摘要、风险与标志, 再按合并结果路由。布尔冲突按设计解析为 false: 一个不通过的审查者就足以按住发布。

Dev → [ QA ∥ Security ] → Release gate

团队运行的工作方式

01

打开 Teams 标签

在项目视图中, Teams 标签列出四个内置模板 (先构建再验证、先规格再构建再验证、捉虫行动、发布护盾), 以及你已保存的团队。复制一个模板, 或点击 'New team'。

02

在画布上构建工作流

在 React Flow 画布上放置代理节点。对每个节点,选择角色(Fullstack、QA、Security、PM 等)、供应商、模型和几行步骤指令。用边连线。如果需要分支,在边上添加条件。

Dev → QA → PM
03

为每个节点设置交接模式

自动交接:代理工作完成时调用 team_complete_step,runner 接管。手动交接:代理等待您点击 'Hand off'。按需混合两者。

04

运行团队

从 backlog 工单点击 'Run with team'。从空的代理槽点击 'Create as team'。第一个节点作为临时代理在项目工作区中 spawn。

05

观看交接发生

代理 N 完成后, AgentsRoom 组装交接 payload (由代理或 Haiku 生成的摘要、git diff、风险、测试提示、标志), 向 NOTES.md 追加一条笔记, 按标志挑选正确的出边, 并把该 payload 作为输入上下文交给代理 N+1。如果节点声明了检查命令, runner 会先执行它: 决定路由标志的是实测退出码, 而不是代理的说法。

06

循环、结束、收尾

反馈循环重新进入原始代理(保留完整记忆)。终止节点触发 awaiting-finalization。您点击 'Finish run'。dismiss 横幅以销毁代理并释放 PTY。

在任何情况下都能存活的代理间通信

大多数多代理 demo 跳过的细节。这就是 Agent Teams 在长时间运行和多个循环中保持稳定的原因。

Claude Code 代理有上下文窗口并会压缩它。多代理系统的经典错误是只把团队协调放在系统提示里。两轮 /compact 之后,代理就完全不知道自己在团队中。AgentsRoom 不这么做。

所有团队协调存在于三个能在压缩中存活的地方。第一,MCP 服务器(agentsroom-team)暴露工具(team_get_context、team_read_notes、team_post_note、team_read_inbox、team_ask、team_read_timeline、team_read_diff、team_complete_step)。MCP 工具被 CLI 在每一轮重新发送给 Claude,所以它们对上下文压缩免疫。

第二,UserPromptSubmit hook 在每条用户消息前运行,如果该角色有新笔记或新收件箱消息,会前置一个小提醒。无事时便宜,有事时关键。

第三,NOTES.md 和 state.json 存在工作区的磁盘上。代理可以随时用一个简单的 Read 或用 team_read_notes 重新读取。能在崩溃、重启、/clear、/compact 和 Mac 重启中存活。系统提示永远不是真相来源,磁盘和 MCP 工具才是。

人们用 Agent Teams 构建什么

Dev to QA 管道

经典款。Fullstack 交付功能。QA 在嵌入式浏览器中验证,运行测试提示,签收。两节点团队,在 backlog 的每个工单上运行。

带反馈循环的 Dev to QA

和上面一样,但有一条条件边:qaPassed equals false 把工单连同测试提示送回 Dev。最多 3 个循环。在到达人类审查者之前抓住回归。

Dev to Security to QA

适用于触及 auth、payments 或 PII 的功能。Security 代理审查 diff,标记风险,为 QA 写测试提示。被出货 fintech、healthtech 和 B2B SaaS 的团队使用。

PM to Architect to Dev

规格优先工作流。PM 代理把工单转成结构化规格。Architect 选择方案。Dev 实现。三个角色,干净分离,可追溯决策。

Frontend、Backend、DevOps fan-out

全栈功能的顺序拆分。Frontend 交付 UI。Backend 交付 API。DevOps 添加基础设施配置。每个角色在自己的领域工作,用干净的 diff 交接。

Marketing to SEO to i18n

是的,AgentsRoom Teams 不只是为代码服务。Marketing 写落地页文案。SEO 注入关键词。Localization 翻译成 14 种语言。一个团队,一个工单,一次出货。

发布护盾: QA 与 Security 并行

一个 dev 节点分出并排运行的 QA 和 Security, 然后由发布门合并两份报告。作为模板随应用附带。任一分支报告问题, 整个护盾就退回 Dev。

捉虫行动: 先复现再修复

QA 代理复现缺陷并写下精确步骤。dev 修复根因。第二个 QA 重放同样的步骤来证明修复。'在我机器上是好的' 就此终结。

与其他多代理方法的比较

多代理编排是一个拥挤的 buzzword。这里是实际在出货的东西,以及 AgentsRoom Teams 适合在哪里。

Anthropic Subagents(Task 工具,.claude/agents)让单一 Claude 会话委托给专门的辅助代理。对内联委托很好,但父会话仍然是协调者,是一个单一上下文。AgentsRoom Teams 高了一个层级:每个团队节点是一个独立的顶层 Claude 会话,有自己的窗口、自己的状态、自己的 scrollback。CrewAI、AutoGen 和 LangGraph 是多代理流的优秀 Python 框架,但它们生活在您的 IDE 之外,不会在您的本地仓库上端到端地运行真正的 Claude Code、Codex 或 Antigravity CLI。n8n、Make、Pipedream 和 Retool 提供我们使用的同类画布编辑器,但它们是通用自动化平台,并非为 AI 编码代理而建。AgentsRoom Teams 是画布风格的多代理工作流编辑器,但专门连接到您的 CLI 代理、您的项目、您的 git、您的终端和您的浏览器。

Claude subagentsTask toolCrewAIAutoGenLangGraphn8nMakePipedreamRetoolTemporalAirflowPrefectDagster

如果您在 Python 中构建 agentic 系统,请继续在生产管道中使用 CrewAI 或 LangGraph。如果您用 Claude Code、Codex CLI、OpenCode、Antigravity CLI、Aider、Grok Build、Mistral Vibe 或 Kimi Code 出货代码,Agent Teams 就是在您实际编码的地方运行的团队工作流。

FAQ

这与 Claude Code subagents(Task 工具,.claude/agents)有什么不同?

Claude subagents 是来自单一父 Claude 会话的内联委托。父决定何时调用 subagent,subagent 在隔离的上下文窗口中运行,返回结果,父继续。AgentsRoom Teams 高了一个层级:每个节点是一个顶层的 Claude Code 会话,有自己的终端、自己的状态和自己的 scrollback。您能在每个标签里实时看到每个代理运行,能随时和任何一个对话,能暂停团队,更改工作流并恢复。它不是 Claude subagents 的替代品,您完全可以同时使用两者。一个团队节点可以在内部使用 subagents。

这只在 Claude Code 上有效吗?

它在 AgentsRoom 支持的每个供应商(Claude Code、Codex CLI、OpenCode、Antigravity CLI、Aider、Grok Build、Mistral Vibe、Kimi Code)上都有效。每个团队节点选择自己的供应商和模型。基于 MCP 的团队协调工具在所有供应商间表现一致,因为它们通过标准 Model Context Protocol 暴露。如果适合您的预算和延迟,您可以让一个团队在重型后端节点上用 Codex,在 QA 节点上用 Haiku。

什么是交接 payload?

一个从一个代理传到下一个的结构化对象。字段:featureSummary(刚交付内容的简短描述)、changedFiles(git diff name-status)、touchedAreas(UI、API、DB、config)、risks(下一个代理应该担心的事)、testHints(QA 的优先级)、flags(条件边使用的 boolean,如 qaPassed)。代理用此 payload 调用 team_complete_step,runner 在服务器端校验,下一个代理把它当作起始上下文接收。

代理真的能来回跑吗(Dev to QA to Dev)?

是的。当一个节点被重新进入时(cycle 大于 1),AgentsRoom 不会 spawn 新代理。它重用 cycle 1 的原始代理,把新交接 payload 直接写入它现有的终端,代理保留前几个循环的完整 Claude 会话记忆。这至关重要:一个已经知道 QA 上次标记什么的 Dev 代理会修复 bug。一个没有记忆的全新 Dev 代理只会重复同样的错误。

如果 QA 永远拒绝 Dev 怎么办?

团队配置有一个 max-cycles 守卫,默认 3。达到上限时,运行以 'blocked' 状态暂停并等您。您可以收尾运行、再手动交接一次,或全部取消。无无限循环,无意外的过夜账单。

所有团队代理共享同一个 git 工作区吗?

是的。团队在单一工作区和单一分支(或如果您使用 AgentsRoom Worktrees 功能则使用 worktree)中运行。每个代理通过 git 看到上一个代理的工作。交接 payload 包含相对运行基线的 git diff,所以下一个代理精确地知道什么是新的。

这需要额外订阅吗?

不需要。Teams 是 AgentsRoom 的一部分。您带着自己的供应商密钥(Claude、Codex、OpenCode、Antigravity、Aider、Grok Build、Mistral Vibe、Kimi Code),只为您使用的 token 付费,与单一代理一样。在小工单上运行 Dev to QA 团队的成本通常和运行单一 Fullstack 代理相同,因为 QA 步骤上的 Haiku/Sonnet 很便宜。

团队保存在哪里?会提交到 git 吗?

项目团队与 room 同在, 同步到你的账户并缓存于 {project}/.agentsroom/teams-cache.json (已加入 gitignore)。全局团队同样同步到你的账户: 团队库跨机器跟随你, ~/.agentsroom/teams/ 是离线缓存。内置模板保留在本地: 每台机器用自己的语言安装它们。

如果代理崩溃或应用在运行中重启会怎样?

运行状态持久化在磁盘上的 {workspace}/.agentsroom/team-runs/{runId}/ (state.json、NOTES.md、inbox/、timeline.jsonl), 写入是原子的, 笔记只增不改。被打断的运行会在应用重启后恢复: 编排器重新进入当时的步骤, 重开终端, 代理从笔记和团队工具里找回上下文。团队定义已被删除的运行会自动关闭, 而不是永远挂着。

我能在不同工单上并行运行多个团队吗?

可以。每次运行相互独立, 由 runId 标识。同一项目的三张工单上可以同时跑三支不同的团队。在单次运行内部, 执行遵循你的图: 默认顺序执行, 在你画了并行分支的地方并行 (例如 QA 和 Security 同时审查), 并且总有一个确定性的汇合。

两个代理真的能同时运行吗?

能。从一个节点画出两条无条件连线, 两个目标就会作为并行分支运行, 各自拥有自己的代理和终端。分支深度为一个节点, 且必须汇聚到同一个汇合节点, 编辑器会在运行前校验这一点。当所有分支完成, 汇合节点收到一份合并后的 payload: 按角色标注的摘要、去重后的风险与测试提示, 以及按故障安全规则合并的标志 (布尔冲突解析为 false)。

质量门到底是怎么工作的?

你在节点上写一条 shell 命令, 例如 npm test, 也可以指定一个标志名 (默认 checkPassed)。代理宣告步骤完成后, AgentsRoom 在工作区执行该命令, 上限五分钟。退出码 0 向标志写入 true, 其他值写入 false, 覆盖代理对自己的一切说法。失败时, 输出的最后几千字节会传给下一个代理: 回环带着真实的堆栈跟踪落地, 结果也会显示在运行时间线上。

某个步骤能加载我 Skills Library 里的流程吗?

能。每个节点都可以固定 Skills Library 里的技能, 项目级或全局皆可。代理会被要求在开始该步骤前逐一加载: 审查清单、部署手册或测试流程会在每一次运行中执行, 而不是依赖代理的记忆。

构建您理想的 AI 开发团队

应用自带四个模板。打开 AgentsRoom, 放节点, 画连线, 在任意工单上运行。你的 AI 工程团队只有一次点击之遥。

免费下载 AgentsRoom

配套应用:随时随地监控你的 Agent

使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。

获取扩展
Chrome Web Store

把 Bug 和需求直接发送到您的公开待办清单。

AgentsRoom 实际运行一瞥。

多项目管理
多供应商
多代理运行
实时状态
文件差异与提交
移动应用
实时预览
代理团队
浏览器自动化
Backlog 驱动开发
提示词库
技能库
查看所有功能