Skip to main content

Copilot へのタスクの割り当てについて

この機能を使用できるユーザーについて

Copilot コーディング エージェント は、有効になっているリポジトリの Copilot Pro+ および Copilot Enterprise プランで使用できます。
Sign up for Copilot

メモ

Copilot コーディング エージェント is in パブリック プレビュー and subject to change.

Copilot コーディング エージェント を使うと、 Copilot はバックグラウンドで独立して動作し、人間の開発者と同じようにタスクを完了できます。

Copilot で次のことができます。

  • バグの修正
  • 増分型の新機能を実装する
  • テストのカバレッジを向上させる
  • ドキュメントを更新する
  • 技術的負債に対処する

Copilot への開発タスクの委任は、次のようにして行うことができます。

Copilot は、ユーザーが指定したプロンプトに基づいて、割り当てられたタスクの基になっているのが issue の説明かチャット メッセージかを評価します。 その後、Copilot は必要な変更を行って pull request を開きます。 Copilot は完了するとユーザーにレビューを要求し、ユーザーは pull request のコメントを使って Copilot に反復処理を依頼できます。

コーディング タスクの作業中、Copilot は、 Actions によって実現される独自の一時的な開発環境にアクセスして、コードの探索、変更の実施、自動的なテストとリンターの実行などを行うことができます。

Copilot コーディング エージェント は、Visual Studio Code で使用できる "エージェント モード" 機能とは異なります。 Copilot コーディング エージェント は、 Actions を利用した環境で自律的に機能し、 の issue または Copilot Chat プロンプトを通じて割り当てられた開発タスクを完了し、結果を含む pull request を作成することができます。 これに対し、Visual Studio Code のエージェント モードは Copilot Edits 機能の一部です。そのため、Copilot はローカル開発環境で直接自律的な編集を行うことができます。 エージェント モードの詳細については、「IDE で Copilot に質問する」を参照してください。

タスクを Copilot に割り当てて、ソフトウェア開発ワークフローの機能を強化できます。

たとえば、バックログの簡単な issue に Copilot を割り当てることができます。 これにより、それらに費やす時間を減らし、より複雑な作業や興味深い作業、または高度な創造的思考を必要とする作業にかける時間を増やすことができます。 Copilot を使って、コードベースや製品の品質の向上にはなるものの、ユーザーがより緊急な作業に集中している間バックログに残ってしまうことが多い、"必要ではないがあると助かる" issue の作業を行うことができます。

追加のコーディング リソースとして Copilot を使うと、それを使わなければリソース不足のために実施できない可能性があるタスクを、開始することもできます。 たとえば、コードのリファクタリングやログの追加のための Copilot タスクを委任してから、それを Copilot にすぐに割り当てることができます。

Copilot はタスクを開始でき、ユーザーはそれを引き取って自分で作業を続けることができます。 ユーザーは、新しいプロジェクトのスキャフォールディングの設定のような初期作業を Copilot に割り当てることで、そうしなければそれらの反復タスクに費やしたであろう自分の時間を空けることができます。

タスクを Copilot に割り当てる前に、それを有効にする必要があります。 「Enabling Copilot coding agent」を参照してください。

メモ

Premium リクエストの課金は近日中に始まります。 それまでは、Premium リクエストを追加しても課金されずに、Copilot コーディング エージェント を引き続き使用できます。 最新の開始日については、「Premium リクエストについて」をご覧ください。

これはプレビュー機能であり、今後変更される可能性があります。

Copilot コーディング エージェント では、 Actions の分単位の時間と Copilot の Premium リクエストが使われます。

Actions と Premium リクエストの月間使用許容量の範囲内で、追加費用なしにコーディング タスクの処理を Copilot に依頼できます。

詳しくは、「 Copilot の課金について」をご覧ください。

Copilot コーディング エージェント は、ユーザーのコードにアクセスして変更をリポジトリにプッシュできる自律的なエージェントです。 これには特定のリスクが伴います。 可能な場合は、 によって適切な軽減策が適用されます。

このリスクを軽減するため、 は次のことを行います。

  • タスクを Copilot に割り当てることができるユーザーを制限します。 リポジトリへの書き込みアクセス権限を持つユーザーのみが、Copilot をトリガーして動作させることができます。 書き込みアクセス権限を持たないユーザーからのコメントは、エージェントに対して示されません。
  • Copilot によって使われるアクセス トークンのアクセス許可を制限します。 copilot/ で始まるブランチに対してのみプッシュできます。 Copilot は、main または master ブランチにはプッシュできません。
  • Copilot の資格情報を制限します。 Copilot は、単純なプッシュ操作のみを実行できます。 git push や他の Git コマンドを直接実行することはできません。
  • Actions ワークフローの実行を制限します。 Copilot のコードがレビューされて、リポジトリへの書き込みアクセス権限を持つユーザーが [Approve and run workflows] ボタンをクリックするまで、ワークフローはトリガーされません。 「Copilot によって作成された pull request をレビューする」を参照してください。
  • Pull request の作成を Copilot に依頼したユーザーがそれを承認できないようにします。 これにより、"必須の承認" ルールとブランチ保護での望ましい制御が維持されます。 「ルールセットで使用できるルール」を参照してください。

Copilot はコードや他の機密情報にアクセスでき、誤って、または悪意のあるユーザー入力のために、それを漏洩する可能性があります。 このリスクを軽減するため、 は次のことを行います。

ユーザーは、Copilot に割り当てられた issue や、Copilot に残されたコメントに、プロンプト インジェクションの形式で非表示のメッセージを含めることができます。 このリスクを軽減するため、 は次のことを行います。

  • ユーザー入力を Copilot に渡す前に非表示の文字をフィルター処理します。 たとえば、issue の HTML コメントや pull request のコメントとして入力されたテキストは、Copilot に渡されません。

Copilot コーディング エージェント には、ソフトウェア開発ワークフローおよび他の機能との互換性に一定の制限があります。

  • Copilot は、それが pull request を作成しているのと同じリポジトリでのみ変更を行うことができます。 Copilot は、issue を割り当てられたら、その issue が存在するリポジトリでのみ変更を行うことができます。 さらに、Copilot は、1 つの実行で複数のリポジトリの変更を行うことはできません。
  • Copilot は、割り当てられた issue と同じリポジトリ内のコンテキストにのみアクセスできます。 既定では、Copilot MCP サーバーとの統合により、一度に 1 つのリポジトリへのアクセスが Copilot に提供されます。 ただし、ユーザーはさらに広範なアクセスを構成できます。 「Extending Copilot coding agent with the Model Context Protocol (MCP)」を参照してください。
  • Copilot は、一度に 1 つの pull request しか開けません。 Copilot は、割り当てられた各タスクを処理するために、pull request を厳密に 1 つだけ開きます。
  • Copilot は、自分で作成していない既存の pull request の作業を行うことはできません。 Copilot で既存の pull request に関するフィードバックを提供したい場合は、それをレビュー担当者として追加できます。 「 Copilot コード レビューの使用」を参照してください。
  • Copilot は、常に、リポジトリの既定のブランチから変更を開始します。 Copilot は、機能ブランチやリリース ブランチなど、他のブランチから分岐することはできません。

  • Copilot は、そのコミットに署名しません。 "署名済みコミットの必須化" ルールまたはブランチ保護が有効になっている場合、Copilot の pull request をマージするには、コミット履歴を書き換える必要があります。 「ルールセットで使用できるルール」を参照してください。
  • Copilot は、セルフホステッド Actions ランナーでは動作しません。 Copilot は、 Actions で実行されている独自の開発環境にアクセスでき、 ホステッド ランナーを使う必要があります。 「Copilot コーディング エージェントの開発環境のカスタマイズ」を参照してください。
  • Copilot では、内容の除外は考慮されません。 内容の除外を使うと、管理者は特定のファイルを無視するように Copilot を構成できます。 Copilot コーディング エージェント の使用時には、Copilot はこれらのファイルを無視せず、それを表示および更新できます。 「 Copilot からのコンテンツの除外」を参照してください。
  • Copilot コーディング エージェント は データ所在地付き Enterprise Cloud では使用できません。 エージェントは .com でのみ使用できます。