に参加して、VS Code の AI 支援開発について学びましょう。

GitHub Copilot コーディング エージェント

GitHub Copilot コーディング エージェント は、開発タスクを完了するためにバックグラウンドで自律的に動作する、GitHub ホスト型の自律 AI 開発者です。コーディング エージェントを呼び出すには、GitHub Issue を Copilot に割り当てるか、チャットからタスクを委任します。エージェントは独自の隔離された開発環境を使用して、機能の実装、バグの修正、リポジトリ全体での変更を自律的に行います。

これは、エディター内で対話型開発を提供し、コーディング セッション中の積極的な参加を必要とする VS Code の エージェント モード とは異なります。

GIF showing how to assign an issue to Copilot coding agent from within VS Code.

仕組み

Copilot コーディング エージェントのワークフロー

  1. 割り当て: GitHub Issue を @copilot に割り当てるVS Code チャットからタスクを委任する、または TODO コード アクションを使用する
  2. 分析: エージェントはタスクとリポジトリ構造を分析します
  3. 開発: Copilot は独自の隔離された GitHub Actions 環境で動作し、以下を実行できます。
    • コードベースの探索
    • 複数のファイルの変更
    • ビルドとテストの実行
    • リンターやその他の自動チェックの実行
  4. プルリクエスト: エージェントは実装を含むプルリクエストを作成します
  5. レビュー: 変更をレビューし、PR コメントを通じて変更を要求できます
  6. イテレーション: エージェントはフィードバックに応答し、実装を更新します

前提条件

Copilot コーディング エージェントを使用する前に、以下のものが必要です

  • GitHub Copilot サブスクリプション: Copilot Pro、Pro+、Business、または Enterprise プランで利用可能
  • 書き込みアクセス: リポジトリへの書き込み権限が必要です
  • エージェントを有効にする: Copilot コーディング エージェントはアカウントまたは組織で有効になっている必要があります
  • VS Code の設定: GitHub Pull Requests 拡張機能をインストールします

正しい GitHub アカウントで GitHub Pull Request 拡張機能にサインインしていることを確認してください。

Screenshot showing the accounts menu, highlighting the sign in to GitHub Pull Request action.

オプション: 実験的設定 githubPullRequests.codingAgent.uiIntegration を有効にすると、Copilot Chat に Delegate to coding agent ボタンが表示され、タスクの委任が容易になります。

また、実験的設定 chat.agentSessionsViewLocation を有効にすることで、専用のチャット エディターからコーディング エージェント セッションを管理し、Chat Sessions ビューを表示することもできます。

ヒント

Copilot にアクセスできない場合は、Copilot Free プランにサインアップして、月間のやり取り制限を取得できます。

VS Code で Copilot コーディング エージェントに作業を割り当てる

方法 1: Copilot に Issue を割り当てる

チーム メンバーに Issue を割り当てるのと同様に、GitHub Issue を Copilot に割り当てることで Copilot コーディング エージェントをトリガーできます。Copilot コーディング エージェントは自動的に Issue を分析し、作業を開始します。

  1. GitHub Pull Requests ビューで、Issues セクションに移動します

  2. Copilot に割り当てたい Issue を見つけます

  3. Issue を右クリックし、Assign to Copilot を選択するか、Assign を選択してから @copilot を選択します。

    ヒント

    GitHub.com で直接 @copilot に Issue を割り当てることもできます。コーディング エージェントは同じように動作し、VS Code または GitHub でレビューできるプルリクエストを作成します。

  4. エージェントはバックグラウンドで Issue の作業を開始します

  5. VS Code でチャット ビューを開きます (⌃⌘I (Windows、Linux Ctrl+Alt+I)) GitHub Pull Requests ビューのスクリーンショット。Copilot への割り当てアクションと、Copilot に割り当てられた作業の PR クエリが強調表示されています。

方法 2: チャットから委任する

チャットの会話から Copilot コーディング エージェントに直接作業を引き渡すこともできます。エージェント モードで変更をエディターにすぐに実装する代わりに、タスクをコーディング エージェントに委任して、バックグラウンドで自律的に作業させることができます。

  1. VS Code でチャット ビューを開きます (⌃⌘I (Windows、Linux Ctrl+Alt+I))

  2. 実装したい機能や変更について会話します

  3. 準備ができたら、次のいずれかの方法を使用してエージェントに委任します

    委任ボタンを使用する (実験的)

    実験的設定 githubPullRequests.codingAgent.uiIntegration を有効にすると、エージェントが有効になっているリポジトリのチャット ビューに Delegate to coding agent ボタンが表示されます。このボタンを選択して、現在のチャット コンテキストをコーディング エージェントに引き渡します。

    タスクを委任すると、ファイル参照を含む追加のコンテキストがコーディング エージェントに転送され、コーディング エージェントが完了するタスクを正確に計画できます。新しいチャット エディターが開き、コーディング エージェントの進行状況がリアルタイムで表示されます。

    #copilotCodingAgent ツールを使用する

    プロンプトで #copilotCodingAgent ツールを直接参照して、Copilot にローカルの変更をバックグラウンドで続行するように依頼することもできます。このツールは、保留中の変更をリモート ブランチに自動的にプッシュし、コーディング エージェント セッションを開始します。

    Screenshot showing handing off a session to Copilot coding agent

  4. エージェントはプルリクエストを作成し、議論された変更の実装を開始します。コーディング エージェント セッションを開始すると (#copilotCodingAgent または Delegate to coding agent アクションを介して)、プルリクエストはチャット ビューにカードとしてレンダリングされます。

    Screenshot of a coding agent PR card in the Chat view.

方法 3: コーディング エージェントで TODO を修正する

コード内の TODO で始まるコメントに、コーディング エージェント セッションをすばやく開始するためのコード アクションが表示されるようになりました。これにより、特定のタスクをコードから直接委任する便利な方法が提供されます。

ヒント

TODO キーワードは、githubIssues.createIssueTriggers 設定で構成できます。コメントのどのキーワードがコーディング エージェント コード アクションをトリガーするかをカスタマイズできます。

  1. コード内の TODO コメントに移動します

  2. 電球アイコンを探すか、⌘. (Windows、Linux Ctrl+.) を使用してクイック フィックス メニューを開きます。

  3. 利用可能なコード アクションから Delegate to coding agent を選択します

    Screenshot of a code action above a 'TODO' comment called 'Delegate to coding agent'

  4. コーディング エージェントは TODO コメントを分析し、要求された変更を新しいプルリクエストで実装します

エージェントの進行状況を追跡する

コーディング エージェントのワークフローを理解する

Copilot コーディング エージェントに作業を割り当てると、期待とは異なる特定のワークフローに従います

  1. 最初のプルリクエストの作成: エージェントは、最初の空のコミットでプルリクエストをすぐに作成します。これにより、すべての変更が行われるワークスペースとブランチが確立されます。

  2. バックグラウンド処理: コーディング エージェントは、ローカル マシンではなく、GitHub のクラウド インフラストラクチャ (GitHub Actions 環境) で動作します。これは次のことを意味します

    • すべての開発は GitHub のサーバー上でリモートで行われます
    • エージェントはリポジトリ全体のコンテキストにアクセスできます
    • VS Code を閉じても作業は続行されます
  3. インクリメンタル更新: 最初のコミット後、エージェントはソリューションを開発する際に、実際のコード変更を含む追加のコミットをプッシュします。

変更のない最初のコミットが表示されても、これは予期される動作です。エージェントは、タスクの作業中に、後続のコミットで実際のコード変更をプッシュし続けます。

VS Code で作業を監視する

GitHub Pull Requests 拡張機能は、専用の Copilot on My Behalf セクションを提供し、以下を表示します。

  • すべてのアクティブな Copilot コーディング エージェント セッション
  • エージェントによって作成されたプルリクエスト
  • 各タスクの進行状況
  • 新しい変更または更新を示す数値バッジ

Screenshot showing status of multiple coding agent pull requests

ヒント

GitHub.com を通じて @copilot に割り当てた作業を監視することもできます。どこで開始したかにかかわらず、すべてのアクティブなセッションとプルリクエストがこのセクションに表示されます。

詳細なセッション ログを表示する

  1. プルリクエスト ビューで、Copilot on My Behalf の下にあるエージェントの作業を見つけます。

  2. View Session を選択して、エージェントが行ったすべての詳細なログを表示します

    • 実行されたコマンド
    • 変更されたファイル
    • 実行されたテスト
    • 意思決定プロセス

    Screenshot showing the session log of a coding agent session.

専用のチャット エディターでセッションを管理する (実験的)

専用のチャット エディターからコーディング エージェント セッションを管理でき、これにより以下が可能になります。

  • コーディング エージェントの進行状況をリアルタイムで追跡する
  • チャットから直接フォローアップ指示を提供する
  • エージェントの応答を専用環境で確認する
  • チャット エディターから直接コード変更を表示または適用し、プルリクエストをチェックアウトする
  • ローカル チャットから GitHub エージェント タスクへのシームレスな移行と、継続性の向上を体験する
  • 視覚的な明瞭度が向上した、より優れたセッション レンダリングの恩恵を受ける
  • 応答性の高いエクスペリエンスのための、より高速なセッション読み込みを楽しむ

この機能を試すには、実験的設定 chat.agentSessionsViewLocation を有効にします

  • view に設定すると、VS Code のサイドバーにローカル セッションとコーディング エージェント セッションを管理するための Chat Sessions ビューが表示されます。このビューには、関連情報をすばやく見つけるのに役立つ詳細なコンテキストを含む豊富な説明が含まれるようになりました。

    Screenshot showing the Coding Agent Sessions view.

  • showChatsMenu に設定すると、コーディング エージェント セッションがローカル チャット履歴とともに表示されます。

    Screenshot showing the Coding Agent Sessions Quick Pick.

コーディング エージェントによって作成されたプルリクエストは、セッションを開始するとチャット ビューにカードとしてレンダリングされ、視覚的な統合が向上します。

改善された委任エクスペリエンス

VS Code から GitHub コーディング エージェントへの委任エクスペリエンスは、最近の更新で大幅に強化されました

  • より優れたコンテキスト転送: チャットからタスクを委任すると、ファイル参照を含む追加のコンテキストが GitHub コーディング エージェントに自動的に転送されます
  • リアルタイムの進行状況: 新しいチャット エディターが開き、コーディング エージェントの進行状況がリアルタイムで表示されます
  • シームレスな移行: ローカル チャットから GitHub エージェント タスクへの移行における継続性の向上
  • 強化された視覚的統合: プルリクエストは、ナビゲーションを向上させるためにチャット ビューでインタラクティブなカードとしてレンダリングされます

これらの改善により、コーディング エージェントのタスクを正確に計画し、VS Code を離れることなく進行状況を監視することが容易になります。

実行中のセッションをキャンセルする

エージェントを停止する必要がある場合は、VS Code に留まり、PR 概要ページの Cancel coding agent ボタンを使用できます。

GitHub.com からセッションをキャンセルすることもできます

  1. GitHub.com で GitHub リポジトリにアクセスします
  2. Actions タブに移動します
  3. 実行中の Copilot Coding Agent ワークフローを見つけます
  4. Cancel workflow を選択します

レビューとイテレーション

作業完了

Copilot コーディング エージェントがコードを分析し、タスクを達成するために必要な変更を決定した後、次の手順を実行します。

  • すべての変更を含むプルリクエストを作成します
  • レビューのために PR をあなたに割り当てます
  • あなたをレビュー担当者として要求します
  • 実装を説明する詳細な説明を含めます
  • 該当する場合、スクリーンショットを追加します (UI 変更の場合)

Screenshot showing a pull request from Copilot coding agent displayed in VS Code with an included screenshot of the implemented feature.

フィードバックを提供する

プルリクエストのコメントを通じてエージェントの作業を誘導できます。エージェントが応答するように、コメントで @copilot をタグ付けしてください。

  1. 変更を要求する: 変更する必要がある点について具体的なフィードバックを残します

    @copilot Please update the login form to include password strength validation
    
  2. 改善を要求する: 追加機能や改善を要求します

    @copilot Can you add error handling for network timeouts?
    

エージェントはフィードバックに応答し、要求された変更を行い、プルリクエストを更新します。

ヒント

コーディング エージェントによって作成されたプルリクエストを使用する場合、チャット セッションでは #activePullRequest ツールが自動的に有効になります。これにより、PR に関するチャット コンテキスト (どのファイルが変更されたか、誰が割り当てられているか、状態 (ドラフトまたはレビュー準備完了) など) が提供されます。これにより、この PR について質問し、チャットでさらにイテレーションできます。

よくある質問

Copilot コーディング エージェントとエージェント モードの違いは何ですか?

VS Code は 2 つの自律コーディング エクスペリエンスを提供します。エージェント モードがエディター内で直接対話型開発を提供する一方で、Copilot コーディング エージェントは GitHub 上で独立して動作し、バックグラウンドで機能を実装します。

機能 Copilot コーディング エージェント エージェントモード
実行場所 GitHub クラウド VS Code エディター
独立性 完全に自律的 ユーザーとのインタラクションとイテレーションを含む
出力 プルリクエストを作成する ファイルを直接編集する
最適な用途 明確に定義されたタスク、バックグラウンド作業 対話型開発、即時フィードバック

エージェント モードの詳細については、ドキュメントを参照してください。

エージェントが起動しないのはなぜですか?

  • GitHub アカウントで Copilot アクセスを確認してください
  • リポジトリへの書き込み権限があることを確認してください
  • 組織で Copilot コーディング エージェントが有効になっていることを確認してください

最初のコミットが空に見えるのはなぜですか?

Copilot コーディング エージェントが作業を開始すると、プルリクエストと作業ブランチを確立するために最初の空のコミットを作成します。これは予期される動作です。エージェントは、GitHub のクラウド環境で作業する際に、実際のコード変更を含む後続のコミットをプッシュします。

進行状況は、プルリクエスト、GitHub Pull Request 拡張機能の Copilot on My Behalf セクション、またはチャット セッション ビューからアクセスできるセッション ログを通じて監視できます。

実装が不完全なのはなぜですか?

  • セッション ログで発生したエラーがないか確認してください
  • エージェントの作業中にテストが失敗しなかったか確認してください
  • 課題の説明でより詳細な要件を提供してください

Copilot コーディング エージェントにはどのようなセキュリティ保護がありますか?

Copilot コーディング エージェントには組み込みのセキュリティ保護が含まれており、GitHub のセキュリティ フレームワーク内で動作します。セキュリティ対策、アクセス許可、ブランチ保護の互換性の詳細については、GitHub Copilot コーディング エージェントのセキュリティ ドキュメントを参照してください。

Copilot コーディング エージェントを外部ツールで拡張できますか?

高度なシナリオでは、Copilot コーディング エージェントを Model Context Protocol (MCP) サーバーで拡張して、以下にアクセスできるようにすることができます。

  • 外部データベース
  • クラウド サービス
  • API とサードパーティの統合
  • カスタム開発ツール

MCP を使用した Copilot コーディング エージェントの拡張について詳しく学ぶ。

現在の制限は何ですか?

  • クロスリポジトリ変更: 課題が割り当てられているリポジトリ内でのみ作業できます
  • タスクごとの複数の PR: 割り当てられたタスクごとに正確に 1 つのプルリクエストを開きます
  • 既存の PR の変更: 自身が作成していないプルリクエストでは作業できません

制限、互換性、および使用コストの詳細については、GitHub Copilot Coding Agent ドキュメントを参照してください。

次のステップ

© . This site is unofficial and not affiliated with Microsoft.