Tech

GitHub Copilot コーディングエージェントを使ってIssueからコードを生成する

投稿日:

はじめに

前回は、GitHub Copilotの機能について広く浅く記載し、その中のCLIでCopilotを使う方法を実際に試してみました。

今回はGitHub Copilot コーディングエージェントを使い、IssueからCopilotにコードを生成してもらう方法を試してみました。

Copilot コーディングエージェントとは

Copilit コーディングエージェントは、GitHub Actionsの環境で独立して動作し、人間の開発者と同じようにタスクを処理することができます。

Copilot コーディングエージェントでできること

Copilot コーディングエージェントは、以下のような作業を処理することができます。

  • バグの修正
  • 段階的に新機能を開発する
  • テストのカバレッジを向上させる
  • ドキュメントを更新する
  • リファクタリング

どのようにして作業を指示するか

Copilot コーディングエージェントには、様々な方法で作業を依頼することができます。

例えば以下のような方法です。

  • Issueを書いてCopilotをアサインする
  • チャットでプロンプトを入力する
  • PRのコメントでCopilotにメンションする
  • GitHub CLIのコマンドを実行する

従来のAIアシスタントを使った場合との違い

Copilot コーディングエージェントと従来のAIアシスタントとの大きな違いは、実行する環境です。

従来のAIアシスタントはローカル上で動作し、開発者との対話を繰り返すことにより、タスクを処理します。

一方、Copilot コーディングエージェントはGitHub Actions上の一時的な環境で完全に独立して動作します。

また、従来のAIアシスタントでは、ブランチの作成、コミット、PRの作成などの定型作業が発生しますが、Copilot コーディングエージェントでは、コミットからPRの作成までを自動的に行なってくれるため、効率的に開発を進めることができます。

Copilot コーディングエージェントを使用する条件

Copilot コーディングエージェントは、GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot Business、GitHub Copilot Enterpriseプランで使用できます。

料金について

Copilot コーディングエージェントを使う際に発生するコストは、GitHub Actionsを実行した分単位の時間とCopilotのプレミアムリクエストによります。

これらは、自分の持っている月間使用枠内で追加料金を払わずに使用することができます。

詳しくは、GitHub Copilot ライセンスをご覧ください。

セキュリティ保護

Copilot コーディングエージェントには、セキュリティ保護のための組み込み機能があります。

例えば以下のような機能です。

  • セキュリティ問題の検出と対応
  • 機密情報の検出
  • GitHub Advisory Databaseに対するマルウェアアドバイザリ、およびCVSS評価

詳しくは、こちらをご覧ください。

Issueを書いてコードを生成する

それでは、実際にCopilot コーディングエージェントにコードを生成してもらいます。

下準備として、Goのプロジェクトを作成し、 cmd/calccli/main.go に空のmain関数を定義したファイルだけをPushしておきます。

Issueを作成してCopilotをアサインする

まず初めに、Issueにを立ててやりたいことを簡単に書いておきます。

そして、Copilotをアサインするとこのようなモーダルが表示されます。

ここでは、Baseブランチ等の基本的な情報の他に、CustomAgentや任意のプロンプトを記述することもできまが、今回は特に指定せずにCopilotをアサインします。

すると、GitHub Actions上に環境が構築され、Copilot コーディングエージェントがコードの生成を開始します。

チャットからセッションを見てみると、Copilot コーディングエージェントがステップを踏んで動作しているのが見れます。

変更のサマリやコードの差分を見ることもできます。

コードが生成され、実際に動作検証が通ると、PRがDraftの状態で作成されています。

PRをレビューする

このPRに対して変更してほしい部分があれば、Copilotにメンションしてコメントを書きます(レビューコメントを書いただけでは修正が行われませんでした)

Copilotが修正したコード

最後に、Copilotが実際に修正したコードを記載します。

実行結果

さいごに

Copilot コーディングエージェントを使って、Issueからコードを生成するところを試してみました。

Issueの内容がとてもシンプルだったため、初回の実行でおおよそ思った通りのコードが生成されたのですが、追加する変数名から後続の処理まで予想して、指示していない内容までコード化されていたのは想定外でした。

今後は、より複雑なタスクの実行やカスタムエージェント、プロンプトについても試して見たいと思います。

おすすめ書籍

現場で活用するためのAIエージェント実践入門 (KS情報科学専門書) MCP AIエージェント開発入門

blog-page_footer_336




blog-page_footer_336




-Tech
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

入門スクラム〜スクラムフレームワーク

1 はじめに2 スクラムの特徴2.1 シンプルなフレームワークであること2.2 素早い反復を繰り返すこと2.3 検査・適応・透明性3 スクラムの役割3.1 プロダクトオーナー3.2 スクラムマスター3 ...

Bluetooth Low Energy(BLE)とは? Bluetoothの開発が初めての人向け!

1 はじめに2 Bluetoothの規格2.1 Bluetooth Classic2.2 BLE(Bluetooth Low Energy)3 BLEの役割4 サービスとキャラクタリスティック4.1 ...

BlueZとは? bluetoothctlとPythonから使用する方法を紹介!

1 はじめに2 BlueZとは?2.1 D-Busとは?3 bluetoothctlでのペアリング3.1 ペアリング4 Pythonでの実装4.1 bluezeroでのペアリング実装5 さいごに6 お ...

Go言語

生成AIプログラミング事始め

1 はじめに2 生成AIプログラミング2.1 生成AIプログラミングとは2.2 生成AIプログラミングのメリット2.3 生成AIプログラミングの流れ2.4 生成AIプログラミングにおける注意点3 生成 ...

ReactNative入門

1 はじめに2 そもそもReact Nativeとは3 JSXとは3.1 JSXに値を埋め込む3.2 属性の値を設定する3.3 関数でJSXを作る4 コンポーネントとは4.1 再利用性4.2 新規コン ...

フォロー

blog-page_side_responsive

2025年11月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。