# GitHub Copilot アプリ でのキャンバス拡張機能の操作

GitHub Copilot appのキャンバスを使用して、人間とエージェントのコラボレーションのために、エージェント駆動型の共有成果物とインターフェイスを構築します。

## キャンバス拡張機能について

キャンバス拡張機能は、計画、トリアージ ボード、ブラウザー セッション、リリース チェックリスト、ダッシュボード、インシデント、スプレッドシートなど、作業成果物の共有された対話型サーフェスです。

キャンバス拡張機能は、スキルや MCP サーバーなどの他の機能と共にプラグインに含めることができます。

チャットは意図の定義やタスクの説明に役立ちますが、ほとんどの作業はターミナル、ブラウザー、ドキュメント、ダッシュボードなどの作業領域で行われます。 キャンバスを使用すると、それらの作業サーフェイスでエージェントと直接共同作業を行うことができます。

キャンバスは双方向です。エージェントはキャンバスの動作中にキャンバスを更新でき、同じサーフェスで編集できます。 キャンバスを作成すると、エージェントはプロンプトとワークフローに基づいて機能を生成します。 反復処理を行う際に、それらの機能を追加、削除、または変更するように要求できます。 作成すると、アプリの右側のパネルでキャンバスが開きます。

たとえば、ユーザーが UI コントロールを使用してカードを作成または移動するエージェントかんばんキャンバスを作成し、エージェントに `get_board`、 `add_card`、 `move_card`などのエージェント呼び出し可能な機能を追加するように依頼できます。 これにより、ユーザーとエージェントは、1 つの共有ボードから作業を調整できます。

## キャンバスを使用する理由

キャンバスは、タスクまたはワークフローに構造、イテレーション、検証が必要で、チャットでは不十分な場合に役立ちます。 チャットを使用して、あいまいさによってエージェントと理由を指示し、キャンバスを使用して、プロンプトのみに依存することなく、目に見える作業を直接検査、操作、検証できます。

キャンバスは 2 種類の価値を提供します。両側に作業する共有サーフェスを提供することで、人間とエージェントのパートナーシップを向上させ、ワークフローに合わせてそのサーフェスをカスタマイズできます。

キャンバスは、次の必要がある場合に便利です。

* グラウンド エージェントは、ワークフローに適合する実際の成果物または環境で動作します。
* 共有サーフェイスで作業を直接操作または修正し、エージェントがそれらの変更を続行できるようにします。
* チャットの応答だけでなく、共有成果物に対する目に見える変更として進行状況と結果を検査します。
* ターン、セッション、ハンドオフをまたいでも、作業を途切れさせません。

## 利用事例の例

キャンバス拡張機能は、さまざまなシナリオでニーズやチームのニーズに合わせてカスタマイズできます。 例えば次が挙げられます。

* **エージェントかんばんボード:** 人間とエージェントがカードを追加し、作業を移動し、タスクを開始できるようにします。
* **トリアージ ボードを発行する:** リポジトリの一番上の問題、定期的なテーマ、ユーザーの問題点をまとめます。
* **Markdown キャンバス:** 1 日の計画、問題とプル要求の優先順位付け、エージェント セッションの起動と監視、および関連する作業を 1 つの編集可能な画面に保持するための永続的なマークダウン ファイルを作成します。
* **ドキュメント キャンバス:** ドキュメント、スプレッドシート、スライド デッキ、その他の成果物をアプリで直接開き、編集、共同作業します。

## キャンバスの検出

**キャンバス** ビューには、おすすめのキャンバスのキュレーションされた一覧が表示されます。 一部のキャンバスはプラグインを介して配信されます。これは、セッションでキャンバスを使用する前にインストールする必要があります。 たとえば、Azure DevOps プラグインをインストールすると、Azure DevOps の作業を計画および管理するためのキャンバスにアクセスできるようになります。

1. アプリのサイドバーで、\[ **カスタマイズ**] をクリックします。
2. **\[キャンバス]** をクリックします。
3. おすすめキャンバスを参照します。
4. キャンバスにプラグインが必要な場合は、\[ **プラグインのインストール**] をクリックします。
5. \[ **新しいセッション** ] をクリックして、キャンバスとのセッションを開きます。

\[ **インストール済み** ] をクリックして、使用できるキャンバスなど、インストールされているすべてのカスタマイズを表示することもできます。

## キャンバスの作成

`/create-canvas` スキルを使用して、セッション内から新しいキャンバスを作成できます。

1. エージェントセッションを開くか、開始する。
2. プロンプト ボックスに「 `/create-canvas`」と入力し、キャンバスでサポートするワークフローと機能について説明します。これには、ユーザーができること、エージェントが実行できることなどです。
   たとえば、エージェントに次の要求を行うことができます。

   * `Create an agentic kanban canvas with actions to create, assign, and move cards.`
   * `Create a markdown canvas that combines my meetings with prioritized issues and pull requests, then lets me launch and track agent sessions from that canvas.`
3. キャンバスをチームと共有するか、個人用にするかを選択できます。
   * **プロジェクト スコープ:**`.github/extensions` リポジトリにコミットされたチーム共有キャンバス用。
   * **ユーザー スコープ:**`~/.copilot/extensions` お使いのマシン上の個人用キャンバス用。

エージェントはキャンバスをビルドし、完了したら右側のパネルで開きます。 その後、エージェントにインターフェイス、共有状態、および機能の変更を求めることで、反復処理を続行できます。

## キャンバス拡張機能の構造

アプリで作成するか、 `.github/extensions` (プロジェクト スコープ) または `~/.copilot/extensions` (ユーザー スコープ) の下の独自のディレクトリに直接インストールするキャンバス拡張機能。

実装はさまざまですが、キャンバス拡張機能には一般的に次のものが含まれます。

* 拡張メタデータと依存関係の `package.json` ファイル。
* キャンバスの動作と機能を定義する拡張エントリ ファイル ( `extension.mjs` など)。
* 永続化されたキャンバスのデータと状態のためのオプションの JSON アーティファクト（たとえば、`artifacts` ディレクトリ配下のファイル）。

アプリのサイド パネルでキャンバスが開くと、ユーザーとエージェントの両方が、UI アクションとエージェント呼び出し可能な機能を通じて、同じ共有状態と対話します。

## キャンバスでの作業

キャンバスが開いたら、エージェントを使用してすばやく反復処理できます。

* キャンバスの機能を追加または変更します。
* キャンバス コントロール (ボタン、カード、フィルターなど) を使用して、サーフェスを直接更新します。
* キャンバスによって公開されている機能を呼び出してデータを更新したり、アクションを実行したりするようにエージェントに依頼します。

## 詳細については、次を参照してください。

* 「[GitHub Copilot アプリ でのエージェント セッションの操作](/ja/copilot/how-tos/github-copilot-app/agent-sessions)」。
* 「[GitHub Copilot アプリのカスタマイズ](/ja/copilot/how-tos/github-copilot-app/customize-github-copilot-app)」。