Tech

Github CopilotのCustom Agentを試してみた

投稿日:

はじめに

最近Copilotに追加されたCustom Agentの使い方と、使えそうなテンプレートを紹介します。

Custom Agentとは

Custom AgentはCopilotの「Agentモード」の挙動をカスタムできる機能です。普段Agentモードを使う時、いつも同じプロンプトやコンテキスト、MCPやToolsを指定することがあると思いますが、そういった定義を .md ファイルに定義することで、いつでも同じ振る舞いをするカスタムエージェントを作成することができます。

Custom Agentのファイル

Custom Agentはプロジェクトかグローバル(VSCodeのみ)に作成できます。プロジェクトに作成する場合は .github/agents は以下に作成します。
VSCodeではグローバルの場合は ~/Library/Application Support/Code/User/prompts に作成します。(macOSの例です)

各エージェントは my-agent.agent.md といったファイル名で作成します。

Custom Agentの書き方

「Context7-Expert」エージェントを参考に、説明します。

  • name
    エージェントの名前
  • description
    エージェントの説明(チャットのプレースホルダとしても使用されます)
  • target
    vscode or github-copilot を指定することで、このエージェントが使用できる環境を指定します。(指定しない場合は両方となります。)
  • tools
    エージェントが使用するTools(MCPも含む)を指定します。VSCodeとJetbrainsではBuilt-inのツール名が異なるため、注意が必要です!
  • mcp-servers / metadata
    Github Agent環境でのみ有効なオプション
  • model(IDEでのみ有効)
    使用するAIモデルを指定します
  • argument-hit(IDEでのみ有効)
    指定されている場合、descriptionの代わりにチャットのプレースホルダに表示されます。
  • handoffs(IDEでのみ有効)
    チャットレスポンスが終わった後、別のAgentに移行するためのボタンを表示する設定です。
    Context7では、実装するための後続プロンプトを指定しつつ agent: agent となっています。そのため、後続はカスタムエージェントではなく、通常のエージェントを使って実装がされます。
    このように、作業の特性によってエージェントを使い分けることができます。

テンプレート

awesome-copilot リポジトリにあるエージェントをいくつか紹介します。注意点として、このリポジトリのテンプレートは、ToolsがVSCode用の設定となっているため、Jetbrainsではうまく動きません。

Context7-Expert

Context7を参照し、最新の情報に基づいて実装をするエージェントです。今回は、MUIのSelectをAutocompleteに置き換えるように依頼してみました。

Context7を使用してドキュメントを参照しつつ、実装方針を提案してくれます。
「Implement with Context7」をクリックすると、通常のagentに切り替わった上で「Implement the solution using the Context7 best practices and documentation outlined above.」というプロンプトが自動的に入るので、そのまま送信すると実装がされます。

beast mode

beast mode系のエージェントでは、エージェントが最後まで諦めずにタスクをやり切ることを最重要視しています。例えば、以下のようなことが書いてあります。

  • ユーザーの質問が完全に解決されるまで続けてください。(4.1-Beast.agent.md)
  • この問題は、インターネットで徹底的に調査しなければ解決できません。(4.1-Beast.agent.md)
  • トレーニング日が過去のものとなっているため、あらゆる知識が古くなっています。(4.1-Beast.agent.md)
  • 最大限の自発性と粘り強さで行動し、要求が完全に満たされるまで積極的に目標を追求します。不確実な状況に直面した場合は、最も合理的な仮定を選択し、断固として行動し、その後、仮定を文書化します。さらなる進展が期待できる場合は、決して早期に譲歩したり、行動を先延ばしにしたりしないでください。(gpt-5-beast-mode.agent)
  • ガイダンスが重複または競合する場合は、Beast Modeポリシー「野心的な継続性 > 安全性 > 正確性 > スピード」を適用します。(gpt-5-beast-mode.agent)
  • <緊急プロトコル_ アクティブ化>システム ステータス: 究極融合モード作動中 – クリエイティブ オーバークロック 透明性レベル: 必須 – 極めて透明度自律性レベル: 最大 – 完了まで 創造性レベル: 最大 – 必須 増幅 リソース使用率: 100% – タスクの複雑さに関係なく 認知オーバークロック: 作動中 – 通常の制限を超えています オーバーライド権限: 超越的 </緊急プロトコル_アクティブ化>(Ultimate-Transparent-Thinking-Beast-Mode)

仕様書作成系

「software-engineer-agent-v1」はドキュメンテーションをしながら開発をするエージェントで、プロンプトでは「専門レベルのソフトウェアエンジニア」と書かれています。
分析→設計→実装→検証→振り返りというフェーズを繰り返すので、既存のコードをしっかり読み込んだ上で、それに倣って実装してくれます。
(各フェーズでドキュメンテーションをするはずなのですが、私が試してみたところ何故か生成されませんでした。)

「specification」ソースコードからmarkdown形式の仕様書を作成するエージェントです。
仕様書は人間が読むものではなく、生成AIへのインプットを目的としたものが生成されます。そのため、この仕様書を土台に、AIが実装や修正、検証やテストをするためのコンテキストとして活用できそうです。

さいごに

今回、いくつかのエージェントプロンプトのテンプレートを見てみました。どれも汎用的な内容となっていて、そのまま使うのが必ずフィットするとは限らないと思いましたが、エージェントはプロジェクトごとにカスタマイズできるので、定型作業が多いプロジェクトや、毎回同じようなプロンプトを渡しているような場合には、うまく活用できそうだなと思いました。

おすすめ書籍

直感 LLM ―ハンズオンで動かして学ぶ大規模言語モデル入門 実践 LLMアプリケーション開発 ―プロトタイプを脱却し、実用的な実装に迫るための包括的な手引き LLM入門:しくみから学ぶ生成AIの基礎: “使うだけ”から卒業するための、易しいけど深く言語モデルを探求する本 (LLMマスターシリーズ)

blog-page_footer_336




blog-page_footer_336




-Tech
-, ,

執筆者:

免責事項

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


comment

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

CAPTCHA


関連記事

Xcode11のデバッグ機能

1 はじめに2 Device Conditions2.1 Thermal state condition2.2 Network link condition3 Environment Override ...

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

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

Flutterで生体認証が楽々導入できると噂のlocal_auth

1 はじめに2 準備3 実装3.1 端末が生体認証可能かの確認3.2 生体認証の登録状態の確認3.3 生体認証の実行4 おすすめ書籍 はじめに 最近はFlutterの勉強ばかりしていますが、今回は簡単 ...

ReactNative開発のスタート、シミュレータでのデバッグ

1 はじめに2 改めてシミュレータの起動3 表示内容を変更してみる3.1 App.js3.2 表示テキストの変更3.3 シミュレータの更新「command + R」4 デバッグメニュー4.1 Real ...

Go言語

[Go初心者]テストについて学習

1 はじめに2 テスト2.1 エラーの値を比較する2.2 エラーの型を比較する3 httptest3.1 httptestの使い方4 さいごに5 おすすめ書籍 はじめに 今回はGo言語のテストについて ...

フォロー

blog-page_side_responsive

2025年12月
 123456
78910111213
14151617181920
21222324252627
28293031  

アプリ情報

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