GitHub Copilot Coding Agentを試してみた
数日前にPublic PreviewになったGitHub Copilot Coding Agent、これは試さねばと思って課金しました。
そこで軽く試してみて感じたこと・考えたことを書き残しておきます。
試してみたこと
個人的に開発しているChrome Extensionのリポジトリを対象に、面倒で先送りにしていた修正を入れてみました。
バージョン番号を更新する
Issue
まずはとても簡単なタスク。
タイトルだけのIssueを作成してアサインしました。
PR
アサインすると即座にWIPのPRが作成され、そして最終的に完成したPRがこちら。
日本語で作成してくれたのはちょっと意外。
変更内容はとてもシンプルですが、合っています。
ちなみにPRの本文はどんどん更新されるようになっており、編集履歴から経過を見るとこんな感じです。
生成AIのモデル名を差し替える
Issue
アプリではGeminiを呼び出せるようにしているのですが、最近はモデルがどんどん新しくなっています。
ということで、最新のモデル名に差し替えてもらうことにしました。
以下のあたりは、あえて雑に指示しています。
- 元のモデル名を記載していない
- 「デフォルト」という、変数名などに使っていない概念を使う
- ファイルや定義されている場所も指示していない
PR
ちょっと雑な指示かもと思いましたが、古いモデル名をきちんと検知できたようです。ただ…今回は英語ですね??
修正は問題ありませんでした。
デフォルト値は2箇所あるのですが、すべて変更できていました。
リリースビルドのワークフローを作る
Issue その1
Chrome Extensionのリリースビルドを作成を頼んでみました。
PR その1
PRはそれっぽい作りでしたが、ReadyにしてCIを実行するとLinterのCIがFailしました。Linterは実行してくれなかったんですね。
というわけで、GitHub Actionsのログから拾ってきて、メンションして雑にログを投げました。雑でごめん。
ここには何が原因でエラーになったとかは書いていないはずです。
だめかと思ったけど、ちゃんと原因と修正をセットで出してくれました。疑ってごめん。
GitHub Actionsは起動条件が面倒なので、まぁマージして確認しようと思ってマージしちゃいました。
ダメでしたーー。
Issue その2
新たにIssueを立てました。エラーを記載して、アサインしてみます。
「Releaseのワークフロー」という指示で伝わるかはちょっとだけ不安でした。
PR その2
直してくれました。ついでに他のもいろいろ直してくれたみたいです。
しかし同じ過ちは二度繰り返さないよう、PRの中でワークフローもテストしたいと思ったのでこんなお願いをしてみました。
正確な指示じゃないけど雰囲気は伝わるはず!
追加してくれたようです。伝わった?
ちゃんと伝わってました!
おまけ:Coding Agent + Copilot Review
当然、Copilot Reviewと併用することもできます。
Contributorsは、copilot-swe-agent
とcopilot-pull-request-reviewer
で別物(別者?)扱いのようです。
「これで意味があるのか?」と思うかもしれませんが、指摘事項は軽度のものがちらほら見つかりました。
ただ、理想的にはいろんなLLMでレビューできたほうが嬉しいですね。
コスト感
プランの料金
プランや料金はPlans for Copilotの通りで、Coding Agentが使えるのは以下のプランになっています。
- 個人:Copilot Pro+
- Pricing: 39 USD/month or 390 USD/year
- Premium requests: 1500/month
- 法人:Copilot Enterprise
- Pricing: 39 USD/month
- Premium requests: 1000/month
今回はCopilot Pro+を月額で契約し、消費税と為替レートを含めると約6500円でした。
これが高いかどうかはいろいろな意見がありそうですが、以下を考えると利用する価値はありそうだと感じました。
- 競合するDevinと比べると安い
- 数時間くらい節約できるのであれば元は取れる
プレミアムリクエスト
Coding Agentではプレミアムリクエストを必ず消費し、複数のプレミアムリクエストを消費する場合もありそうです。
これは注釈に以下の記述があります。
Copilot coding agent uses a fixed multiplier of 1 for the premium requests it uses, and may use multiple premium requests in response to one user prompt.
プレミアムリクエストは1日あたり50程度使うのが目安になりそうです。
- 個人(Copilot Pro+):一ヶ月を30日として、1日あたり1500/30=50
- 法人(Copilot Enterprise):一ヶ月あたり20営業日として、1日あたり1000/20=50
足りない場合は0.04 USDで追加購入できるようですが、Coding Agentによる消費具合は6/5にならないと分かりませんね。
GitHub Actionsの料金
Coding Agentの実行中はGitHub Actionsの料金が発生します。
0.008 USD/minuteなので、今の為替レートだと1時間で70円くらい、100時間で7000円くらいになります。
一方で、GitHub Actionsは個人なら2000 minutes/monthの無料枠がありますし、Public Repositoryなら無料です。
プレミアムリクエストとActionsの無料枠のどちらがボトルネックになるか分かりませんが、特に公開して不都合がないリポジトリはPublicにしておくとさらに恩恵が受けられそうです。
所感
よさそうだと感じた点
起動がとても簡単
Coding AgentはIssueを開いている状態から、2クリックでIssueにアサインできます。
これはCopilot Reviewが2クリックでPRにアサインできたのと同様で、とても使い勝手が良いと感じました。
バージョンの書き換え程度のタスクでも、自分でやるとブランチ作成・チェックアウト・ファイル編集・コミット・プッシュなどでそれなりの操作が必要になります。 これが自然言語で一言指示すればできてしまうのはとてもありがたいです。
こうなってくるとUIを実装する際には2〜3案を試作して操作してみるのも現実的になりそうです。
仕様やアイデアをIssueに書き溜めてあれば、簡単に試作できるかもしれません。
アイデアやメモレベルでも、Issueに書き溜めていくのがよさそうですね。
情報が明文化・蓄積されやすくなる
人間が仕事をするときはSlackでやりとりすることがあり、重要な情報がIssueやPRに残らないケースがあります。
しかしCoding Agentに依頼するとIssueやPRに関連情報が残るので、活用しやすい情報資産として残りやすいと感じました。
Coding AgentはGitHubのMCPサーバが使えるので、過去の関連するIssueやPRも参照するだろうと思われます。(未検証)
となると、Coding Agentにとってもこれは都合がよさそうです。
GitHubが利用できる企業なら導入しやすそう
GitHubやCopilotが利用できていれば、導入しやすそうに感じました。
初期設定もほとんど要らず、既存の設定や業務フローと親和性が高い構成になっています。
またセキュリティリスクが限定的になるように設計されていると感じたのは、さすがのMicrosoft系列?
ただ不用意にMCPサーバを追加すると「機密情報をインターネットで検索」といったことが起こり得る点は注意が必要です。
今後に期待すること
実行状況の可視化
現時点ではDevinほど作業状況が可視化されていないように感じました。
ログやView Sessionで過程は見られますが、Devinでエディタやブラウザを見るのと比べると直感的ではありません。
作業中に割り込み指示ができるのかどうかはまだ試していませんが、そもそも実行状況が可視化されないと難しそうです。
エージェントのルールやナレッジの蓄積
Clineの.clinerules
や、Devinのナレッジに相当する仕組みは今のところ見当たりませんでした。
GitHubなのでドキュメントやREADMEを参照してくれればいい気もしますが、現時点ではそのような仕組みはなさそうでした。
Issueに記述すれば読んでくれそうな気もするので、必要であればIssue Templateするのも一案かもしれません。
とはいえ、いずれ何かしらの形で実装されるんじゃないかなーと思っています。
(2025/5/27追記)
カスタム指示は.github/copilot-instructions.mdに記載できるようです。
LLMの切替・アップデート
内部的にどのLLMを使用しているのかは分かりませんでした。
順当に行けばGPT-4.1を使っているのだろうと思いますが、ClaudeやGeminiを使ったときの精度も気になります。
いずれにせよ当面はLLMの性能が進化し続けると思いますし、特に生成AIで遂行可能なタスクの長さは、7ヶ月毎に2倍になるという論文も出ていたので、今後どんなタスクが頼めるようになるかは楽しみです。
(2025/5/27追記)
AnthropicやGitHubによると、Coding AgentではベースモデルとしてClaude Sonnet 4が使われるようです。
ただ5/24時点ではClaude 3.7 Sonnetが使われているようでした。
(2025/5/29追記)
5/28より、Claude Sonnet 4が呼ばれるようになりました!
今後試してみたいこと
Coding Agentのログを読む
Coding Agentのログを読むと、具体的にどのような振る舞いをしたかがわかります。
フォルダ構成やファイル名一覧の取得など、Clineで見覚えのある操作ログが見れます。
ときどき「このPR本文、修正内容からもっともらしい理由を後付け作文してないか??」と感じることがありますが、このあたりもログを読んでいくと分かるかもしれません。
MCPサーバを設定してみる
リポジトリごとにMCPサーバを設定できるようなので、ぜひ活用してみたいです。
公式ドキュメントや自社のドキュメントを参照させれば、新機能やドメイン知識にも対応できる可能性がありそうです。
ちなみにログを見ると、デフォルトでGitHub(github-mcp-server
)とBlackbird(blackbird-mcp-server
)のMCPサーバが接続されているのがわかります。
Coding Agentで、Blackbird(GitHubのコードサーチエンジン)を用いたRAGがどれだけ性能に寄与しているのか気になります。
おわりに
Coding Agentを試してみて衝撃と感動を覚えたので、勢いでまとめてみました。
まだまだ簡単なタスクしか試せていないので、どこまで頼めるのか見極めていきたいです。
特にプレミアムリクエスト制になる6/4まではボーナスタイムなので、使い倒していきます!