こんにちは、MLBお兄さんこと松村です。
日本時間の2025年5月20日から Microsoft Build がシアトルで開催されていますが、そこで GitHub Copilot の新機能として「Coding Agent」が発表されました。
早速私のアカウントで利用可能となったので試してみました!
GitHub Copilot Coding Agent とは
GitHub Copilot Coding Agent とは、課題(Issue)からタスクを整理し、Copilot が開発者として自律的にコーディングなどの作業を行う機能です。
Copilot が行うことができるタスクとして、以下のようなものがあります。
- バグの修正
- 新しい機能の実装
- テストカバレッジの向上
- ドキュメントのアップデート
- 技術的負債への対処
GitHub Copilot Coding Agent は、大まかにこのような流れで使っていく印象です。
Start ↓ 開発者:Issueの作成 ↓ Copilot:環境構築 ↓ Copilot:コーディング ↓ Copilot:プルリクエストの作成 ↓ 開発者:プルリクエストのレビュー ↓ Copilot:フィードバックへの対応 ↓ 開発者:プルリクエストのマージ ↓ End
GitHub Copilot Coding Agent を有効化する
自身のアカウントで GitHub Copilot Coding Agent が利用できる状態であれば、アカウント設定から有効にすることができます。
アカウント設定 > Copilot > Coding agent にアクセスし、機能を利用するリポジトリを指定します。(一部または全部)
ここで対象としたリポジトリにおいて、Coding Agent を利用することができるようになります。
実際に使ってみる
それでは実際に GitHub Copilot Coding Agent を使ってみます。
なお今回例にするのは、1年前に公開となった GitHub Copilot Workspace で試したときと同じく、ゼロから Copilot に実装してもらうケースです。
1. Issue を作成してタスクを指示する
エージェントに実施してほしいタスクを Issue にまとめます。
今回も四則演算の電卓アプリをゼロから作成します。
- C#, .NET 8を使う - コンソールアプリケーションを作る - 入力された2つの値で四則演算を行う - 数字以外の文字の場合は「🙅」と表示する
Issue を作成し、Assignees に Copilot を指定します。
すると Issue に対して Copilot が「👀」のリアクションをしてくれます。
ここから Copilot が指示に沿ったタスクを実施していきます。
2. Copilot が実装する
Issue に Copilot がアサインされた段階で、タスクを進めていく Actions のワークフローが実行されます。
このワークフローでは目的のコードが生成され、ブランチにコミットされ、最終的には main ブランチへのプルリクエストが作成されます。
3. 開発者がレビューを行う
Copilot はドラフトのプルリクエストを作成します。
一度で目的を満たすコードができることは無いでしょうから、開発者はプルリクエストでコードレビューを行い、修正点をコメントします。
@copilot
に対して修正点をコメントすると、再度ワークフローを実行してコードの修正が行われます。
コードレベルのコメントでも良いし、コードを指定しないコメント (Conversation) でも良いです。
必要な修正が終われば、プルリクエストをドラフトからオープンに変更します。
そして自身でマージを行って、エージェントによるコーディングが終了となります。
なおローカルで実行したところ、問題なく動作することが確認できました。
4. 追加実装は別の Issue で行う
次の開発を行う際は、また改めて Issue を作成します。
あとはこれまでと同様で、Copilot をアサインし、プルリクエストのレビューを行います。
今回は例として xUnit でのテストコードの作成を指示したところ、単純にテストコードだけ作るのではなく、テストコードが作成できるようにアプリケーション本体もリファクタリングのようなことが行われました。
またワークフローでは、テストを実行して結果の記載まで行われました。
また、ワークフロー内でリポジトリを検索・操作するときは、GitHub MCP Server を使用しているログが見られました。
まずは設定からざっと使い始めるところまでを試してみました。
Copilot Workspace の登場から1年が経ち、エージェントによる開発も盛り上がっているなかで、Copilot Coding Agent もその一端にあると感じます。
今回の例のようにゼロからエージェントで作るという使い方もありますが、ベースのコードは開発者が作るべきであり、個人的には途中で使う(機能追加など)ことから始めていくと良いと感じました。
Copilot Coding Agent には他にも設定や使い方がありますので、また別の記事で検証していきたいと思います。
サービス一覧 www.alterbooth.com www.alterbooth.com www.alterbooth.com