Multi-Agent Workflow • Handoff • Feedback Loop

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

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

在可视化画布上构建您理想的 AI 开发团队,就像 n8n 工作流一样。条件边、反馈循环、重试、max-cycles 守卫。保存一次,在每个工单上运行,看您的代理们像资深工程师一样传递接力棒。

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、Gemini CLI 或 Aider 代理,您把它们连接起来。在 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、Gemini 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,便宜的前端用 Gemini。自由组合。

自动交接

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

手动交接选项

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

条件边

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

反馈循环

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

Max-cycles 守卫

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

共享 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 一起提交)。同样的编辑器,不同的范围。

包含的团队模板

应用自带三个种子模板:Dev to QA、带反馈循环的 Dev to QA、Dev to Security to QA。复制、编辑、运行。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。

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

团队运行的工作方式

01

打开 Teams 标签

在您的项目视图中,Teams 标签列出三个种子模板(Dev to QA、带反馈循环的 Dev to QA、Dev to Security to QA)以及您已经保存的任何团队。复制一个模板或点击 '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 作为入站上下文 spawn 代理 N+1。

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 种语言。一个团队,一个工单,一次出货。

与其他多代理方法的比较

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

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

Claude subagentsTask toolCrewAIAutoGenLangGraphn8nMakePipedreamRetoolTemporalAirflowPrefectDagster

如果您在 Python 中构建 agentic 系统,请继续在生产管道中使用 CrewAI 或 LangGraph。如果您用 Claude Code、Codex CLI、OpenCode、Gemini CLI 或 Aider 出货代码,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、Gemini CLI、Aider)上都有效。每个团队节点选择自己的供应商和模型。基于 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、Gemini、Aider),只为您使用的 token 付费,与单一代理一样。在小工单上运行 Dev to QA 团队的成本通常和运行单一 Fullstack 代理相同,因为 QA 步骤上的 Haiku/Sonnet 很便宜。

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

项目范围的团队和 room 一起存在,同步到云端,缓存在 {project}/.agentsroom/teams-cache.json(gitignored)。全局团队存在您机器上的 ~/.agentsroom/teams/{teamId}.json,每个团队一个文件。您决定哪个范围适合每个工作流。

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

运行状态被持久化到磁盘的 {workspace}/.agentsroom/team-runs/{runId}/(state.json、NOTES.md、inbox/、timeline.jsonl)。NOTES.md 是仅追加的,每次状态写入是 atomic 的。代理可以随时用 team_read_notes 或 team_get_context 重新读取所有内容。编排层正在加固以在应用重启时完整回放被中断的运行,但磁盘上的部分已经是崩溃安全的。

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

可以。每次团队运行都是独立的,由其 runId 标识。您可以让一个 Dev to QA 团队在工单 A 上运行,一个 Dev to Security to QA 团队在工单 B 上,一个 PM to Architect to Dev 团队在工单 C 上,全部在同一项目中实时进行。在单次运行内部,执行是顺序的(一次一个节点活跃),以保证可预测性。

构建您理想的 AI 开发团队

应用自带三个模板。打开 AgentsRoom,放置节点,画边,在任何工单上运行。您的 AI 工程团队就在一次点击之外。

免费下载 AgentsRoom

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

支持 Claude、Codex、OpenCode、Gemini CLI 和 Aider

获取扩展
Chrome Web Store

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

多项目管理
多供应商
多代理运行
实时状态
文件差异与提交
移动应用
实时预览
代理团队
浏览器自动化
Backlog 驱动开发