GxPのやすば(@nyasba)です。
社内で生成AIツールの導入やAI駆動開発などを推進しています。
GitHub Copilotでも Coding AgentというリモートAIエージェントが出てきましたので、ハンズオンコンテンツを準備し、社内で実施しましたのでその内容を公開します。
6/26にGitHub Copilot Coding Agent がCopilot Businessプランでも使えるようになりました!
弊社ではGitHub Copilotをエンジニア向けには広く導入していますが、エージェント実行での開発についてはまだまだこれからという段階です。
今回、GitHub Copilot BusinessプランにもCodingAgentが公開されたということで、このタイミングでAIエージェントでの開発に各自が触れて実感を持ってもらえるように、ハンズオンを用意しました。
6/18からGitHub Copilotのプレミアムリクエストに対する制限がかけられましたが、制限開始と同時に一度カウントがリセットされていることから、今月は余裕があるはず! つまり、みんなに試してもらうチャンス!!ということで、6月中になんとか駆け込みでお願いします、と依頼して、何人かに体験してもらいました。
本記事では、社内向けに用意したものを少し改変して、そのコンテンツと結果を公開します。
GitHub Copilot Coding Agent は、従来のローカルでのコード補完機能やエージェント機能とは異なり、リモート環境で指示に従って自動的にコードを書いてくれるAIエージェントです。
主な特徴
- GitHubのIssueに対応内容を記載して、Copilotユーザーをアサインすると自動的に対応を開始
- 修正が完了したらPull Requestを発行してくれる
- Pull Requestへの指摘コメントに対しても修正を行ってくれる
- 作業するブランチは自動的にデフォルトブランチとなる
(これがかなり残念)
- 他の人が作成したブランチやプルリクエストは改変されない
(copilot/fix-{issue番号}
というブランチにPushされる)
今回はcopilot-instruction.mdという GitHub Copilotに対してリポジトリの前提事項をインプットするためのファイルを作成してもらいます。
copilot-instruction.mdの説明は以下を参照してください。
1. 指示を出す
指示はissueを作成することによって行います。issueで指示する内容もAIにまかせて整理してもらいましょう。
issue以外の方法でも指示を出すことは可能ですが、今回はissueで実施します。
以下の内容をGitHubCopilotChatやChatGPTなどで指示して、書き直してもらってください。各リポジトリの固有の情報はこのタイミングでなるべくインプットしてください。どんな技術を採用しているか、などがわかればAIにも効率的に指示が出せます。
GitHubのAIエージェントにcopilot-instruction.mdを作成させたい。
以下のような内容を想定しているので、そのためのAIに指示するプロンプトを作ってほしい
既存のコードを解析して、copilot-instruction.mdを .copilot/ 配下に作成してください。
ファイルはMarkdown形式で、以下の内容を記載してください
### リポジトリ概要
- プロジェクトの目的と概要
- 主要な機能や特徴
### フォルダ構成
- ルートディレクトリから主要なフォルダの構造を記載
- 各フォルダの役割と目的を説明
### 技術スタック
- 使用言語、フレームワーク
- データベース、ビルドツール
- テスティングフレームワーク
### コーディング規約
- ネーミング規則
- アーキテクチャパターン
- エラーハンドリングの方針
出力された内容を貼り付けてissueを作成します。
AssigneeでCopilotを指定することでCoding Agentが動き出します。
2. エージェント実行
まず、issueに👀のリアクションが付き、
ドラフト版のPull Requestが自動作成されます。
その後、Copilotのエージェントが処理を実行して、指示通りのファイルを生成してPull Requestに反映していきます
詳細なログは View session
ボタンから確認可能です。一番上に今回消化したプレミアムリクエスト数が記載されています。
レビュー指摘
Pull Requestにレビューコメントを付けると、再度Copilotが自動的に反応して、修正を加えてくれます。
workflowを動かすための承認が必要らしいので承認する
CI/CDが自動的に動かないのは少し微妙に思えましたが、権限設定の問題かもしれません(未調査)
PullRequestがドラフトになっているので、公開して、マージする
Copilotの作業後はドラフトのままになっているので、それを公開しないといけないのがまた少し面倒でした。
マージできたら完了です
ハンズオン1回にかかったコスト感
AIエージェントが消化したプレミアムリクエスト数とGitHub Actionsの処理時間に伴う課金がCoding Agentの料金として発生します。
今回の利用で消費されたプレミアムリクエストは40。 料金に換算すると1.6ドルでした。
- 初回PR作成まで: 25リクエスト(1 USD)
- レビュー指摘対応: 15リクエスト(0.6 USD)
2025/6/30時点の基準である 0.04 USD / プレミアムリクエスト で計算しています
プレミアムリクエスト数管理
Copilot Businessでは1ヶ月で300のプレミアムリクエストが与えられていますが、Coding Agentを利用するとすぐになくなってしまいそうです。
上限を突破してからは使った分だけ従量で課金されます。組織全体でbudgetを設定することである程度は利用できますが、特定の個人やリポジトリに対して制限を緩和するということはできそうにありませんでした。高価なモデルを大量に利用して一気に課金が跳ね上がるリスクも怖いので最初は徐々に緩和していくしかないかなと考えています。
「誰のプレミアムリクエストが消費されるのか」については、基本的にCopilotを動かすトリガーを引いた人の値が消化されるようです
- 初回の実行: issueにCopilotをアサインした人
- PullRequestコメントに伴う実行: コメントをした人
弊社では、2日間で10名の方にこのハンズオン+αで触っていただき、Pull Request数としては15程度。合計約900プレミアムリクエストを消化したという状況でした。
まず、Coding Agentを本格的に使っていくかどうかにかかわらず、リモートエージェントとはどういうものなのかを社内のエンジニアが理解する機会になったことは大きな一歩だと思います。
コーディング部分に関しては、(プロンプトの問題も多分に影響はしているはずですが)テストが通らなかったりして、人の手が入れられるローカルエージェントのほうが、まだ使い勝手が良い部分もあるなという印象です。ローカルエージェントでもある程度動くようになってきたら、本格的に導入するのは簡単になるはずです。
コードを解析してその結果をドキュメントとして出力するような使い方では、細かい精度はあまりこだわらないので十分に使えるのではないかと感じています。
ぜひ皆さんも取り組んでみてください。
その後、開発者が1日程度かけて対応する規模感の実装修正をさせてみました。
タスクの特徴
- わかっている人だとすぐだが、仕様がそもそも複雑なタスク
- DBで持っている区分値のバリエーション追加とその値でのアプリケーションロジック修正
- コードレベルで修正内容をざっくり指示(このファイルをこう直す)
- 修正のアプローチも指示
- Java/SpringBoot
実行結果
- 3回のPR指摘を繰り返して、テストが通るようになり完成
- 修正された内容は4ファイル 154行(追加のみ)
- 修正完了までのトータルのプレミアムリクエスト数は 約130 (= 5.2USD)
- PR発行時の初回処理時間は初回13分、PR指摘修正では10分程度
- 指示をする人のほうは別のこともしながら、2時間程度で実装が完了
現時点ではまだまだこれからという印象ではありますが、今後もっと精度が上がっていくことを見越して、今から使ってノウハウためていくべきと感じています。
Views: 0