先月、私たちはエージェントモードをリリースしました。これはGitHub Copilotを、あなたと協力するだけでなく、あなたのために働くシステムにするための重要なステップです。自然言語のプロンプトを与えると、Copilot のエージェントモードはあなたの代わりにそれを実行し、時間がかかるプロセスやワークフローを自動化し、より高次の問題解決に集中できるスペースを提供します。
先月、私たちはエージェントモードをリリースしました。これは GitHub Copilot を、あなたと協力するだけでなく、あなたのために働くシステムにするための重要なステップです。自然言語のプロンプトを与えると、Copilot のエージェントモードはあなたの代わりにそれを実行し、時間がかかるプロセスやワークフローを自動化し、より高次の問題解決に集中できるスペースを提供します。
コーディングに不慣れな方にとって、エージェントモードはアプリを開発する際に便利な同期ツールとなります(Copilot の新しいコーディングエージェントのプレビューでは非同期タスク完了機能を提供しています)。しかし、エージェントモードは、より迅速に作業を進めたい経験豊富な開発者にとっても非常に便利なツールです。エージェントモードを使用すると、Copilot に高次の要件を提示することからプロトタイプのテストに迅速に移行できます。さらに、すべてのレベルの開発者の間で新しいユースケースが展開され続けています。
コーディングに不慣れな方にとって、エージェントモードはアプリを開発する際に便利な同期ツールとなります(私たちの新しいコーディングエージェントのプレビューでは非同期タスク完了機能を提供しています)。しかし、エージェントモードは、より迅速に作業を進めたい経験豊富な開発者にとっても非常に便利なツールです。エージェントモードを使用すると、Copilot に高次の要件を提示することからプロトタイプのテストに迅速に移行できます。さらに、すべてのレベルの開発者の間で新しいユースケースが展開され続けています。
エージェントモードとは何か、どのように機能するのか、そしてどのように使用できるのかを詳しく見ていきましょう。
エージェントモードとは何か、どのように機能するのか、そしてどのように使用できるのかを詳しく見ていきましょう。
しかしまず、GitHub Copilot エージェントモードとは何でしょうか?
しかしまず、GitHub Copilot エージェントモードとは何でしょうか?#
GitHub Copilot エージェントモードは、自然言語のプロンプトに基づいてマルチステップのコーディングタスクを実行する自律的でエージェント的なリアルタイムの同期コラボレーターです。より簡単に言えば、あなたの意図を理解し、解決策を構築し、正しい結果が得られるまで反復する問題解決者です。
GitHub Copilot エージェントモードは、自然言語のプロンプトに基づいてマルチステップのコーディングタスクを実行する自律的でエージェント的なリアルタイムの同期コラボレーターです。より簡単に言えば、あなたの意図を理解し、解決策を構築し、正しい結果が得られるまで反復する問題解決者です。
エージェントモードは以下のことができます:
エージェントモードは以下のことができます:
- コードベースを分析して全体のコンテキストを把握する。
コードベースを分析して全体のコンテキストを把握する。 - マルチステップの解決策を計画し実行する。
マルチステップの解決策を計画し実行する。 - コマンドやテストを実行する。
コマンドやテストを実行する。 - 専門的なタスクのために外部ツールに連絡する。
専門的なタスクのために外部ツールに連絡する。 - アーキテクチャの改善を提案する。
アーキテクチャの改善を提案する。 - 計画、変更の適用、テスト、反復を含むエージェントループを通じて自身の作業を実行し、洗練させる。
計画、変更の適用、テスト、反復を含むエージェントループを通じて自身の作業を実行し、洗練させる。
エージェントモードは、単にリクエストに応じるのではなく、あなたの目標に向かって積極的に働きかけます。あなたが結果を定義し、エージェントモードが最適なアプローチを決定します — 必要に応じてあなたからのフィードバックを求め、自身の解決策をテストし、リアルタイムで作業を洗練させます。そして、操作中にはその推論、意思決定プロセス、使用するツールを確認できます。
エージェントモードは、単にリクエストに応じるのではなく、あなたの目標に向かって積極的に働きかけます。あなたが結果を定義し、エージェントモードが最適なアプローチを決定します — 必要に応じてあなたからのフィードバックを求め、自身の解決策をテストし、リアルタイムで作業を洗練させます。そして、操作中にはその推論、意思決定プロセス、使用するツールを確認できます。
Copilot にコードベースを分析させたり、ファイルの編集を提案させたり、テストを実行させたりしたい場合、エージェントモードを使用すると、Copilot がすべての必要なサブタスクを自動的に完了できます。
Copilot にコードベースを分析させたり、ファイルの編集を提案させたり、テストを実行させたりしたい場合、エージェントモードを使用すると、Copilot がすべての必要なサブタスクを自動的に完了できます。
その上、エージェントモードは Copilot がエラーを迅速に認識し、自動的に修正することを可能にします。
その上、エージェントモードは Copilot がエラーを迅速に認識し、自動的に修正することを可能にします。
エージェントモードと他の AI コーディングツールとの比較は以下の通りです:
エージェントモードと他の AI コーディングツールとの比較は以下の通りです:
ツール
機能説明
エージェントモード
Copilot が自身のコードを反復し、エラーを認識し、自動的に修正できるモード
Copilot が自身のコードを反復し、エラーを認識し、自動的に修正できるモード
GitHub Copilot コーディングエージェント
GitHub Copilot コーディングエージェント
自律的な SWE エージェントで、非同期にあなたの代わりに作業を行い、問題の解決から人間のフィードバックの処理まで行う
自律的な SWE エージェントで、非同期にあなたの代わりに作業を行い、問題の解決から人間のフィードバックの処理まで行う
コード補完
コード補完
サポートされている IDE で自動補完スタイルの提案を提供する Copilot の機能
サポートされている IDE で自動補完スタイルの提案を提供する Copilot の機能
GitHub Copilot のエージェントモードはどのように機能しますか?
GitHub Copilot のエージェントモードはどのように機能しますか?#
エージェントモードの核心は、最終状態に達するまで Copilot が自身の出力を反復し続けるように指示するシステムプロンプトを通じて、さまざまなツールや変数(例えば、あなたのプロンプトや作業スペース)を調整するオーケストレーターとして機能することです。
エージェントモードの核心は、最終状態に達するまで Copilot が自身の出力を反復し続けるように指示するシステムプロンプトを通じて、さまざまなツールや変数(例えば、あなたのプロンプトや作業スペース)を調整するオーケストレーターとして機能することです。
自然言語のプロンプトを Copilot エージェントモードに送信すると、私たちのバックエンドシステムプロンプトによって強化されます。これには、あなたのクエリ、作業スペースの要約構造、マシンコンテキスト、ツールの説明が含まれます。
自然言語のプロンプトを Copilot エージェントモードに送信すると、私たちのバックエンドシステムプロンプトによって強化されます。これには、あなたのクエリ、作業スペースの要約構造、マシンコンテキスト、ツールの説明が含まれます。
Copilot エージェントモードを使用する際のプロセスは以下の通りです:
Copilot エージェントモードを使用する際のプロセスは以下の通りです:
- あなたは Copilot に望む最終結果について明確な要件を提示します。
あなたは Copilot に望む最終結果について明確な要件を提示します。 - Copilot は質問を解析し、AI 言語モデルにタスクの解決方法を尋ね、その後作業を開始します。
Copilot は質問を解析し、AI 言語モデルにタスクの解決方法を尋ね、その後作業を開始します。 - Copilot は最初の反復を監視し、エラーを検出し、修正方法を決定します。
Copilot は最初の反復を監視し、エラーを検出し、修正方法を決定します。 - エージェントモードは自律的にさまざまなツールを使用して最終結果に到達します。
エージェントモードは自律的にさまざまなツールを使用して最終結果に到達します。
コマンドを実行し、編集を適用した後、エージェントモードは構文エラー、端末出力、テスト結果、ビルドエラーを検出する作業を行います。結果に基づいて、追加の編集、端末コマンド、またはツール呼び出しを行うことでコースを修正する方法を決定します。
コマンドを実行し、編集を適用した後、エージェントモードは構文エラー、端末出力、テスト結果、ビルドエラーを検出する作業を行います。結果に基づいて、追加の編集、端末コマンド、またはツール呼び出しを行うことでコースを修正する方法を決定します。
LLM は呼び出すためのツールのセットを持っており、それぞれのツールは Copilot がタスクを完了するのを助ける機能を持っています — そして、どのツールをエージェントモードに使用させたいかはあなたが決定します。read_file
、edit_file
、run_in_terminal
などの各ツールは、Copilot にどのように、いつ使用するかについての詳細な指示を提供します。これらのツールにより、Copilot はあなたの作業スペースを検索し、ファイルの内容を読み、端末コマンドを実行し、エディタからエラーを取得し、提案された変更を適用することができます。
LLM は呼び出すためのツールのセットを持っており、それぞれのツールは Copilot がタスクを完了するのを助ける機能を持っています — そして、どのツールをエージェントモードに使用させたいかはあなたが決定します。read_file
、edit_file
、run_in_terminal
などの各ツールは、Copilot にどのように、いつ使用するかについての詳細な指示を提供します。これらのツールにより、Copilot はあなたの作業スペースを検索し、ファイルの内容を読み、端末コマンドを実行し、エディタからエラーを取得し、提案された変更を適用することができます。
組み込みツールだけに制限されるわけではありません。モデルコンテキストプロトコル(MCP)サーバーや拡張機能からより専門的なツールをインストールすることで、エージェントモードの機能を拡張できます。MCP は、AI モデルが統一されたインターフェースを通じて外部ツールやサービスと対話できるオープンスタンダードです。最近、GitHub MCP サーバーを発表しました。これにより、あなたは以下のことができます:
組み込みツールだけに制限されるわけではありません。モデルコンテキストプロトコル(MCP)サーバーや拡張機能からより専門的なツールをインストールすることで、エージェントモードの機能を拡張できます。MCP は、AI モデルが統一されたインターフェースを通じて外部ツールやサービスと対話できるオープンスタンダードです。最近、GitHub MCP サーバーを発表しました。これにより、あなたは以下のことができます:
- GitHub のワークフローやプロセスを自動化する。
GitHub のワークフローやプロセスを自動化する。 - GitHub リポジトリからデータを抽出し、分析する。
GitHub リポジトリからデータを抽出し、分析する。 - GitHub のエコシステムと対話する AI 駆動のツールやアプリケーションを構築する。
GitHub のエコシステムと対話する AI 駆動のツールやアプリケーションを構築する。
エージェントモードと MCP の力を組み合わせることで、LLM の知識はあなたのサービスやデータソースに接続されるとさらに拡張されます。✨
エージェントモードと MCP の力を組み合わせることで、LLM の知識はあなたのサービスやデータソースに接続されるとさらに拡張されます。✨
GitHub Copilot エージェントモードで何ができるのか?いくつかのユースケースは?
GitHub Copilot エージェントモードで何ができるのか?いくつかのユースケースは?#
エージェントモードは、GitHub Copilot にエージェント的なワークフローをもたらし、あなたのワークフロー内の任意の数のタスクに対してリアルタイムで同期的な支援を提供します。
エージェントモードは、GitHub Copilot にエージェント的なワークフローをもたらし、あなたのワークフロー内の任意の数のタスクに対してリアルタイムで同期的な支援を提供します。
エージェントにアイデアを持たせて実行させるか、各ステップをリードして道筋を制御するかにかかわらず、Copilot があなたの、まあ、コパイロットとして運転席にいるのです。
エージェントにアイデアを持たせて実行させるか、各ステップをリードして道筋を制御するかにかかわらず、Copilot があなたの、まあ、コパイロットとして運転席にいるのです。
私の個人的な経験では、エージェントモードは小さなプロジェクトや概念実証をゼロから始める際にゲームチェンジャーでした。オープンソースの歴史ビジュアライゼーションスクリプトを近代化する必要があったとき、私は GPT-4o と Claude 3.7 モデルの両方でエージェントモードを試しました。結果は驚くべきものでした — 基本的な matplotlib のヒストグラムを、最小限の指導で洗練された SVG ベースのアニメーション折れ線グラフに変えました。本当に感心したのは、Copilot が最初の試みで完璧な SVG ヒストグラムを生成したことです。このインテリジェントな支援は、開発を加速するだけでなく、プロトタイピングやリファクタリングへのアプローチを根本的に変えました。
私の個人的な経験では、エージェントモードは小さなプロジェクトや概念実証をゼロから始める際にゲームチェンジャーでした。オープンソースの歴史ビジュアライゼーションスクリプトを近代化する必要があったとき、私は GPT-4o と Claude 3.7 モデルの両方でエージェントモードを試しました。結果は驚くべきものでした — 基本的な matplotlib のヒストグラムを、最小限の指導で洗練された SVG ベースのアニメーション折れ線グラフに変えました。本当に感心したのは、Copilot が最初の試みで完璧な SVG ヒストグラムを生成したことです。このインテリジェントな支援は、開発を加速するだけでなく、プロトタイピングやリファクタリングへのアプローチを根本的に変えました。Zhe-You Liu, Apache Airflow Committer
刘哲有,Apache Airflow 提交者
以下は、GitHub 内外の開発者がエージェントモードを使用しているいくつかの方法です:
以下は、GitHub 内外の開発者がエージェントモードを使用しているいくつかの方法です:
- コードのリファクタリング
コードのリファクタリング - プロジェクトを別のプログラミング言語や別の技術スタックに移行する
プロジェクトを別のプログラミング言語や別の技術スタックに移行する - テストを書く
テストを書く - レガシーコードを近代化する(古い言語を学ぶ必要がないかもしれません)
レガシーコードを近代化する(古い言語を学ぶ必要がないかもしれません) - コード生成エラーを自動修正する
コード生成エラーを自動修正する - アプリケーションに新機能を追加する
アプリケーションに新機能を追加する - 機能仕様や UI スケッチに基づいて新しいアプリをプロトタイピングする
機能仕様や UI スケッチに基づいて新しいアプリをプロトタイピングする - 非機能要件やボイラープレートコードを実装する
非機能要件やボイラープレートコードを実装する - 新機能を実装するための作業の範囲を決定し計画する
新機能を実装するための作業の範囲を決定し計画する - ドキュメント作成などの非コード生成タスク
ドキュメント作成などの非コード生成タスク
重要な点として、Copilot は LLMs によって駆動されており、これらは非決定的であるため、同じプロンプトとコンテキストでも提案が異なる場合があります。
重要な点として、Copilot は LLMs によって駆動されており、これらは非決定的であるため、同じプロンプトとコンテキストでも提案が異なる場合があります。
エージェントモードを使い始めるにはどうすればよいですか?
エージェントモードを使い始めるにはどうすればよいですか?#
VS Code で Copilot Chat ビューを開き、チャットモードのドロップダウンリストからエージェントを選択します。また、Visual Studio でプレビューすることもできます。
VS Code で Copilot Chat ビューを開き、チャットモードのドロップダウンリストからエージェントを選択します。また、Visual Studio でプレビューすることもできます。
VS Code のチャット体験に統合されているエージェントモードは、あなたの全作業スペースと開発環境にアクセスできるため、リクエストを正確に達成するための適切なコンテキストを持っています。エージェントモードの機能を拡張するには、ツールボタンを選択してツールを構成または追加します。
VS Code のチャット体験に統合されているエージェントモードは、あなたの全作業スペースと開発環境にアクセスできるため、リクエストを正確に達成するための適切なコンテキストを持っています。エージェントモードの機能を拡張するには、ツールボタンを選択してツールを構成または追加します。
エージェントモードはあなたの選択したモデルによって駆動されています。モデルのドロップダウンリストから使用するモデルを選択できます。
エージェントモードはあなたの選択したモデルによって駆動されています。モデルのドロップダウンリストから使用するモデルを選択できます。
エージェントモードの使用を補完する関連ツールや機能は何ですか?
エージェントモードの使用を補完する関連ツールや機能は何ですか?#
エージェントモードは強力ですが、GitHub Copilot の他の機能と組み合わせることでその能力を拡張できます。たとえば、Copilot にカスタム指示を与えることで、すべての応答があなたの日常のコーディングプラクティス、ツール、開発者のワークフローに合うようにすることができます。
エージェントモードは強力ですが、GitHub Copilot の他の機能と組み合わせることでその能力を拡張できます。たとえば、Copilot にカスタム指示を与えることで、すべての応答があなたの日常のコーディングプラクティス、ツール、開発者のワークフローに合うようにすることができます。
GitHub では、特定のテストフレームワークを使用するために Copilot にカスタム指示を与え、単体テストのためのガードレール、フレームワーク、指示を設定することがよくあります。これにより、エージェントモードで Copilot がどのようにコーディングするかをカスタマイズでき、まるで仲間に指示を与えるような感覚になります。
GitHub では、特定のテストフレームワークを使用するために Copilot にカスタム指示を与え、単体テストのためのガードレール、フレームワーク、指示を設定することがよくあります。これにより、エージェントモードで Copilot がどのようにコーディングするかをカスタマイズでき、まるで仲間に指示を与えるような感覚になります。
他のCopilot Chat モード(編集モードや質問モードなど)を使用することもできます。
他の Copilot Chat モード(編集モードや質問モードなど)を使用することもできます。
モード
用途
アプリケーションシナリオ
コードベース内の複数のファイルにわたって簡単に編集を行う。
コードベース内の複数のファイルにわたって簡単に編集を行う。
新機能の実装、バグの修正、またはコードのリファクタリングのためにプロジェクト内でコード編集を直接適用する。
新機能の実装、バグの修正、またはコードのリファクタリングのためにプロジェクト内でコード編集を直接適用する。
Copilot に質問して、コードベースや技術概念をよりよく理解する。
Copilot に質問して、コードベースや技術概念をよりよく理解する。
コードの動作を学んだり、ソフトウェアのアイデアをブレインストーミングしたり、新しい技術を発見したりする。
コードの動作を学んだり、ソフトウェアのアイデアをブレインストーミングしたり、新しい技術を発見したりする。
最小限の指導で望む結果を提供するエージェント的で自律的なコーディングワークフローを開始する。
最小限の指導で望む結果を提供するエージェント的で自律的なコーディングワークフローを開始する。
エージェントモードを通じて新機能やプロジェクトの高次要件を実装し、必要な変更を自動的に特定して適用します。
エージェントモードを通じて新機能やプロジェクトの高次要件を実装し、必要な変更を自動的に特定して適用します。
このガイドを持ち歩こう
このガイドを持ち歩こう#
他の開発者と同様に、提供するコンテキストが豊富で、意図する結果について具体的であればあるほど、GitHub Copilot から得られる結果は良くなります — 特にエージェントモードではその傾向が顕著です。正しい作業を行うためには適切なツールが必要ですが、エージェントモードにカスタム指示を与えてコーディングの好みに合わせたり、MCP 統合を通じてその機能を拡張したりすることで、特定のソフトウェア構築スタイルに適合させることができます。
他の開発者と同様に、提供するコンテキストが豊富で、意図する結果について具体的であればあるほど、GitHub Copilot から得られる結果は良くなります — 特にエージェントモードではその傾向が顕著です。正しい作業を行うためには適切なツールが必要ですが、エージェントモードにカスタム指示を与えてコーディングの好みに合わせたり、MCP 統合を通じてその機能を拡張したりすることで、特定のソフトウェア構築スタイルに適合させることができます。
LLMs によって駆動される技術と同様に、エージェントモードの提案は、コードをレビューし、期待通りに動作することを確認するためにあなたが運転席にいることから利益を得ます。しかし、エージェントモードの素晴らしい点は、あなたが望む方法で正確に使用できることです。それはあなたの仲間のプログラマーであり、プロトタイプアプリを構築するために使用したり、既存のコードベースで作業したり、質問に答えたり、ワークフローの低レベル部分を自動化したりすることができます。あなた次第です。楽しい構築を!
LLMs によって駆動される技術と同様に、エージェントモードの提案は、コードをレビューし、期待通りに動作することを確認するためにあなたが運転席にいることから利益を得ます。しかし、エージェントモードの素晴らしい点は、あなたが望む方法で正確に使用できることです。それはあなたの仲間のプログラマーであり、プロトタイプアプリを構築するために使用したり、既存のコードベースで作業したり、質問に答えたり、ワークフローの低レベル部分を自動化したりすることができます。あなた次第です。楽しい構築を!
原文リンク:
https://github.blog/ai-and-ml/github-copilot/agent-mode-101-all-about-github-copilots-powerful-mode/