本文へスキップ
コース目次

アカデミーモジュール 5 · エージェントの作業と承認

エージェント:ツール、承認、取り消し

全3レッスン中 1番目14分

このレッスンで学ぶこと

  • ツールチップ、差分、変更カードから、エージェントのスレッドを作業記録として読み取る
  • 適切な権限モードを選び、承認カードに意図を持って回答する
  • ミニグラフとクリック可能な参照から、回答の根拠となったノートをたどる
  • ターンごとのチェックポイントと巻き戻しを使って、エージェントのターンを取り消す
  • 学習ガードがいつ、なぜ作動するかを説明する

エージェントはファイルを開き、ナレッジグラフに問い合わせ、作業の記録をスレッドに残します。回答に至る過程を確認でき、変更の承認は選択した権限モードと保存済みルールに従います。

このレッスンでは、ツールの実行ループ、回答からノートへ根拠をたどる方法、そして利用者が主導権を保つための 3 つの仕組み(承認プランチェックポイント)を詳しく見ていきます。

エージェントの動作の仕組み

エージェントは、考える、ツールを呼び出す、結果を読む、という処理を繰り返します。各ツール呼び出しは、スレッド内に所要時間付きの チップ として表示されます。これは折りたたみ可能な行で、ツール名、実行時間、依頼内容が分かります。展開すると出力全体を確認でき、実行中のチップは光が流れるように表示されます。

推論にもチップがあります。処理中は「Ns 間思考中」、完了すると「Ns 間思考しました」と表示されます。必要なときは展開して、推論内容を読み返せます。

チップの表示(実行中 → 完了)エージェントが行っていること
「ファイルを読み取り中」→「ファイルを読み取りました」ワークスペースのノートまたはファイルを開く
「ワークスペースを検索中」→「ワークスペースを検索しました」ノートを検索する。グラフが役立つ場合は、回答の出典を示すミニグラフも表示される
「ナレッジグラフを照会中」→「ナレッジグラフを照会しました」件数など、厳密に答えられる質問をグラフへ直接問い合わせる
「Web を検索中」→「Web を検索しました」Web を検索する(「+」メニューの「Web 検索」は初期状態でオン)
「ノートを編集中」→「ノートを編集しました」ファイルを変更する。チップ内に差分が表示される
「コマンドを実行中」→「コマンドを実行しました」シェルコマンドを実行する。本文には $ command と取得した出力が表示される
「確認中」→「確認しました」利用者が回答した確認事項。回答後はチップとしてスレッドに残る
「学習中」→「学習しました」判明した内容を今後のセッション用に保存する(後ほど詳しく説明)
  • 連続する読み取りはまとめて折りたたまれます。ファイルを 2 件以上続けて読むと「{{count}} 件のファイルを読み取りました」という 1 つのチップになり、展開すると各パスを確認できます。Web 検索も同様に「{{count}} 件のクエリを Web 検索しました」とまとめられます。
  • ファイル書き込みのチップだけは例外で、初期状態から 展開 されています。追加は緑、削除は赤で示された差分が承認プロンプトのすぐ上に表示されるため、回答する前に変更内容を確認できます。「ファイルを開く」ボタンと、変更前後の全差分タブも 1 クリックで利用できます。
  • 各手順には実際に行われた処理が明記されるため、スレッドは監査可能で正確な作業記録として残ります。
エージェントの 1 ターン。折りたたまれたツールチップ、承認カードの上に展開されたファイル書き込み差分、コンポーザーの権限モードバッジが表示されています。

回答の出典を確認

ワークスペース検索が回答の根拠になった場合、スレッドには「この情報の参照元」という 3D ミニグラフがインライン表示されます。「{{entities}} 件の項目・{{edges}} 件の関係」という件数と、「直接一致」「関連」の 2 色の凡例が付きます。

「関連」ノードに注目してください。名前が検索語に一致していなくても、直接一致した項目とつながっているためグラフに取り込まれたノードです。これは連想的な想起であり、その過程を目で確認できます。

回答内の参照も、入力操作なしで出典へリンクされます。リンクは現在のワークスペースを基準に解決されるため、クリックすると回答の根拠となったノート、PDF、エンティティを正確に開けます。単なるファイル名(「report.md」)でも、ワークスペース内のファイルと完全に一致すれば自動的にリンクされます。

出典へすぐ戻る

ミニグラフは折りたたみ可能な検索チップの外側に表示されるため、ほかの要素を閉じても見える状態が保たれます。

ノードをクリックするとグラフビューでそのエンティティを開けます。「グラフで開く」を選ぶと、周辺全体を探索できます。

操作の承認と権限モード

エージェントが実行前にどこまで確認を求めるかは、コンポーザーにある 権限モード のバッジで決まります。モードは 4 種類で、初期設定は「確認」です。

モード動作
「確認」(初期設定)ファイル書き込み、コマンド、コンピューター操作、Web 取得を確認する。
「自動編集」ワークスペースの編集と安全なコマンドを自動承認する。リスクのある操作だけ確認する。
「プラン」読み取り専用。変更する前にワークスペースを調査してプランを提案する。
「フルアクセス」確認せずにすべて実行する。慎重に使用する。
  • コマンドの承認。 「コマンドを実行しますか?」(危険性がある場合は「⚠️ このコマンドを実行しますか?」)には、「読み取り専用コマンド」から「昇格権限(sudo/su)で実行」まで、確認が必要な理由が表示されます。選択肢は「今回のみ許可」「このターン中は常に許可」「拒否」です。ワークスペース外へ書き込む必要がある場合は、権限昇格の注記に対象ディレクトリが明記されます。
  • ファイル書き込みの承認。 「AI がファイル {{path}} を編集しようとしています。この変更を適用しますか?」というカードに差分が表示されます。選択肢は「今回のみ許可」「{{scope}} の編集を常に許可」(チャットをまたいで保存)、「拒否」です。
  • ガード。 「{{host}} から取得しますか?」と「ナレッジベースに保存しますか?」は、同じターン内でエージェントが外部の Web コンテンツを読んだ場合にのみ表示されます。直前に読んだページが会話へ独自の指示を紛れ込ませようとする、プロンプトインジェクションを防ぎます。

承認が必要な操作と、不要な操作

「確認」モードでも、読み取りはそのまま実行されます。ファイルを開く、ワークスペースを検索する、ナレッジグラフを照会するといった操作で確認は求められません。

承認は、エージェントが何かを変更する境界を守ります。対象はファイル書き込み、シェルコマンド、コンピューター操作、そして Web コンテンツを読んだ直後の取得や学習ノートの保存です。

画面操作中の状態表示

コンピューター操作はアプリのウィンドウ で行われるため、承認カードに加えて安全表示が用意されています。エージェントが画面を見ている、または操作している間は、すべてのディスプレイの端が発光します。この光は透明でクリックを妨げないため、作業の邪魔になりません。

メインディスプレイには、Consilience がコンピューターを操作中であることと、ESC で停止できることを示す小さなピルも表示されます。Consilience がバックグラウンドにあっても見落としません。

  • 回転する色付きの光。 エージェントが現在、画面上で操作しています。
  • 静止した琥珀色の光 と「Consilience は操作を待っています」というピル。エージェントは一時停止しています。アプリ内の承認カードへの回答を待っているか、利用者がマウス操作を引き継いだことを検知した状態です。
  • どこからでも ESC。 インジケーターが表示されている間は、グローバルな ESC 停止スイッチが有効です。どのアプリを使っていても、いつでも ESC を押せば、エージェントのコンピューター操作がその場で停止します。

オーバーレイはエージェントには見えません

エージェントが取得するスクリーンショットには Consilience のウィンドウが含まれないため、光やピルも認識しません。このインジケーターは利用者だけのためにあり、モデルを混乱させることはありません。

まずプランを作り、それから実行する

規模の大きな作業では、バッジを「プラン」に切り替えます。エージェントは読み取り専用でワークスペースを調査し、「次のプランで進めます。承認して実行しますか?」というプラン承認カードを返します。「承認して実行」または「プランを続ける」を選べます。カードには「任意:プランで変更したい点」という入力欄もあるため、すべてを入力し直さずに修正方針を伝えられます。

作業を始めると、エージェントはスレッド内で プランのチェックリスト を更新し続けます。空の四角は未着手、アスタリスク付きの四角は進行中、チェックは完了を表します。リアルタイムで更新されるため、現在どの手順に取り組んでいるかが常に分かります。

チェックポイントで作業を戻す

ファイルを変更したターンの末尾には、必ず 変更カード が表示されます。「Ns 間作業」、対象ファイル(または追加・削除行数を含む「{{count}} 行を変更」)、展開可能な「Markdown 差分プレビュー」、1 クリックの「元に戻す」ボタンが含まれます。実行するとボタンは「元に戻しました」に変わります。

さらに広い範囲を戻す場合は、過去に送信したメッセージへポインターを合わせます。時計アイコン(「このメッセージから編集または取り消す」)をクリックすると、巻き戻しメニューが開きます。

  • 「このメッセージを編集して再送信」は、このメッセージより前の状態から 新しい 会話を分岐し、元のテキストと添付ファイルをコンポーザーへ戻します。
  • 「ここまでの返信を取り消す」は、現在のスレッドをこのメッセージの直前まで戻します。取り消した内容は失われ、実行中の処理があれば先に停止します。
  • 「ここまでの AI の変更を取り消す」は、ワークスペースのファイルをターン前の コードチェックポイント に復元します。チェックポイントがあるターンでのみ表示されます。
  • 「新しいチャットで AI の変更を取り消す」は、同じファイル復元を分岐した会話内で行います。
  • 会話の巻き戻しは直ちに適用されます。コードの巻き戻しは必ず先に確認されます。「AI によるファイル変更を取り消しますか?」という画面で、復元されるファイルと削除されるファイルを正確に確認できます。

編集を 1 件承認し、その後で元に戻す

  1. 新しいチャット(「新しいチャット」または ⌘⇧C)を開き、コンポーザーのバッジが初期モードの「確認」になっていることを確認します。
  2. @ を入力してノートを 1 つ選び、「このノートの先頭に 1 行の要約を追加してください」と依頼します。
  3. チップを確認します。「ファイルを読み取り中」に続き、差分が展開されたファイル書き込みチップが表示されます。変更予定の行を正確に読みます。
  4. 変更の適用を求める承認カードで「今回のみ許可」を選びます。
  5. ターン終了後、変更カード(「…間作業」)を見つけて「元に戻す」をクリックします。

ボタンが「元に戻しました」に変わり、ノートが変更前と完全に同じ状態へ戻ります。これで、差分、承認、チェックポイント、取り消しという安全ループ全体を実行できました。

学習ツールでノートを保存

ツールの中でも、学習は特別に扱われます。エージェントが今後も保持すべき内容、たとえば利用者から得た回答や検証した事実を見つけると、「学習中」チップが表示され、完了すると「学習しました」に変わります。学習した内容は保存され、今後のセッションで利用されます。

この記憶は会話終了後も残るため、専用のガードがあります。同じターン内で外部の Web コンテンツを読んだ直後に保存しようとすると、「ナレッジベースに保存しますか?」というカードが表示されます。信頼できないページが誤った事実を埋め込み、今後のセッションで真実として扱われる危険性を警告します。「許可」で学習ノートを保存し、「拒否」で保存を見送ります。

次のレッスンでは、同じ安全機能を活用しながら、エージェントにより大きく長時間の作業を任せます。

ツールチップ
ツール呼び出しごとに表示される、折りたたみ可能で所要時間付きの 1 行。ラベル、実行時間、依頼内容の要約、内部に格納された全出力を含む
権限モード
承認が必要な操作を決めるコンポーザーのバッジ。「確認」「自動編集」「プラン」「フルアクセス」のいずれか
承認カード
エージェントが許可を必要とするときにコンポーザー領域へ表示されるカード。選択肢と理由を示す
プランのチェックリスト
エージェントが作業しながら更新する、通常のチェックボックス行で表示されたライブ ToDo リスト
変更カード
ターン終了時に表示されるファイル変更の要約。差分プレビューと 1 クリックの「元に戻す」を含む
コードチェックポイント
「ここまでの AI の変更を取り消す」に使用される、ターンごとのファイルスナップショット
学習ガード
Web に由来するノートを今後のセッション用に保存する前に求められる確認
エージェント:ツール、承認、取り消し