Microsoft Build 2025でGitHub Copilot Coding Agentが発表されました。
待望の機能だったのもあり、発表後試してみました。
今回試したPRは https://github.com/yamachu/VoicevoxCoreSharp/pull/214 です。
GitHub Copilot Coding Agentとは
GitHub Issueを元に、そのタスクを実現するためにどの様な作業が必要なのかを自動で洗い出し、そのプランに沿ってコーディングなどの作業を行ってくれる機能です。
他社サービスで言うと、例えばDevinの様なものとイメージできます。
Issueの起票やレビューなどは我々エンジニアが行う必要はありますが、実際のコーディングはGitHub Copilot Coding Agentが行ってくれるので、エンジニアの負担を大きく減らすことができる機能であると言えます。
Coding Agentのセットアップ
実際に使う前に、まずはGitHub Copilot Coding Agentを有効にする必要があります。
このCoding Agentは、GitHub Copilotの機能の一部として提供されています。
そのため使い始めるには有効なCopilotサブスクリプション、その中でも「Pro+」もしくは「Enterprise」プランに加入している必要があります。
https://github.com/features/copilot/plans?cft=copilot_li.features_copilot
このライセンスを持ったアカウントでCopilotの設定画面にアクセスすると、どのRepositoryで有効にするかを選択する画面が表示されます。
範囲を絞りたい場合はRepositoryを選択し、全てのRepositoryで有効にしたい場合は「All repositories」を選択します。
これで使うための準備は完了です。
実際に使ってみる
それでは実際に使ってみましょう。
セットアップ時に選択したRepositoryに移動し、既存のIssueを開く、もしくは新たにIssueを作成します。
Issueのタイトルと内容は、Coding Agentに渡るため、なるべく具体的に書いてあげると良いと思います。
それでは、このIssueをCopilot Coding Agentに渡してみます。
Issueの右上のAssigneesの右にある歯車アイコンをクリックし、「Copilot」を選択します。
その後自動的にPull Requestが作成され、Coding AgentがIssueを解決するためのプランをDescriptionに書いてくれます。
それを元に自律的にコーディングを行い、適宜commitおよびpushを当該Pull Requestに行います。
それではエンジニアの我々は何をするかと言うと、レビューです。
Copilotが行った作業を確認し、問題がなければマージを行います。
ここ直してほしいな、という場合は@copilotでメンションを送ることで、追加の作業だったり修正を行うことが出来ます。
この様にCoding Agentは、我々がIssueの起票やレビューに集中すれば良い状態に持っていってくれるのです。
中を覗いてみる
ここからは少しだけDeep Diveしていきましょう。
実際このCoding Agentはどんなことを思考し、どういう手段でコーディングを行っているのでしょうか。
Coding Agentの思考の流れや、コーディングの流れを知りたい場合は、Agent Sessionのログから確認することが出来ます。
「View session」というボタンがPull Requestのタイムライン上に表示されるので、そこから確認することが出来ます。
またGitHub ActionsのCopilotというWorkflowのログからも様々なログを確認できます。
これは例えばAgentに対しての入力、そしてどんなToolsを使っているのかなどが確認できます。
そこではGitHub MCP Serverだったり、GitHub内部で使用しているであろう、コードベースの検索のためのBlackbirdなどの名前が確認できます。
仕組みをログから妄想していくのは楽しいですね。
その他にも、外部のネットワークに出ようとしてブロックされたみたいなログだったりも確認ができます(Artifactsのresultsというzipファイルにもまとまっています)。
その情報は今後MCPサーバーなどを連携した際に、それの許可を行う際に役立つかもしれません。
おわりに
Coding Agent、求めていたものがとうとう来たなという印象です。
Copilot Workspaceの時も夢を感じていましたが、それが上手く普段のGitHubのUI上に組み込まれてより普段の開発フローに近い形になったなと感じています。
Blackbirdで検索に関する課題を解決し、Copilotがコーディング支援を行えるようになり、それぞれを組合せてCoding Agentの真価が発揮されたのかなとか思うと、胸が熱くなりますね…!
これからもGitHub Copilotの進化に期待していきましょう!
Devin wikiの体験がいいし、例えばGitHub Copilot Code Summaryみたいな名前でプロジェクト全体を要約してくれる機能とか出ないかなーとか妄想が膨らむので、ぜひ………何卒…………!!!!
最後の最後に宣伝で…
実はVS Codeのv1.100のリリースノートに、GitHub拡張でCopilotをIssueにアサインできる準備が出来ましたみたいなことが書かれていて、あっ、今月のBuildで発表くるな…と思っていたら、案の定発表されてました。
こういうMicrosoft製品のプロダクトの関わりを感度高くキャッチアップするためにも、ぜひVS Code Meetup などにも参加してみてください!