AIエージェント技術
📅 2026-08-07 ⏱️ 11分 Dean Dean

安全なクロスデバイスAIエージェント引き継ぎ:タスク状態、承認、切断復旧の設計

安全なクロスデバイスAIエージェント引き継ぎを、遠隔操作、タスク移動、状態の受け渡し仕様、端末別の権限、切断復旧、GitHub Copilot CLIとFoneClawの実装例から解説します。

PCで動くAIエージェントをスマホから遠隔操作し、タスク状態、承認、切断復旧を確認する画面
📋 要点
  • クロスデバイス引き継ぎには、元の端末で処理を続ける遠隔操作、実行主体まで移すタスク移動、通知だけを引き継ぐ方式、同じ端末内で操作画面を切り替える方式があります。
  • 安全な引き継ぎには、ユーザー、目的、入力、現在の手順、生成済みの結果、実行主体、情報の鮮度をまとめたタスク状態の受け渡し仕様が必要です。会話履歴だけでは実行を再開できません。
  • GitHub Copilot CLIの遠隔操作では、CLIセッションは元の環境で動き続け、スマホ、Web、IDEから進捗確認、追加指示、権限要求への回答、停止を行えます。
  • 現在のFoneClawは、同じAndroid端末上のホーム画面とフローティングアシスタントの間で、実行、承認、停止、権限回復を継続します。これはクロスデバイス同期ではなく、端末内の操作継続です。

遠隔操作、タスク移動、通知継続、端末内継続を分ける

安全なクロスデバイスAIエージェント引き継ぎを設計するときは、まず何が端末間を移るのかを特定します。「PCで始めた作業をスマホで続ける」という説明だけでは、実際の処理場所、利用する権限、停止方法が分かりません。少なくとも、遠隔操作、タスク移動、通知の継続、同じ端末内での操作画面の切り替えという四つを分ける必要があります。

遠隔操作では、実行中のセッションは元のPCやサーバーに残ります。スマホは進捗を表示し、追加指示を送り、質問へ答え、権限要求を承認または拒否し、必要なら停止します。スマホへ処理そのものが移動するわけではありません。元の環境がスリープしたり、セッションが終了したりすれば、スマホ側の操作画面だけでは作業を続けられません。

タスク移動は、実行主体を別の端末や環境へ切り替える方式です。この場合、目的や会話だけでなく、入力データ、生成済みの成果、現在の手順、必要な認証、利用可能な機能を新しい環境で再確認します。PCで使えたファイルや開発環境がスマホには存在しないなら、そのままの移動は成立しません。新しい実行主体が同じ結果を作れるかを検証する必要があります。

通知の継続はさらに限定的です。「処理が完了した」「質問がある」と知らせるだけなら、進捗を見られてもタスクを操作できるとは限りません。一方、同じAndroid端末でホーム画面からフローティング表示へ移るような構成は、デバイス間の引き継ぎではありません。端末、権限、実行主体を保ったまま、操作する画面だけを切り替える方式です。

方式実行主体別の画面でできること主な確認点
遠隔操作元の端末または環境監視、追加指示、回答、承認、停止元のセッションが動いているか
タスク移動新しい端末または環境状態を復元して処理を再開入力、権限、機能、成果の互換性
通知の継続元の環境完了や確認待ちを受信通知から操作できる範囲
同一端末内の継続同じ端末と同じ実行基盤別の表示から確認、承認、停止タスクと表示状態の一致

ユーザーがこれらを見分けるには、タスク名、実行している端末、現在の状態、操作可能な範囲を一画面で確認できることが重要です。複数タスクを管理する画面の設計は、スマホ AI エージェント コントロールは、承認と可視化が中心になるで詳しく整理しています。

安全に渡すべきタスク状態を定義する

タスクを別の画面や端末から扱うには、最低限の状態を共通形式で渡す必要があります。必要なのは会話全文ではなく、誰のタスクか、何を達成するのか、どの入力を使ったか、現在どこまで進んだか、何が生成済みか、どの環境が実行しているか、情報がいつ確認されたかという実行可能な状態です。

第一の項目はユーザーとセッションの識別です。同じアカウントでも、個人用と仕事用、通常利用と管理者権限では実行できる操作が異なります。第二は目的です。「レポートを作成」のような大きな目的に加えて、「下書きまで」「テスト実行まで」「公開前で停止」など、完了地点を明示します。第三は入力で、ファイル、現在画面、URL、選択した会話、ユーザーが入力した条件を参照できる形にします。

現在の手順には、完了済み、実行中、確認待ち、失敗、未着手を含めます。成果物は、生成された文章、変更候補、ログ、途中ファイルなどを識別し、どれが確定済みかを示します。実行主体には、端末名だけでなく、対象アプリ、セッション、利用中の機能を含めます。鮮度には、状態を取得した時刻と、再確認が必要になる条件を記録します。

状態項目確認する内容欠けた場合の問題
ユーザーとセッション誰のどの利用状態か別のアカウントや権限で再開する
目的と停止地点何をどこまで進めるか下書きのつもりが公開まで進む
入力ファイル、画面、URL、条件別の資料や古い画面を参照する
現在の手順完了、実行中、確認待ち、失敗同じ処理を重複して実行する
成果物生成済み、確定済み、未保存古い下書きへ戻る
実行主体端末、環境、アプリ、セッションどこで停止すべきか分からない
鮮度取得時刻、期限、再検証条件変化した状態へ古い判断を適用する

たとえばPC上のエージェントがコード変更を準備し、スマホから確認する場合、会話履歴だけでは不十分です。対象リポジトリ、ブランチ、変更ファイル、テスト結果、待機中の権限要求、実行中のCLIセッションを特定する必要があります。画面に「承認しますか」とだけ表示しても、どの変更をどこへ適用するのか判断できません。

スマホ操作でも同じです。位置情報や連絡先といった個人文脈は、便利な背景情報ではなく、タスクと利用目的に結び付いた入力として扱います。文脈の範囲と利用条件については、パーソナルコンテキスト AI エージェント:スマホ操作に必要な文脈と安全な境界が、保持すべき情報と毎回確認すべき情報を分ける助けになります。

権限と承認をタスク・操作・実行端末に結び付ける

引き継ぎ前に得た承認を、別の端末や別の操作へそのまま適用してはいけません。承認は「このエージェントを信頼する」という包括的な許可ではなく、特定のタスク、操作内容、対象、実行主体、表示した結果に結び付けます。実行環境が変われば、利用できる権限、認証情報、対象データも変わるため、再検証が必要です。

遠隔操作では、承認画面をスマホに表示しても、操作を行うのは元の環境です。したがって画面には、実行元の端末またはセッション、要求されたコマンドや機能、対象ファイル、予想される影響を示します。スマホの生体認証を通過したことだけで、PC上の任意の権限要求を許可したことにはなりません。

タスク移動の場合は、元の端末での権限が新しい端末にも存在するかを確認します。PCで読み取れたファイルがスマホにない、スマホで許可された連絡先アクセスがサーバーにはない、といった差があります。新しい実行主体が必要な権限を持たない場合は、移動を完了扱いにせず、権限待ちまたは利用可能な範囲へ縮小した状態にします。

承認待ちの間に入力や成果物が変わった場合も、古い承認は使いません。たとえば承認画面を開いた後に、元のPCで別のファイルが変更されたなら、差分を更新して再確認します。承認内容を作成した時点の状態と実行直前の状態を照合することで、「確認した内容」と「実際に実行した内容」を一致させられます。

確認画面では、実行主体、操作、対象、影響、取り消し方法を短く並べます。信頼度や提案理由を含む具体的な表示方法は、AIエージェント承認UI設計:提案、信頼度、理由、タスク状態をスマホでどう見せるかで詳しく解説しています。

  • 承認対象となるタスクと現在の手順を表示する。
  • 実際に操作を行う端末、環境、アプリを表示する。
  • 対象ファイル、相手、設定値などを具体的に示す。
  • 承認後に起きることと、停止・取り消しの可否を説明する。
  • 入力や実行主体が変わった場合は、承認を取り直す。

スリープ、通信切断、画面変化、期限切れから復旧する

安全な引き継ぎは、接続中の操作よりも切断後の状態で評価できます。元のPCがスリープした、スマホの通信が切れた、対象アプリの画面が変わった、遠隔操作用の認証情報が期限切れになった場合に、実行中なのか停止したのかを明確にしなければなりません。「接続できません」という表示だけでは、再試行してよいか判断できません。

元の環境がスリープした場合、遠隔操作の画面は新しい指示を受け付けない状態へ移します。実行中の処理が停止したのか、バックグラウンドで続いているのかを確認し、分からない場合は「状態不明」と表示します。スマホ側で同じタスクを新しく開始すると、重複処理や競合が起きる可能性があるため、元のセッションを確認するまで再実行を保留します。

ネットワーク切断では、最後に確認できた手順と時刻を残します。再接続後は、元のセッション識別子、現在の手順、生成済みの成果物、未処理の入力を照合します。切断中にスマホから追加した指示は、未送信、送信待ち、受領済みを区別します。同じ指示を二度適用しないため、入力には一意の識別子と順序が必要です。

対象アプリやファイルが変わった場合は、タスク状態の鮮度が失われます。スマホで承認を待っている間にPC側のブランチが切り替わった、Androidアプリの画面が更新された、選択した連絡先が変わったといった場合は、以前のプレビューを破棄して現在の状態を作り直します。変更前の承認で新しい状態を実行しません。

引き継ぎ用の認証情報やリンクが期限切れになった場合は、再認証後に保留中の承認を自動適用しないことも重要です。再接続したユーザー、端末、タスク、対象を確認し、必要なら新しい承認を求めます。失効した認証情報は再利用できない状態にし、不要な遠隔接続を削除できる導線を用意します。

中断原因表示すべき状態再開前の確認
元の環境がスリープ停止、継続中、状態不明セッションが実在し処理中か
ネットワーク切断最終確認時刻と未送信入力手順、成果物、入力順序
アプリやファイルの変化プレビュー期限切れ対象と差分の再取得
認証情報の期限切れ再認証待ちユーザー、端末、タスク、承認内容

GitHub Copilot CLIの遠隔操作から学ぶ

現在の実装例として分かりやすいのが、GitHub Copilot CLIセッションの遠隔操作です。GitHubは2026年5月に、Copilot CLIセッションの遠隔操作を正式提供しました。GitHub Mobileとgithub.comから利用でき、VS CodeやJetBrainsの操作画面も用意されています。

この方式では、Copilot CLIセッションは開始した元の環境で動き続けます。スマホやWeb画面がCLI処理を引き取るのではありません。別の画面から進捗を受信し、追加の指示を送り、入力を待ち行列へ追加し、エージェントからの質問へ答え、権限要求を許可または拒否し、セッションを停止します。実行主体と操作画面が明確に分かれた遠隔操作の例です。

たとえばPCでテストを実行中に外出した場合、スマホで進捗を確認し、「失敗したテストだけ再確認して」と追加指示を送れます。CLIがファイル変更やコマンド実行の許可を求めたら、スマホには元のセッションと要求内容が表示されます。ユーザーが拒否すれば、元の環境でその操作を進めません。停止を選んだ場合も、対象はスマホ上の別タスクではなく、接続しているCLIセッションです。

2026年7月には、GitHub MobileのCopilot CLIライブ通知がiOSとAndroidへ追加されました。これにより、遠隔セッションの進行や確認待ちをスマホで把握しやすくなりました。ただし、通知を受け取ることと、CLIセッションをスマホ上で実行することは異なります。

GitHubのCopilot CLI遠隔操作の公式解説を読むと、元の環境が実行を保持し、別の画面が監視と操作を担当する構成が明確です。このパターンを他のAIアシスタントへ応用する場合も、実行場所、遠隔側で許可される操作、認証の有効期間、切断時の状態を個別に設計する必要があります。

現在のFoneClawの同一端末内での操作継続

現在のFoneClawは、同じAndroid端末上でホーム画面とフローティングアシスタントの間を移動しながら、タスクを継続できます。これは別のスマホ、PC、Web画面へセッションを同期する機能ではありません。実行主体、Android権限、アプリ状態を一台の端末に保ったまま、操作する表示を切り替える仕組みです。

現在のフローティングアシスタントは画面上を移動でき、コンパクトなパネルへ切り替えられます。現在のアプリを開いたまま、ワンタップで表示中の画面を依頼へ添付できます。添付時にはFoneClaw自身の重なり表示を除外するため、エージェントの操作パネルではなく、対象アプリの画面を文脈として扱えます。

たとえば地図やメッセージ画面を見ながら、「この内容を確認し、次の候補を整理して。まだ実行しない」と依頼できます。設定したモデルが内容を理解し、FoneClawの管理されたAndroid機能が対応する操作を担当します。操作に確認が必要なら待機状態へ移り、フローティング表示またはホーム画面から内容を確認できます。

作業中に別のアプリへ移っても、実行、承認、停止、権限回復の状態を同じ端末内で継続します。権限不足でAndroid設定を開いた場合も、許可後に元のタスクへ戻る流れを保ちます。対象画面が変わっていれば、古い画面情報に基づく操作をそのまま進めず、現在の状態を再確認します。最新版の案内はFoneClawのダウンロードページで確認できます。

この継続性には、現在のタスク管理も関係します。FoneClawでは、実行中と待機中を独立して管理し、承認をセッションへ結び付け、別のタスクと状態が混ざらないようにしています。その状態をホーム画面とフローティング表示の双方から扱えるため、別端末への引き継ぎではなくても、安全な連続操作に必要なタスク識別、確認、停止、復旧を実機で評価できます。

開始から削除まで引き継ぎを実機で評価する

クロスデバイス引き継ぎを評価するときは、成功する一回の操作だけでなく、開始、遠隔指示、承認、停止、再接続、記録、削除まで通して試します。テストには、外部公開や本番データ変更を伴わない専用タスクを使います。たとえば一時的な作業環境で、短いファイルの要約、テスト実行、下書き作成などを選びます。

  1. 開始:元の環境でタスクを開始し、タスク名、目的、停止地点、実行主体を記録します。
  2. 遠隔指示:別の画面から進捗を開き、元のセッション識別情報と現在の手順が一致するか確認します。低影響の追加指示を一件だけ送り、受領済みになるまで重ねて送信しません。
  3. 承認:確認が必要な操作を発生させ、実行元、対象、操作内容、影響が遠隔画面に表示されるかを見ます。表示後に元の入力を変更し、古い承認が無効になるかも確認します。
  4. 停止:遠隔画面から停止し、元の環境で処理が止まったことを確認します。操作画面だけが閉じ、元の処理が続いていないかを確かめます。
  5. 再接続:通信を一時的に切り、再接続後にタスク、成果物、未送信入力、最終確認時刻が正しく復元されるかを確認します。同じ指示が重複実行されないことも見ます。
  6. 記録:開始、追加指示、質問への回答、承認、拒否、停止、再接続、完了が時系列で区別されるかを確認します。
  7. 削除:テスト終了後に遠隔接続、引き継ぎ用の認証情報、不要なタスク履歴、一時成果物を削除し、古いリンクや端末から再接続できないことを確認します。

タスク移動を試す場合は、元の環境を停止する前に、新しい環境が必要な入力、機能、権限を持つか確認します。移動後は、実行主体が明確に切り替わり、元の環境から同じ処理が続いていないことを見ます。遠隔操作のテストでは、反対に実行主体が元の環境に残っていることを確認します。

利用する機能や外部資源を動的に見つける構成では、発見しただけで実行を許可しないことも重要です。提供元の確認、利用可能な操作、必要な認可を分ける設計は、Agentic Resource Discoveryとは:ai-catalog.json、検証、スマホ操作の認可を分けて考えるで詳しく解説しています。

合格条件は、どの端末からでも同じ画面が見えることではありません。ユーザーが実行主体を特定でき、現在の手順と成果を確認でき、承認を正しい操作へ結び付け、切断後も重複なく再開でき、不要になった接続と記録を削除できることです。この条件がそろって初めて、安全なクロスデバイスAIエージェント引き継ぎとして日常のタスクへ利用できます。

よくある質問

実行中のAIタスクを別の画面や端末から確認、操作、または再開できるようにする仕組みです。元の環境を遠隔操作する方式、実行主体まで別環境へ移す方式、通知だけを受け取る方式、同じ端末内で操作画面を切り替える方式があり、それぞれ必要な状態と権限が異なります。
遠隔操作方式では移りません。GitHub Copilot CLIの例では、CLIセッションは開始した元の環境で動き続け、スマホやWebから進捗確認、追加指示、質問への回答、権限要求の承認・拒否、停止を行います。処理をスマホへ移すタスク移動とは別の方式です。
承認をユーザーだけでなく、元のタスク、具体的な操作、対象、実行する端末や環境、表示した内容に結び付けます。入力、対象、実行主体が変わった場合は、以前の承認を流用せず、最新の状態を表示して確認し直します。
最後に確認できた手順と時刻を残し、停止、継続中、状態不明を区別します。再接続後は元のセッション、成果物、未送信入力、承認内容を照合し、重複実行を避けます。認証情報が期限切れなら再認証し、保留中の操作は必要に応じて再承認します。