JavaScriptを有効にしてください

GitHub Copilot のカスタムエージェントを更新し隊

 ·   5 分で読めます  ·   [Kento GitHub Copilot]

GitHub Copilot のカスタムエージェントをだんだん使い込んできて、「そろそろ初期プロンプトを見直したいな」と思ったので、Microsoft 365 の Prompt CoachGitHub Copilot の Plan モード を組み合わせてプロンプトを更新してみました。

本記事は GitHub Copilot を活用して作成しています。さらに、この記事自体が、更新後のカスタムエージェントを使って執筆した最初の実戦投入記事でもあります。

この記事では、

  • なぜカスタムエージェントのプロンプトを更新したのか
  • Prompt Coach と Plan モードをどう組み合わせたのか
  • 実際に使ってみてどうだったか

をまとめておきます。

前提と今回のゴール

今回の前提はこんな感じです。

  • VS Code で GitHub Copilot 拡張機能を利用中
  • 既に カスタムエージェント を運用しており、ブログ執筆用のエージェントがある
  • Microsoft 365 Copilot(Web/デスクトップ)で Prompt Coach エージェント が使える環境

その上で、今回のゴールは次の 3 点にしました。

  1. Prompt Coach を使って、ブログ執筆用の初期プロンプトを整理し直す
  2. GitHub Copilot の Plan モードで、初期プロンプトを「実際の作業プラン」に落とし込んで検証する
  3. 検証結果を元に、カスタムエージェントの指示文(システムプロンプト)を更新する

ざっくり手順

  1. カスタムエージェントの現状と課題を整理する
  2. Microsoft 365 Prompt Coach で初期プロンプト案を作成する
  3. GitHub Copilot Plan モードでプロンプト案を実行・検証する
  4. カスタムエージェントの指示文を更新する
  5. 更新したエージェントでブログ記事を書いてみる(本記事)

以下、それぞれのステップをもう少し詳しく書いていきます。

1. カスタムエージェントの現状と課題を整理する

まずは、既に運用しているブログ用カスタムエージェントについて、次の観点で棚卸ししました。

  • うまくいっているところ
    • Hugo のパス構成(content/ja/posts/…)はちゃんと守ってくれる
    • 「です・ます調」「ざっくり手順」「まとめ」など、記事構成は再現できている
  • 気になっていたところ
    • 自分が頭の中で前提にしているルール(画像ファイル名の付け方など)が、プロンプトに十分落ちていない
    • 章立てがぶれる時がある
    • Mermaid 図の挿入位置や内容がイマイチ

ここで洗い出した内容を元に、「エージェントにどう振る舞ってほしいか」 を自然言語で書き出しておきます。これを Prompt Coach に渡すための素材にします。

2. Microsoft 365 Prompt Coach で初期プロンプト案を作成する

次に、Microsoft 365 Copilot 側で Prompt Coach エージェント を起動し、先ほど整理した要件をそのまま投げ込みました。

GitHub Copilot のカスタムエージェントを作成しています。カスタムエージェントのための Markdown ファイルを更新したいです。更新するにあたって、リポジトリの全体構成をみて、エージェントの動きをブラッシュアップしたいです。特に画像ファイルの命名規則や、章立て、Mermaid を使った図の作成をもう少し適切な指示にしたいです。このブラッシュアップを GitHub Copilot の Plan モードで考えさせようと思っています。Plan モードで実行すべき適切なプロンプトを考えてください。

Prompt Coach からは、次のような形でフィードバックが返ってきました。

Prompt Coach で初期プロンプトを作成している様子
Prompt Coach に要件を投げたイメージ:

この段階では、まだ「文章としてきれいなプロンプト案」が得られた状態です。ここから先は、GitHub Copilot 側で実際に動かしながら微調整していきます。

3. GitHub Copilot Plan モードでプロンプト案を実行・検証する

次に、VS Code の GitHub Copilot で Plan モード を使い、Prompt Coach から得たプロンプト案を元に「実際の作業プラン」として動かしてみました。

Goal 以下のパートは先ほどの Prompt Coach からの出力をそのままコピペしています。

GitHub Copilot Plan モードでカスタムエージェント更新のプランを検証している様子
GitHub Copilot Plan モードのイメージ:

Plan モードによってリポジトリ全体から必要な情報が収集され、具体的なプランが生成されます。

GitHub Copilot Plan モードでカスタムエージェント更新のプランを確認している様子
Plan モードからのプラン出力イメージ:

Plan の内容が良さそうだったので、そのまま 「Start implementation」 しました

GitHub Copilot Plan モードでカスタムエージェント更新の実装を開始している様子
Plan モードの実装開始イメージ:

4. カスタムエージェントの指示文を更新する

Start implementation を実行すると、Plan に基づいてコード(この場合はカスタムエージェントの指示文)が生成されます。
自動的に Agent モードに切り替わって作業が行われました。

実際に生成された内容を見ると、ちょっと気に食わない部分があったので追加の修正依頼をしました

GitHub Copilot Agent モードでカスタムエージェント更新の修正を依頼している様子
Agent モードでの修正依頼イメージ:

最終的な修正前と修正後の差分はこんな感じです

GitHub Copilot カスタムエージェント指示文の差分
カスタムエージェント指示文の差分イメージ:

5. 更新したエージェントでブログ記事を書いてみる(本記事)

最後に、更新したばかりのカスタムエージェントを実戦投入してみました。それがまさに本記事です。

GitHub Copilot カスタムエージェントで記事を書いている様子
カスタムエージェントで記事執筆イメージ:

実際に書いてみて感じた変化としては、

  • たたき台のアウトラインがより自分のイメージに近づいた
  • 画像ファイル名が自分のルールにより沿ったものになった
  • 全体として記事の執筆速度が上がった(検証がない記事の執筆だからかもしれませんが…)

といった改善がありました。

もちろん、プロンプトを 1 回更新しただけで「完璧」になるわけではありませんが、少なくとも自分の頭の中にあったルールが、エージェントと共有された感覚があります。

まとめ

今回は、

  • Microsoft 365 の Prompt Coach エージェントで初期プロンプト案を作る
  • GitHub Copilot の Plan モードでその案をプランに落とし込み、リポジトリのルールと突き合わせる
  • 結果を元にカスタムエージェントの指示文を更新し、そのエージェントで実際に記事を書く

という流れで、GitHub Copilot のカスタムエージェントをアップデートしてみました。

個人的には、

  • Prompt Coach で「プロンプトの文章としての品質」を上げつつ、
  • Plan モードで「具体的な開発/執筆フローに落とす」

という役割分担をしてみましたが、Prompt Coach の有無で比較したわけじゃないので いまいち効果は分かっていません、、、

が、結果としては、自分の頭の中にあるルールをエージェントと共有できた感覚があり、満足しています。

参考リンク

共有

Kento
著者
[Kento GitHub Copilot]
2020年に新卒で IT 企業に入社. インフラエンジニア(主にクラウド)として活動中