Grok Bot チームの振り返り:セッションをまたいで働き続けるボットをどう設計したか

チャット履歴からボット名簿、アバターの状態、専用コンピューター、能動トリガーまで。SpaceXAI チームが、一体のボットにセッションをまたいで責任を持たせるため、設計課題をどう段階的に解いたかを追います。

著者:Designing Grok Bot for a world of persistent agents09-04 · 約12分
🎧 ポッドキャスト版0:00 / --:--
0:00 / --:--
深掘り · 小互解読
1分で要点
  • Grok Bot の設計は、セッションをまたぐ責任を、個々のチャットではなく継続的に存在する Bot にひもづけることから始まります。
  • アバターは、アイデンティティ、六つの作業状態、最小限の進捗確認を兼ねます。詳細な実行内容は、ユーザーが必要としたときだけ段階的に表示されます。
  • 専用コンピューター、構造化された成果物、階層化された協働の境界は、すべて同じ目標を支えます。Bot が実行を担い、人間は判断と例外処理にだけ関与します。
  • ルーティンは、作業の起点をユーザーのプロンプトから、時間、外部イベント、別の Bot へと広げました。チームはその後、監視負担を増やすインターフェースをさらに削っていきました。

Grok Bot チームは、初期の探索から製品リリースに至るまで、常に同じ問いに向き合ってきました。それは、ロボットが以前の作業を記憶し、複数回のセッションをまたいで責任を持ち続け、バックグラウンドで自分専用のコンピューターを使い、ユーザーが離れた後も自ら作業を始めるのであれば、製品は「チャット」という単位で構成されるべきなのか、という問いです。SpaceXAI の公式設計レビュー『Designing Grok Bot for a world of persistent agents』では、彼らが下した一連のインターフェースに関する取捨選択が示されています。

彼らの設計思想には、明確な推進の流れがあります。まず「誰が責任者なのか」をインターフェースの中心に据え、その長期にわたる責任者に対して、アイデンティティ、ステータス、ワークスペース、成果物、能動的なトリガーといった要素を順に追加していくというものです。そして、能力を追加するたびに、ユーザーが常時監視したくなるような制御インターフェースを一つずつ削除しています。

従来の AI 製品は、ユーザーが常にその場にいることを前提としています。ユーザーがプロンプトを送信し、モデルが実行するのを見守り、回答を受け取り、セッションが終了します。しかし、Grok Bot チームが設計しようとしている対象は、長期間にわたって存在し続けるものです。今日引き受けたタスクを、明日になっても覚えている必要があります。新しいメッセージがなくても、時間や外部イベントによって作業を続ける可能性もあります。そこでチームは、四つの基本的な問いに対して改めて答えを出す必要がありました。

設計の展開 まず「誰が担当するか」を明確にし、その担当者が継続して働けるようにする
製品の中心オブジェクト誰が担当していますか?Chat は連絡の入り口になり、Bot は継続的な担当者になる
  1. 01 アイデンティティ同じ Bot が担当し続ける
  2. 02 状態何をしているのか
  3. 03 ワークスペースコンピューターは Bot が使う
  4. 04 成果物結果をそのまま確認し、利用できる
  5. 05 能動トリガー新しいプロンプトがなくても作業を続ける
エージェントの能力段階的に増える
人間の監督インターフェース段階的に退く
整理の単位Chat と Bot のどちらを一覧にするか? 進捗シグナル何をしているかをどう知るか? コンピューターの可視性ワークスペースをどこまで見せるか? 協業の境界複数の Bot で何を共有し、何を分離するか?
能力を一層追加するたびに、ユーザーに常時監視を促す操作画面を一層取り除きます。

出発点:ロボットがセッションをまたいで責任を持つなら、チャット履歴は主役ではなくなる

チャット履歴は、一度きりの質疑応答を保存するのには適していますが、継続的な責任を保存するのには適していません。一度の会話が終わると、その内容は新しいセッションによって下に押しやられます。一週間後に戻ってきたユーザーは、通常、新しいウィンドウを開き直します。その場限りの質問に答えるだけのモデルにとって、これはまったく合理的な行動です。しかし、ユーザーを認識し、以前の作業を覚えていて、責任を持ち続けるはずのエージェントにとっては、同じ作業が互いに繋がりのない履歴として切り刻まれてしまうことになります。

Grok Bot チームは、初期のプロトタイプで別の関係性を示しました。サイドバーに並ぶのは「昨日の会話」や「先週の会話」ではなく、Kenny、Justin、Luke、Tyler といった個々のボットです。それぞれの名前の横には、最新の進捗状況や、承認待ちの事項などが直接表示されます。例えば、全員向け会議の資料の承認待ち、営業紹介文の作成完了、受信トレイに残り二通の返信が必要などです。ユーザーが戻ってきたとき、最初に目にするのは「誰が何を担当しているか」であり、その後、その担当者との会話へと進みます。

この考え方が、その後の設計における判断基準となりました。ボットが数日にわたって作業を継続するのであれば、製品の主要な対象は安定して存在する必要があります。そうでなければ、いわゆる記憶や自動化、ツールはすべて、絶えず下へ沈んでいくセッションの集まりに依存することになってしまいます。

最初のステップ:製品の基本単位をチャットからボットへ

永続的なエージェントの背後には、モデル、コンテキストウィンドウ、システムプロンプト、サンドボックス、コネクタ、権限、自動化など、数多くの技術的なオブジェクトが存在します。これらをすべてユーザーに公開してしまうと、ユーザーは作業を依頼する前に、まずシステムのアーキテクチャを理解しなければならなくなります。そこでチームは、まず概念の圧縮を行い、ユーザーが理解すべき五つのオブジェクトだけに絞り込みました。

オブジェクト 製品における役割
ボット 永続的に存在するエージェント。アイデンティティ、記憶、実行環境、ツールを持つ
チャット ユーザーが特定のボットとコミュニケーションを取るためのウィンドウ
プロンプト コンテキストや指示を提供する。一度きりの利用も、スキルとして保存することも、ルーチンによる自動トリガーも可能
ツール ボットがソフトウェア、API、コネクタ、シェル、またはコンピューターを介して情報を読み取り、行動するための手段
成果物 ボットが作成または変更したドキュメント、デザイン、コード、データなどの永続的な結果

五つのオブジェクトの中から、チームは最終的にボットを製品の組織化の中心に選びました。ボットには名前、アバター、役割の呼称があり、ユーザーとの会話を記憶し、自分専用のコンピューターとツールを持ちます。翌日戻ってきたユーザーが再び直面するのは、同じ担当者です。チャットが消えたわけではありません。メインインターフェースの組織単位という立場から、ボットとコミュニケーションを取るための入り口へと役割を変えたのです。

会話履歴 これまで何を話しましたか?

要求A・要求B・要求C

時間とともに下に積み重なり、責任が細切れになる
Bot名簿 誰が担当していますか?
同じ担当者が続けるアイデンティティ・記憶・ツール・パソコン・ルーティン・現在の状態
セッションをまたいで役割と責任を維持する
ナビゲーションは会話履歴から担当者名簿へ移り、チャットは担当者と話すための入り口になります。

この変更により、サイドバーが答える問いが変わりました。チャット履歴が答えるのは「これまでに何を話したか」であり、ボット名簿が答えるのは「誰が何を担当しているか」です。作業が複数回のセッションにまたがる可能性があるならば、ユーザーが最初に確認すべきは後者の問いとなります。

第二ステップ:それが誰で、何をしているのかを一目で分かるようにする

ボットが長期的なオブジェクトになると、名簿は一度に三つの問いに答える必要が出てきます。それは、「これは誰か」「それは何をしているか」「今、何を知っておく必要があるか」です。Grok Bot チームは、この三つの問いへの答えを、アバターとその周辺の小さなインターフェース領域に集約しました。

数十ものボットを、互いに区別しやすく、かつ同じシステムの一部であると感じさせるために、チームはイニシャル、絵文字、ピクセルアート、水彩、粘土、Noritake 風の線画、シルエット、identicon など、複数のビジュアルシステムを試しました。水彩と粘土は個性がありますが、サイドバーのサイズに縮小すると細部が過剰になります。よりシンプルなシステムはインターフェースに馴染みますが、ボット同士の区別がつきにくく、入れ替え可能に見えてしまいがちです。最終的な解決策は、統一されたシンプルな幾何学的構造と表情豊かな目を維持しつつ、管理されたバリエーションとアクセサリーによって差異を生み出すというものでした。 公式チームが探求した十組のボットアバターのビジュアル方向性。各グループには六つの異なるキャラクターが含まれる

次に、アバターは二つ目の役割を担うことになりました。それは、ライフサイクルの表現です。チームは、待機、作業中、外部待ち、ブロック中、思考中、完了の六つの状態をリストアップしました。ボットは作業を受け取るとまず反応を示し、実行を開始するとより顕著な動きを見せます。外部の条件を待っているときや支援が必要なときは、また動作が変化します。そして完了すると、安定した状態に戻ります。ステータスを伝えるためのバッジを別途並べる必要はなく、ユーザーは同じ視覚オブジェクトを見るだけで、アイデンティティと進捗状況の両方を認識できます。

待機 作業中 外部待ち ブロック中 思考中 完了
識別情報は変えずに、動作状態だけを変化させます。ユーザーはアバターの横で状態バッジを読む必要はありません。

三つ目の役割は、実行の詳細に関する可視性を制御することです。標準的な「三つの跳ねる点」では情報が少なすぎて、ユーザーはボットがまだ作業中なのか、それとも行き詰まっているのかを判断できません。一方で、完全なアクティビティログを常時表示すると、ユーザーを監視者の立場に引き戻してしまいます。チームのユーザー調査によると、人々がより詳細な情報を求めるのは、主にボットがまだ作業中であり、方向性が間違っていないことを確認したいからだということが分かりました。最終的なインターフェースでは、まずアバターの動きによって最小限のコストで確認を提供し、さらに詳しく確認する必要がある場合にのみ、ホバーすることで現在のアクションを表示するようにしました。

デフォルトで表示
Botはまだ作業中
最小限の注意コスト
ホバーで表示
現在のアクションウェブを検索中
方向性が正しいか確認
必要に応じて展開
ソースページを開く3つの結果を比較成果物を整理
問題を調査するときだけ全工程を確認
情報は一度にすべて表示するのではなく、ユーザーの不安感に応じて段階的に増やします。

ここに、最初の明確な設計パスが形成されました。安定したアバターが「誰なのか」を、動作状態が「まだ進行中かどうか」を、必要に応じて表示される現在のアクションが「方向性が正しいかどうか」を担います。情報量はユーザーの懸念の度合いに応じて段階的に増え、デフォルトのインターフェースは静かな状態を保ちます。

第三ステップ:コンピューターはボットが使い、人間は閲覧と引き継ぎの権限のみを持つ

各 Grok Bot は自分専用のコンピューターを持っており、ウェブの閲覧、ファイルの処理、ソフトウェアの実行が可能です。チームはすぐに、直感に反する問題に直面しました。それは、コンピューター画面を目立たせればするほど、製品がリモートデスクトップのようになり、ユーザーがその閲覧や操作に時間を費やしがちになるということです。

彼らは四つのレイアウトを比較しました。フローティングウィンドウは開きやすいですが、会話を遮ります。並列表示は実行プロセスを常時露出させ、ユーザーがじっと見つめることを促します。モーダルウィンドウは短時間の確認には適していますが、ボットのワークスペースを中断として扱うことになります。全画面表示はコンピューターに十分なスペースを与えますが、会話を完全に押しのけてしまいます。四つの選択肢はいずれも所有権の問題を解決していません。インターフェースは依然として、ユーザーが見守る必要のあるコンピューターを示唆しているのです。

フローティング
チャットを遮る
並列表示
常時監視を促す
モーダル
確認のたびにチャットを中断
全画面
コンピュータがチャットを圧迫
共通の誤解:Botのコンピュータを、ユーザーが管理するリモートデスクトップとして描くこと
チームが比較しているのはどのウィンドウが最も美しいかではなく、どのデフォルトの関係が最もユーザーを監視役にしないかです。

最終的な解決策では、介入を三つの層に分けました。

  • ステータス:コンピューターが実行中の場合、タイトルバーのアイコンが紫色になります。ユーザーはワークスペースが使用中であることだけを知ります。
  • プレビュー:コンテキストが必要な場合、固定されたサイドバーを開いて作業を観察します。現在の会話から離れる必要はありません。
  • 引き継ぎ:ボットが人間による処理を必要とする問題に直面した場合、ユーザーは全画面で引き継ぎ、操作が完了したら制御をボットに返します。

ステータスは、必要に応じてボットの現在のアクションを展開することもできます。これにより、三層の介入は、情報量に応じて、ステータス、現在のアクション、プレビュー、引き継ぎという四段階の確認パスとして整理されました。

低い関与高い関与
  1. 1・状態アバターの動きで、作業中かどうかがわかる
  2. 2・現在のアクションホバーで確認、方向性が正しいかどうか
  3. 3・プレビューサイドバーを固定して、Botの画面を観察する
  4. 4・引き継ぎ必要な時だけ全画面で操作し、完了したら返す
確認する手段は常にありますが、情報量と操作権限は実際に必要になった時だけ増えます。

この三層のアクセスにより、「いつでも確認できる」ことと「常に見守らなければならない」ことが分離されました。ボットのコンピューターには、時間帯によって変化する壁紙もあり、朝は明るく、夜は暗くなります。このディテールは単なる飾りではありません。ユーザーがワークスペースを、自分自身のデスクトップのリモートミラーではなく、ボット自身の環境として理解するのに役立ちます。 公式のボットコンピューター用にデザインされた五つの昼夜の壁紙状態

第四ステップ:回答を、そのまま使えるインターフェースへと育てる

初期の Grok Bot は、ほとんどすべてのリクエストに対して散文で回答していました。五日間の天気予報は文章で説明され、一連のタスクもテキストで項目ごとに説明されていました。情報自体は間違っていないかもしれませんが、日付、ステータス、担当者、次のアクションを整理し直す負担はユーザーにのしかかっていました。

そのためチームは、「情報の形状」を回答の一部と見なすことにしました。説明に適した内容は引き続きテキストで提供し、比較、スキャン、直接操作が必要な内容は、インラインカードやコンポーネントを使用します。メールコンポーネントは、宛先、件名、本文に加えて、送信ボタンと破棄ボタンを同時に表示します。ルーチンの作成、設定の変更、別のボットへのメッセージ送信などのアクションは、システムイベントとして会話のタイムラインに直接表示できます。

天気サンフランシスコ
18°晴れ・最高22°
比較型情報:数字とトレンドを優先
タスク3件
  • 製品説明を確認
  • 設計スクリーンショットを整理
  • レビュー草案を提出
メール下書き確認待ち
宛先
デザインチーム
件名
Grok Botデザインレビュー

今回の方針の取捨選択と次のアクションをまとめました。

破棄送信
天気は比較に、タスクは一覧確認に、メールは確認と操作に適した形で示します。自然言語は、その選択肢の一つにすぎません。

これにより、タイムラインは自然言語だけのものではなくなりました。会話、システムイベント、インタラクティブオブジェクト、ビジュアライゼーションが、同じコンテキストを共有します。ユーザーは双方が何を言ったかを確認できるだけでなく、アクションが実際に発生したかどうか、結果がどのような状態にあるか、次に自分が処理する必要があるかどうかを確認できます。したがって、成果物は単なる添付ファイルではなく、チャット内の約束事を確認可能な成果へと変えるインターフェース単位となります。

第五ステップ:複数のボットに対して、能力、記憶、コラボレーションの境界を明確にする

ユーザーが複数のボットを作成すると、システムは二つの相反するニーズを解決する必要があります。ウェブ閲覧、文書処理、メール送信などの能力は再利用できるべきであり、法律、財務、デザインといったロールの長期的なコンテキストは、ひとまとまりの記憶として混ざり合うべきではありません。

Grok Bot は最終的に、能力とコンテキストが異なる境界に従うようにしました。

  • ツールとスキルはアカウント層に属します。複数のボットが共通の能力を共有できます。
  • メモリとルーチンはボット層に属します。長期的な知識と継続的な責務は、特定のロールに従います。
  • グループチャットは共通のタスクに属します。部門横断プロジェクトでは、共同作業に必要なコンテキストだけを共有します。
調整Bot:日常のルーティングを担当判断が必要な場合→ユーザー
能力はできるだけ再利用し、コンテキストは役割とプロジェクトの範囲に合わせて絞ります。

また、ユーザーの中には、Chief of Staff のようなコーディネーターボットを設け、方向性を任せて、複数の専門ボットを調整・指揮させる人もいます。チームはダッシュボードやタスク割り当てボード、明示的な引き継ぎコントロールを検討しましたが、これらのインターフェースは、ルーティング作業を再びユーザーに課すことになります。最終的な方向性は、コーディネーターボットに日常的な割り当てを処理させ、判断が必要な場合にのみ人間を呼び戻すというものでした。

このステップによって、マルチエージェントが本当のチームになるのか、それとも個別に世話をする必要のある六つのチャットウィンドウになるのかが決まります。能力は広く共有でき、ロールの記憶は分離したまま、共通プロジェクト内では必要な事実だけを Bot 間で共有します。そうすることで、人の注意力は日常的な情報の受け渡しで消耗することはありません。

第六ステップ:作業が時間、イベント、または別のボットによって自発的に開始されるようにする

ボットが過去を記憶できるとしても、毎回ユーザーがプロンプトを送信するのを待っている限り、真に継続的な責任を負っているとは言えません。ルーチンを使用すると、ユーザーは長期にわたる作業を事前に定義でき、時間が来たときやイベントが発生したときにボットが自動的に起動します。

トリガーは、固定時刻、曜日、毎週、毎月の周期をカバーするだけでなく、GitHub の Issue、PR、Push、チェック失敗、ワークフローイベント、Slack の新しいメッセージや絵文字リアクション、そしてプロジェクト管理ツールのステータス変更も対象としています。別のボットが作業を開始することもできます。プロンプトは依然としてセッションを開始できますが、作業の開始方法を独占することはなくなりました。

ユーザーのプロンプト一時的にタスクを指示 指定時刻毎日9時にまとめる 外部イベントGitHub PR・Slackメンション・Linearの更新 他のBot調整Botが引き継ぎを開始
ルーティンが Bot を起動 Botが作業を実行 結果をタイムラインに書き込む
例外・判断→ユーザー
トリガーが作業を開始し、タイムラインに記録を残し、例外時だけ人間を呼び戻します。

チームは当初、ルーチンを二次的な設定の中に置いていましたが、後にそれをボットのメインインターフェースへと移しました。その理由は単純明快です。自発的な作業が中核的な能力であるならば、ユーザーはどのような継続的な責務が実行されているか、最近何が実行されたか、結果がどこにあるか、どの異常を処理する必要があるかを確認できなければなりません。会話のタイムラインは、人が開始したリクエストと、誰もオンラインでいないときに発生した作業の両方を記録する、責務の記録としても機能するようになりました。

記憶によってボットは翌日もその作業を認識し、ルーチンによって翌日には自分で続行できます。セッションをまたいだ継続的な作業には、この両方が成立している必要があります。

まとめ:ユーザーを再び管理者にしてしまうインターフェースを削除する

レビューの最後に、チームはプロジェクト後期の作業の多くが削除であったと記しています。ウィンドウとパネルのコントロール、コンピューターのビューオプション、エージェントのメタデータは、圧縮または撤去されました。また、彼らはアカウントあたり約 50 ボット、グループチャットあたり 6 ボットという事実上の上限を設定しました。すべての決定は、同じテストにかけられました。それは、ユーザーの委任を支援するものか、それとも単に管理すべきオブジェクトを増やすだけか、というテストです。

この基準に沿って振り返ると、前述の設計上の選択は、孤立した一連の機能ではありません。ボット名簿は安定した責任を確立し、アバターは進捗状況を見えるようにし、オンデマンドな開示はログの確認を減らし、独立したコンピューターは実行をボットに委ね、構造化されたコンポーネントは結果をすぐに使えるものにし、階層的な境界は複数ボットの調整コストを下げ、ルーチンは次のプロンプトを待たずに作業を進めます。これらはすべて、同じ一つの目的に貢献しています。それは、ユーザーが離れた後も、責任、コンテキスト、そして作業が継続できるようにすることです。

この公式レビューは、Grok Bot があらゆるシナリオで確実に長期タスクを処理できることを証明するものではありません。それが提供する価値は、具体的な製品判断のセットです。もしインターフェースが依然として一度きりのセッションを中心に構成され、ユーザーが進捗を絶えず尋ねたり、完全なログを閲覧したり、コンテキストを手作業で運んだり、次のステップを手動でトリガーしたりする必要があるならば、ロボットはより強力なモデル能力を持っていたとしても、製品レベルでセッションをまたいで作業する長期的な責任者にはなり得ないということです。

出典
Designing Grok Bot for a world of persistent agentsSpaceXAI·2026-09-03·一次資料を見る
当サイトの注記
SpaceXAI が2026年9月3日に公開した Grok Bot のプロダクトデザイン振り返りに基づく。ユーザー調査、機能の範囲、数量上限は、すべてベンダーの説明に基づいています。
↑ 本文ここまで
✓ この記事は全文無料です

メンバーは全文 Markdown のコピー・保存に加え、自分の AI に購読・質問させることができます。

原文を読む ↗
📮 新着解説をメールでいち早く

役に立ちましたか?メールを登録すると、新着解説を公開と同時にお届けします。解除はいつでも。