# 機能

これらのガイドでは、Copilot SDK アプリケーションに追加できる機能について説明します。 各ガイドには、サポートされている言語 (TypeScript、Python、Go、.NET、Java、Rust) の例が含まれています。

## Links

* [エージェント ループ](/ja/copilot/how-tos/copilot-sdk/features/agent-loop)

  Copilot CLI がユーザー メッセージをエンド ツー エンドで処理する方法: プロンプトから session.idle。

* [引用](/ja/copilot/how-tos/copilot-sdk/features/citations)

  引用は、アシスタントの応答内の該当箇所を、それを裏付けるソースにリンクします。 セッションを作成または再開するときにenableCitationsを有効にしてから、assistant.message イベントのcitations ペイロードを読み取り、脚注、ソース リスト、またはインライン リンクをレンダリングします。

* [クラウド セッション](/ja/copilot/how-tos/copilot-sdk/features/cloud-sessions)

  クラウド セッションでは、Mission Control を通じて、GitHub がホストするコンピューティング環境で Copilot の作業を実行します。 ユーザーのコンピューターまたはサーバーでローカル Copilot CLI セッションを開始するのではなく、リモートで実行するセッションをアプリで作成する必要がある場合に使用します。

* [コンテキストクリアとターミナルツール](/ja/copilot/how-tos/copilot-sdk/features/context-management)

  ホストがセッションを置き換えずに現在の会話コンテキストを置き換える必要がある場合は、 session.history.clearContext を使用します。 一般的な用途には、ハンドオフとホストマネージド コンテキスト ライフサイクル ポリシーが含まれます。

* [カスタム エージェントとサブエージェント オーケストレーション](/ja/copilot/how-tos/copilot-sdk/features/custom-agents)

  スコープ指定されたツールとプロンプトを使用して特殊なエージェントを定義し、Copilot 1 つのセッション内でサブエージェントとして調整できるようにします。 複数のサブエージェントを並列にディスパッチする場合は、 フリート モード を参照してください。

* [フリート モード](/ja/copilot/how-tos/copilot-sdk/features/fleet-mode)

  フリートモードは、独立したサブエージェントに分割して割り当てられる作業向けの、Copilot の並列オーケストレーションパターンです。 ランタイムの研究ノートでは、フリートモードは 「task ツールを介して複数のサブエージェントを並行してディスパッチするためのランタイムに搭載されたパターンで、SQL タスクを共有の調整状態として用いるもの」と説明されています。 1 つの親セッションで複数のワーカーを調整し、その結果を収集し、結合されたコンテキストで会話を続行する必要がある場合に使用します。

* [フックを使った作業](/ja/copilot/how-tos/copilot-sdk/features/hooks)

  フックを使用すると、Copilot セッションの開始時点から、各ユーザー プロンプトとツール呼び出しを通じて、終了した時点まで、カスタム ロジックをすべてのステージに接続できます。 このガイドでは、主要なエージェントの動作を変更せずにアクセス許可、監査、通知などを送信できるように、実際のユース ケースについて説明します。

* [画像入力](/ja/copilot/how-tos/copilot-sdk/features/image-input)

  添付ファイルとしてCopilotセッションに画像を送信します。 画像を添付するには、次の 2 つの方法があります。

* [GitHub Copilot SDK での MCP サーバーの使用](/ja/copilot/how-tos/copilot-sdk/features/mcp)

  Copilot SDK は MCP サーバー (モデル コンテキスト プロトコル) と統合して、アシスタントの機能を外部ツールで拡張できます。 MCP サーバーは個別のプロセスとして実行され、会話中に呼び出すことができるCopilotツール (関数) を公開します。

* [プラグイン ディレクトリ](/ja/copilot/how-tos/copilot-sdk/features/plugin-directories)

  プラグインは、SDK 拡張機能 (スキル、フック、MCP サーバー、カスタム エージェント、LSP 構成) を 1 つのマニフェストの背後にバンドルするディレクトリです。 プラグイン ディレクトリで SDK をポイントすると、プラグインが提供するすべてのものが読み込まれるので、すべてのホスト アプリケーションで拡張機能ごとの配線を記述することなく、再利用可能な機能パックを出荷できます。

* [リモート セッション](/ja/copilot/how-tos/copilot-sdk/features/remote-sessions)

  リモート セッションを使用すると、ユーザーは Mission Control 経由でGitHub Web およびモバイルからCopilot セッションにアクセスできます。 有効にすると、SDK は各セッションを Mission Control に接続し、リンクまたは QR コードとして共有できる URL を生成します。

* [セッションの制限](/ja/copilot/how-tos/copilot-sdk/features/session-limits)

  セッションの制限により、アプリケーションは、Copilot セッションの AI クレジット予算を設定できます。 セッションを作成または再開するときに sessionLimits を使用して、現在の会計ウィンドウのソフト キャップを設定します。

* [セッションの再開と永続化](/ja/copilot/how-tos/copilot-sdk/features/session-persistence)

  このガイドでは、SDK のセッション永続化機能について説明します。作業を一時停止し、後で再開し、運用環境でセッションを管理する方法について説明します。

* [カスタム スキル](/ja/copilot/how-tos/copilot-sdk/features/skills)

  スキルは、Copilotの機能を拡張する再利用可能なプロンプト モジュールです。 ディレクトリからスキルを読み込み、特定の分野やワークフロー向けの特殊な機能を Copilot に提供します。

* [ステアリングとキューイング](/ja/copilot/how-tos/copilot-sdk/features/steering-and-queueing)

  エージェントが既に動作している間、ユーザーは 2 つの対話パターンでメッセージを送信できます。 ステアリング は途中ターンでエージェントをリダイレクトし、現在のターンが完了した後に順次処理するためにメッセージ をキューに入 れます。

* [ストリーミング セッション イベント](/ja/copilot/how-tos/copilot-sdk/features/streaming-events)

  Copilot エージェントが実行するすべてのアクション (思考、コードの記述、ツールの実行) は、サブスクライブできるセッション イベントとして出力されます。 このガイドは、SDK ソースを読み取らずに予想されるデータを正確に把握できるように、各イベントの種類のフィールド レベルのリファレンスです。

* [使用状況と課金のメトリック](/ja/copilot/how-tos/copilot-sdk/features/usage-and-billing)

  このガイドでは、Copilot SDK アプリケーションからトークン数、コンテキスト ウィンドウ使用率、AI クレジット コスト、アカウント クォータを読み取る方法について説明します。 TypeScript、Python、Go、.NET、Java、Rust の例を示します。