エージェントルームは、ある人のコンピューター上で動くコーディングエージェントに、その人が信頼する少人数のグループがアクセスできるようにする共有スペースです。エージェントはオーナーのマシン上に残り続け、オーナーのランタイム、サブスクリプション、リポジトリ、認証情報を利用します。ルームには会話の内容、つまり誰が何を依頼し、エージェントが何を実行し、何を生成し、オーナーが何を承認したかが保持されます。
基本的な考え方はこれだけです。この記事のそれ以外の内容はすべて、この原則から導き出されます。
ルームが境界線となる:内部には人とエージェントが存在し、外部からは何も見えず使用もできない。
ルームの中にあるもの
ルームには3種類のリソースが存在します。
人。 そのうちの1人がオーナーであり、エージェントが存在するマシンの持ち主です。それ以外はリンク経由で招待されたメンバーです。1人のユーザーと1つのエージェントによるダイレクトメッセージは、単に参加者が2人のルームにすぎません。
エージェント。 エージェントとは、Claude CodeやCodexなどのランタイムであり、1台のマシン上の特定の作業ディレクトリに紐づけられ、handle、アバター、オンライン状態、そして受信箱を持っています。エージェントは同時に複数のルームに所属できます。あるルームでエージェントが見た情報が、別のルームに漏れることは一切ありません。
タイムライン。 エージェントへのすべてのリクエストはタイムラインを生成します。そこにはメッセージ、実行された各ツール呼び出し、パスと行数で表されるファイルのdiff、コマンド出力の末尾、そして生成されたファイルや画像が含まれます。タイムラインはルーム内の全員にリアルタイムで配信され、その後も記録として残ります。
ルームが境界線となる
ルームを安全に共有可能にしている唯一のルールは、デフォルトでは何も共有されないということです。ルームにいなければ何も見えません。ルームにいれば、そのルーム内で起きていることだけが見え、それ以外は何も見えません。
このルールから、他の設計では誤られがちな2つの原則が導かれます。
- メンションは権限を意味しない。
@agentのメンションは、エージェントの受信箱にメッセージを届けるだけです。エージェントが実際に実行されるかどうかは、オーナーがその人物に対して何を許可しているかによって決まり、誰かがメンションを入力したという事実だけでは決して実行されません。 - あるルームのメンバーシップは、別のルームとは無関係。 同じエージェントが、あるルームではクライアントを支援し、別のルームでは共同創業者の作業を支援できます。クライアントに2つ目のルームの存在が知られることはありません。
何がどこで動くのか
「共有エージェント」と聞くと、エージェントがサーバーに移されたのだと思われがちです。しかし、そうではありません。
オーナーのマシン上のdaemonがタイムラインのイベントをアップロードします。環境変数や鍵ファイル、ブラウザプロファイルがアップロードされることは決してありません。接続はアウトバウンド方向のみです。マシン側からタスクをポーリングするため、開放ポートも外部からのトンネルも存在しません。
従来の回避策との違い
ルームが登場する前は、エージェントを共有するには次の3つの方法のいずれかを採るしかありませんでした。
画面共有は、通話が続いている間マシン全体を相手に明け渡すことになり、オーナーが同席している必要があります。
アカウントの共有は、オーナーのアイデンティティそのものを手渡すことになります。あらゆる操作がオーナーによるものとして記録され、相手に対して権限を一部だけに絞る方法はありません。
ホスト型エージェントは問題を別の場所に移すだけです。リポジトリの複製、別セットの認証情報、二重の請求が発生し、利用できるモデルの選択肢もホスト側によって固定されます。
ルームを使えば、マシンから何も外部に移すことなく、相手にはリクエストする権限を、オーナーには判断する権限を与えることができます。具体的な手順については、ノートPCを共有せずにClaude Codeを共有する方法をご覧ください。
オーナーがコントロールできること
作業を実行するのはオーナーのマシンであるため、最終決定権は常にオーナーにあります。
- リクエスト単位または人単位。 単一のリクエストを承認することも、そのエージェントに対して特定の人物を「常時許可」として設定し、後から取り消すこともできます。
- 危険な操作は常に一時停止。 共有ブランチへのプッシュ、削除、費用の発生、認証情報の操作を行う際は、対象の人物がどれほど完全に信頼されている場合であっても、オーナーの確認のために処理を停止します。その理由については、エージェントが実行前に必ず確認すべき4つのアクションで解説しています。
- 即座に取り消し可能。 メンバーを削除したり、マシンの登録を解除したり、
muti stopを実行したりすると、その人物に対するキュー内のタスクがすべてキャンセルされます。すでに実行中の処理は完了し、履歴として保持されます。
ほかでの用語の使用例
「エージェントルーム」という言葉を使っているのはmutiだけではありません。Alookは、自分のマシン上で動くエージェントにhandle、受信箱、メンバーシップを持たせた「人とエージェントのためのルーム」を提唱しています。Tutti · VMはエージェント間の連携単位としてルームを用い、「エージェントを借りる」という概念を導入しました。agent-roomなどのオープンソースプロジェクトでは、複数のエージェント同士が対話するローカル会議室の意味でこの語を使用しています。共通しているのはローカルファーストであるという点です。エージェントはオーナーのマシン上に留まります。mutiのルームは、人ごとの権限設定、4つの常時停止アクション、監査ログを追加し、ゲストがブラウザだけで参加できるようにしたものです。詳細な比較は、Alook、Tutti、mutiの比較にまとめています。
エージェントルームではないもの
エージェントルームは、新しいモデルでも、ホスト型エージェントでも、APIをチャットUIで包んだラッパーでもありません。すでに契約しているエージェントを置き換えるものでもありません。エージェントに他の人がアクセスできる宛先を与え、リクエストとマシンの間にオーナーを介在させる仕組みです。
よくある質問
オーナーのコンピューターの電源を入れておく必要がありますか? リクエストはdaemonが稼働している間だけ実行されます。オフラインのときは、メッセージはエージェントの受信箱で待機し、マシンが復帰した際に順番に実行されます。
1つのエージェントが複数のルームに参加できますか? はい。ルーム間でデータが漏洩することはありません。各ルームで独自の永続セッションを保持できるため、エージェントはそのルームのコンテキストを記憶します。
DMはルームですか? はい。エージェントとのダイレクトメッセージは、参加者が2人のルームであり、同じルールが適用されます。
トークン代は誰が支払いますか? 既存のサブスクリプションを通じてオーナーが支払います。mutiがホストするのはモデルではなくルームです。
試してみたい方は、自分のエージェントにルームを用意しましょう。エージェントが稼働しているマシンを接続し、誰か1人を招待して、最初のリクエストを自分で承認してみてください。
公開日 · 更新日