Agent Teams.
本物のテッククルーを、スクリプト化。
AgentsRoom Teamsは、AIコーディングエージェントを本物のエンジニアリングチームのように連結します。Fullstack Devが機能を出荷し、QA Engineerが検証し、PMがサインオフします。各役割はスクリプト化され、ワークフローはビジュアル、すべてのハンドオフは機能サマリー、diff、リスク、テストヒントを伴います。1人のエージェントがすべてを中途半端にこなす時代はもう終わりです。
n8nワークフローのように、ビジュアルキャンバス上で理想のAI開発チームを構築できます。条件付きエッジ、フィードバックループ、リトライ、最大サイクルガード。一度保存すれば、すべてのチケットで実行でき、エージェントがシニアエンジニアのようにバトンを渡す様子を見られます。
AgentsRoom Teams: ビジュアルなマルチエージェントワークフローエディタ、Claude Codeエージェント間の自動ハンドオフ、DevからQAへのフィードバックループ、MCPベースのエージェント間通信。
Agent Teamsは、AIコーディングエージェントに関する厳しい真実へのAgentsRoomの答えです: すべてをこなそうとする1人のエージェントは、結局すべてを中途半端にしか実行できません。コードを書き、テストし、レビューし、デプロイし、仕様まで書こうとするFullstackエージェントは、途中で半分の指示を忘れてしまいます。世界中のすべての真剣なソフトウェアチームが採用する正解は、作業を役割に分割することです。Developerはコードを書く。QA Engineerは検証する。Product Managerはサインオフする。Security Reviewerは監査する。各役割は独自のコンテキスト、独自のフォーカス、独自のツールを持ちます。
これがまさにAgent TeamsがAgentsRoomにもたらすものです。無限のキャンバス(n8n、Make、Retool、Pipedreamと同じエンジンであるReact Flowで構築)にノードを配置し、各ノードはClaude Code、Codex、OpenCode、Gemini CLI、Aiderのエージェントで特定の役割に割り当て、それらを配線します。バックログのチケットでチームを実行するか、新しいエージェントスポーンに紐づけます。AgentsRoomがチェーンをオーケストレーションします: 最初のエージェントをスポーン、ハンドオフを待つ、作業を要約、そのサマリーをインバウンドコンテキストとして次のエージェントをスポーン、チームがエンドノードに到達するまで繰り返します。
他のツールはこれを1つのスーパーエージェントと巧妙なプロンプトで実現しようとします。私たちも試しましたが、3ステップを超えると機能しません。役割がドリフトし、コンテキストが失われ、エージェントは何を検証すべきか忘れます。Agent Teamsは、エージェントを実際のチームメイトとして扱います: それぞれがクリーンなセッション、フォーカスされたシステムプロンプト、構造化されたハンドオフペイロード、他のメンバーと話すための共有スクラッチパッドを持ちます。これがあなたが本当に求めていたAIエンジニアリングチームのワークフローです。

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エージェントがハンドオフペイロードでそのフラグをセットし、ランナーがマッチするエッジを選びます。これがフィードバックループの作り方です: QAが終わり、qaPassedがfalseならエッジがテストヒントとリスクと共にDevに戻します。Devが修正し、再度ハンドオフします。QAが通るか、最大サイクルガードが作動するまでループします。
エージェント間通信は設計から堅牢です。AgentsRoomは専用のMCPサーバー(agentsroom-team)を提供し、ラン中のすべてのエージェントに一連のツールを与えます: チームコンテキストの読み取り、共有NOTES.mdスクラッチパッドの読み取り、チームメイトへのノート投稿、別の役割への質問送信、インボックス読み取り、タイムライン読み取り、ランベースラインに対するgit diff読み取り、構造化ペイロードでのステップ完了。これらのツールは毎ターンClaudeセッションに再注入されるため、コンテキスト圧縮を生き残ります。/compactや/clearの後でも、エージェントはチームツールを認識し続けます。
さらに、UserPromptSubmit hookが各ユーザーメッセージの前にチームメイトからの新しいノートをエージェントに思い出させます。ワークスペース内のNOTES.mdファイルは追記専用で、クラッシュ、再起動、Mac再起動を生き残ります。サーバーサイドで検証されるハンドオフペイロードスキーマが、エージェントが空または無効なペイロードでハンドオフすることを防ぎます。これはほとんどのマルチエージェントデモが密かにスキップする部分であり、それらの多くがサイクル3で崩壊する理由です。
AIエンジニアリングクルーを動かすために必要なすべて
ビジュアルワークフロー、本物のハンドオフ、本物のフィードバックループ、本物のエージェント間通信。50回のSlackではなく、1回のSlack pingで機能を出荷できるように設計されています。
ビジュアルワークフローキャンバス
n8n、Retool、Pipedream、Makeを支えるエンジンと同じReact Flowによる、無限にズーム可能なキャンバス。ノードを配置、接続、チームを保存。コードも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はハンドオフペイロード(機能サマリー、変更ファイル、リスク、テストヒント、フラグ)を構築し、そのペイロードを開始コンテキストとして次のノードをスポーンします。
手動ハンドオフオプション
各ステップを検証したい?ノードを手動モードに切り替えてください。エージェントは待機し、結果に満足したら「Hand off」をクリックします。両方の世界の良いとこ取り。
条件付きエッジ
各エッジはフラグチェック(例: qaPassed equals true)を伴うことができます。分岐を構築: QAが通ればPMへ、通らなければDevへループバック。本物のワークフローロジック、スクリプト不要。
フィードバックループ
DevからQAへ、Devへ、QAへ。QAがチケットを差し戻すとき、元のDevエージェントは前のサイクルの完全なメモリを持って再利用されるので、最初からやり直すのではなく実際にリグレッションを修正します。
最大サイクルガード
設定可能な上限(デフォルト3)。QAが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)と共に開始します。
ラン毎のエフェメラルエージェント
すべてのチームランは新しいエージェントをスポーンし、dismiss時に破棄します。プロジェクトのエージェントリストはきれいなまま保たれます。チームはワークフロー、エージェントはランタイム。
グローバルチームとプロジェクトチーム
再利用可能なチームをグローバルライブラリ(~/.agentsroom/teams)に保存するか、特定のプロジェクトにピン留め(ルームと共にコミット)します。同じエディタ、異なるスコープ。
チームテンプレート同梱
アプリには3つのシードテンプレートが含まれます: Dev to QA、フィードバックループ付きDev to QA、Dev to Security to QA。複製、編集、実行。30秒で開始。
ランタイムラインUI
各ハンドオフはランタイムラインのカードとして表示されます: どの役割が終了したか、サマリーは何か、どのファイルが変更されたか、どのフラグが設定されたか。監査可能、リプレイ可能。
任意のバックログチケットで実行
チームにチケットをドロップすると、そのチケットでチェーンが開始します。最初のエージェントがチケットのタイトルと本文を読み、残りのチームがそこから引き継ぎます。
14種類の専門役割、配線準備完了
各役割は独自のシステムプロンプト、フォーカス領域、サンプルタスクを持ちます。キャンバスで組み合わせます。いつでも独自のカスタム役割を追加できます。
本物のチームが1人のスーパーエージェントに勝つ理由
マルチエージェントオーケストレーションはバズワードのように聞こえます。実際に出荷する機能における、実用的な違いをご覧ください。
シナリオ: ECサイトにStripeチェックアウトフローを追加
ソロのスーパーエージェント
- • チケットを読みます。API、Reactフォーム、webhook、マイグレーション、テストにまたがる600行を書きます。
- • webhookのidempotencyキーを忘れます。失敗パスのテストを忘れます。stagingのenv varを忘れます。
- • 「完了」と言います。本番環境で2時間バグハントすることになります。
Agent Team(Dev to Security to QA)
- • Fullstackエージェントが実装を出荷、コミット、auth変更をフラグ立てしたサマリーとリスクリストでハンドオフ。
- • Securityエージェントがdiffを読み、webhook署名チェックを監査し、ハンドオフペイロードでQAのテストヒントを書きます。
- • QAエージェントが組み込みブラウザでテストヒントを実行、idempotencyバグを発見、qaPassedをfalseに設定、正確な再現手順と共にDevにチケットを差し戻します。
- • Devが修正、再度ハンドオフ。QA通過。PMがファイナライズ。ランはdoneになります。
同じチケット、同じモデル、同じプロジェクト。異なる作業の形。チームアプローチはソロエージェントが見落とすものを捕まえます、なぜなら各役割がフォーカスされたブリーフと構造化されたハンドオフを持つからです。
チームランの仕組み
Teamsタブを開く
プロジェクトビューで、Teamsタブには3つのシードテンプレート(Dev to QA、フィードバックループ付きDev to QA、Dev to Security to QA)と、保存済みの任意のチームがリストされます。テンプレートを複製するか、「New team」をクリックします。
キャンバス上でワークフローを構築
React Flowキャンバスにエージェントノードを配置します。各ノードに対して、役割(Fullstack、QA、Security、PMなど)、プロバイダー、モデル、数行のステップ指示を選びます。エッジで配線します。分岐が必要ならエッジに条件を追加します。
Dev → QA → PMノード毎にハンドオフモードを設定
自動ハンドオフ: 作業が完了するとエージェントがteam_complete_stepを呼び、ランナーが引き継ぎます。手動ハンドオフ: エージェントは「Hand off」をクリックするのを待ちます。必要に応じて両方をミックス。
チームを実行
バックログチケットから「Run with team」をクリック。空のエージェントスロットから「Create as team」をクリック。最初のノードがプロジェクトワークスペースでエフェメラルエージェントとしてスポーンします。
ハンドオフが起こるのを見る
エージェントNが終わると、AgentsRoomはハンドオフペイロード(エージェントまたはHaiku経由の機能サマリー、git diff、リスク、テストヒント、フラグ)を構築、NOTES.mdにノートを追記、フラグに基づいて正しい送出エッジを選び、そのペイロードをインバウンドコンテキストとしてエージェントN+1をスポーンします。
ループ、終了、ファイナライズ
フィードバックループは元のエージェントに再エントリーします(完全なメモリを保持)。エンドノードはawaiting-finalizationをトリガーします。「Finish run」をクリック。バナーをdismissしてエージェントを破棄しPTYを解放します。
あらゆることを生き残るエージェント間通信
ほとんどのマルチエージェントデモがスキップする詳細。これがAgent Teamsが長いランや多くのサイクルで持ちこたえる理由です。
Claude Codeエージェントはコンテキストウィンドウを持ち、それを圧縮します。マルチエージェントシステムの古典的な過ちは、チームコーディネーションをシステムプロンプトのみに置くことです。/compactを2サイクル経た後、エージェントはチームにいることを認識しません。AgentsRoomはそうしません。
すべてのチームコーディネーションは、圧縮を生き残る3つの場所に存在します。第1に、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に再送されるので、コンテキスト圧縮の影響を受けません。
第2に、UserPromptSubmit hookがすべてのユーザーメッセージの前に実行され、その役割に新しいノートまたは新しいインボックスメッセージがあれば小さなリマインダーを前置します。何もないときは安価、ある時は決定的。
第3に、NOTES.mdとstate.jsonはワークスペースのディスク上に存在します。エージェントは単純なReadまたはteam_read_notesでいつでも再読込できます。クラッシュ、再起動、/clear、/compact、Mac再起動を生き残ります。システムプロンプトは決して信頼できるソースではなく、ディスクとMCPツールがソースです。
Agent Teamsで人々が構築するもの
Dev to QAパイプライン
クラシック。Fullstackが機能を出荷。QAが組み込みブラウザで検証、テストヒントを実行、サインオフ。2ノードのチームで、バックログのすべてのチケットで実行。
フィードバックループ付き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が実装。3つの役割、明確な分離、追跡可能な決定。
Frontend、Backend、DevOpsのファンアウト
フルスタック機能のためのシーケンシャルな分割。FrontendがUIを出荷。BackendがAPIを出荷。DevOpsがインフラ設定を追加。各役割が自分のエリアで作業し、クリーンなdiffでハンドオフ。
Marketing to SEO to i18n
そう、AgentsRoom Teamsはコードのためだけではありません。Marketingがランディングコピーを書きます。SEOがキーワードを注入。Localizationが14言語に翻訳。1つのチーム、1つのチケット、1つの出荷。
他のマルチエージェントアプローチとの比較
マルチエージェントオーケストレーションは混雑したバズワードです。実際に出荷されているものと、AgentsRoom Teamsがどこに位置するかをご紹介します。
Anthropic Subagents(Taskツール、.claude/agents)は、1つのClaudeセッションが特化したヘルパーエージェントに委譲することを可能にします。インライン委譲には素晴らしいですが、親セッションは依然としてコーディネーターであり、単一のコンテキストです。AgentsRoom Teamsは1段階上です: 各チームノードは、独自のウィンドウ、独自の状態、独自のスクロールバックを持つ、別のトップレベルClaudeセッションです。CrewAI、AutoGen、LangGraphはマルチエージェントフローのための優れたPythonフレームワークですが、IDEの外で動作し、本物のClaude Code、Codex、Gemini CLIをローカルレポでエンドツーエンドに実行することはありません。n8n、Make、Pipedream、Retoolは私たちが使うのと同じ種類のキャンバスエディタを提供しますが、汎用自動化プラットフォームであり、AIコーディングエージェント向けに作られていません。AgentsRoom Teamsはキャンバススタイルのマルチエージェントワークフローエディタですが、CLIエージェント、プロジェクト、git、ターミナル、ブラウザに特に配線されています。
Pythonでエージェンティックシステムを構築するなら、本番パイプラインにはCrewAIやLangGraphを使い続けてください。Claude Code、Codex CLI、OpenCode、Gemini CLI、Aiderでコードを出荷するなら、Agent Teamsは実際にコードを書く場所で動くチームワークフローです。
FAQ
Claude Code subagents(Taskツール、.claude/agents)とどう違いますか?
Claude subagentsは、1つの親Claudeセッションからのインライン委譲です。親がいつsubagentを呼び出すかを決め、subagentは隔離されたコンテキストウィンドウで動作し、結果を返し、親が続行します。AgentsRoom Teamsは1段階上です: 各ノードは独自のターミナル、独自の状態、独自のスクロールバックを持つトップレベルのClaude Codeセッションです。すべてのエージェントランを独自のタブでライブで見ることができ、いつでもどれとでも話すことができ、チームを一時停止し、ワークフローを変更し、再開できます。Claude subagentsの代替ではなく、両方を絶対に使えます。チームノードは内部的にsubagentsを使えます。
これはClaude Codeでのみ動きますか?
AgentsRoomがサポートするすべてのプロバイダー(Claude Code、Codex CLI、OpenCode、Gemini CLI、Aider)で動作します。各チームノードは独自のプロバイダーとモデルを選びます。MCPベースのチームコーディネーションツールはModel Context Protocolの標準を通じて公開されるので、プロバイダー間で同一に機能します。予算とレイテンシに合うなら、重いバックエンドノードでCodex、QAノードでHaikuを使うチームを実行できます。
ハンドオフペイロードとは何ですか?
1つのエージェントから次へ移動する構造化オブジェクトです。フィールド: featureSummary(出荷したものの短い説明)、changedFiles(git diff name-status)、touchedAreas(UI、API、DB、config)、risks(次のエージェントが心配すべきこと)、testHints(QAの優先事項)、flags(条件付きエッジで使用されるqaPassedなどのboolean)。エージェントがこのペイロードでteam_complete_stepを呼び、ランナーがサーバーサイドで検証し、次のエージェントが開始コンテキストとして受け取ります。
エージェントは本当に行ったり来たりできますか(DevからQAからDevへ)?
はい。ノードが再エントリーされると(cycleが1より大きい)、AgentsRoomは新しいエージェントをスポーンしません。cycle 1の元のエージェントを再利用し、新しいハンドオフペイロードを既存のターミナルに直接書き込み、エージェントは前のサイクルの完全なClaudeセッションメモリを保持します。これは重要です: QAが前回フラグ立てしたことを既に知っているDevエージェントはバグを修正します。メモリのない新しいDevエージェントは同じミスを繰り返すだけです。
QAがDevを永遠に拒否し続けたらどうなりますか?
チーム設定には最大サイクルガード(デフォルト3)があります。上限に達すると、ランは「blocked」ステータスで一時停止し、ユーザーを待ちます。ランをファイナライズしたり、もう一度手動でハンドオフしたり、すべてキャンセルしたりできます。無限ループも、夜間に発生するサプライズ請求もありません。
すべてのチームエージェントは同じgitワークスペースを共有しますか?
はい。チームは1つのワークスペースと1つのブランチ(またはAgentsRoom Worktrees機能を使う場合はworktree)で実行されます。各エージェントはgit経由で前のエージェントの作業を見ることができます。ハンドオフペイロードにはランベースラインに対するgit diffが含まれるため、次のエージェントは何が新しいかを正確に把握します。
追加のサブスクリプションが必要ですか?
いいえ。TeamsはAgentsRoomの一部です。独自のプロバイダーキー(Claude、Codex、OpenCode、Gemini、Aider)を持参し、使用したトークン分だけ支払います、単一エージェントと同じです。小さなチケットでDev to QAチームを実行するコストは、通常、単一のFullstackエージェントを実行するのと同じです、なぜならQAステップのHaiku/Sonnetは安価だからです。
チームはどこに保存されますか?gitにコミットされますか?
プロジェクトスコープのチームはルームと共に存在し、クラウドに同期され、{project}/.agentsroom/teams-cache.json(gitignored)にキャッシュされます。グローバルチームはマシン上の~/.agentsroom/teams/{teamId}.jsonに、チーム毎に1ファイルで存在します。各ワークフローに合うスコープを決められます。
エージェントがクラッシュしたり、ラン中にアプリが再起動したらどうなりますか?
ラン状態は{workspace}/.agentsroom/team-runs/{runId}/(state.json、NOTES.md、inbox/、timeline.jsonl)にディスクで永続化されます。NOTES.mdは追記専用で、すべての状態書き込みはアトミックです。エージェントはteam_read_notesまたはteam_get_contextでいつでもすべてを再読込できます。アプリ再起動時に中断されたランを完全にリプレイするためにオーケストレーション層は強化中ですが、ディスク上のストーリーはすでにクラッシュセーフです。
異なるチケットで複数のチームを並列に実行できますか?
はい。各チームランは独立しており、runIdで識別されます。チケットAでDev to QAチーム、チケットBでDev to Security to QAチーム、チケットCでPM to Architect to Devチームを、すべて同じプロジェクトでライブで持つことができます。単一ラン内では、予測可能性のため実行はシーケンシャル(一度に1ノードがアクティブ)です。
理想のAI開発チームを構築
アプリには3つのテンプレートが同梱されています。AgentsRoomを開き、ノードを配置、エッジを引き、任意のチケットで実行。AIエンジニアリングクルーは1クリックで手に入ります。
コンパニオンアプリ:外出先でもエージェントを確認
Claude、Codex、OpenCode、Gemini CLI、Aiderに対応
バグや要望を公開バックログに直接送信できます。