4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub Copilotのエージェントモードを使ってみた

Posted at

はじめに

GitHub Copilotのエージェントモードは、AIを活用して開発者の作業効率を飛躍的に向上させるための新機能です。
リンク
エージェントモードを利用することで、単一のコマンドから複数のファイルにわたるコード生成、リファクタリング、デプロイを実行できるとのこと。
Cline等でGithub Copilotを利用したAIエージェントは既に存在していましたが、やっと本家からエージェントモードが提供されたので、試してみました。

エージェントモードの有効化方法

前提条件

  • Visual Studio Code Insiders版が必要です
    • VS Code Insidersから最新版をダウンロードしてインストールしてください
    • エージェントモードは現在、通常版のVS Codeではサポートされていません

有効化手順

  1. GitHub Copilotの設定を開く

    • VS Code Insidersの設定画面で「GitHub Copilot」を検索します
    • 「GitHub Copilot: Enable Agent」のチェックボックスをオンにします
  2. コマンドパレットからの有効化

    • Ctrl+Shift+P(macOSの場合はCmd+Shift+P)でコマンドパレットを開きます
    • GitHub Copilot: Toggle Agent Mode を実行します
  3. サイドバーからの操作

    • VS Code Insidersのサイドバーで「GitHub Copilot」アイコンをクリックします
    • エージェントモードの切り替えスイッチをオンにします

有効化後は、コードエディタ上でエージェントモードの機能が利用可能になります。

エージェントモードの使用感

今回はエージェントモードを利用して、Pythonのコードを生成してみました。
内容としてはplanioのAPIを利用して、チケットを登録できるようなコードを生成してみました。
環境構築はpipenvを利用、.envファイルで環境変数を管理するように依頼しました。
(利用したのはclaude-3.5-sonnet(gpt-4oは英語での返答が多いため))

上記の内容をエージェントモードに依頼すると、初期化、.envファイルの作成、Pythonファイルの作成まで行ってくれました。
instruction_1.png

その後、.envファイルの設定を説明してくれて、コマンドの実行を待ってくれたので、
.envファイルの設定を行い、コマンドを実行すると、結果を確認、内容をサマってくれました
instruction_2.png

最後に、使い方等をまとめたREADME.mdを生成するように依頼すると、README.mdの内容を生成してくれました。
instruction_3.png

ただ、外部URLを読んでもらおうとすると、読み込めない旨のメッセージを返されたので、この辺できるようになってくれるといいなと思いました。
instruction_4.png

また、現在のWorkspace以外のファイルを編集するように依頼すると、それもできない旨のメッセージを返されたので、この辺も改善されるといいなと思いました。

最後に

  • エージェントモードは、Github本家から提供されたAIエージェント
  • VS Code Insidersを使用すれば、すぐに利用を開始できます
  • 外部URLの参照やWorkspace外のファイル編集など、まだ制限はありますが今後の改善に期待できます

その他のリソース

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?