単発のプロンプトからワークフローへ:GitHub Copilot CLI でカスタムエージェントを使用する方法
GitHub Copilot CLI にカスタムエージェント機能が導入され、開発者はMarkdownファイルでエージェントプロファイルを定義し、チームのコンテキストを繰り返し可能でレビュー可能なワークフローにエンコードできます。本記事では、カスタムエージェントの概念、作成方法、使用例(セキュリティ監査、IaCコンプライアンス、リリースドキュメント生成)を詳しく説明します。
GitHub Copilot CLI にカスタムエージェント機能が追加されました。これにより、開発者はチームの標準やコンテキストをエンコードした繰り返し可能でレビュー可能なワークフローを定義できます。ターミナルを単なるコマンド実行ツールから、チームの技術スタックや開発プロセスを理解するインテリジェントアシスタントに変えることができます。
カスタムエージェントとは?
カスタムエージェントは、Markdownファイルで定義できるCopilotエージェントです。汎用的な動作に依存するのではなく、エージェントの操作方法、使用できるツール、従うべき基準、生成すべき出力を記述します。その結果、どこで実行しても一貫した動作が保証されます。
作成する各コーディングエージェントは、特定のタスクに合わせた専門エージェントとして機能します。例えば、汎用コーディングエージェントはコードのクリーンアップ方法を提案するかもしれませんが、カスタムエージェントは実行のたびに書式ルール、ツール、アクセシビリティ基準、レビュー要件、安全要件を適用できます。
カスタムエージェントは、リポジトリに直接配置されるエージェントプロファイルを使用して定義されます。Markdownで記述されたこれらのエージェントプロファイルでは、エージェントの役割と専門分野、アクセス可能なツール、出力を安全かつ一貫性のあるものにするガードレールを指定できます。
例えば、「アクセシビリティエキスパート」エージェントのプロファイルの冒頭は次のようになります:
--- description: 'Expert assistant for web accessibility (WCAG 2.1/2.2), inclusive UX, and a11y testing' name: 'Accessibility Expert' model: GPT-4.1 tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI']
エージェントプロファイルがリポジトリ内にあるため、チームはそれをレビュー、バージョン管理、共有でき、CLIからIDE、そしてGitHub上のプルリクエストに至るまで同じ期待が反映されます。
GitHub Copilot CLIでのカスタムエージェントの使い方
GitHub Copilot CLIは、スクリプトの実行、APIの呼び出し、リポジトリとの直接連携を既にサポートしているため、エージェント駆動の作業に適しています。ここでエージェントを定義することで、実行負荷の高いワークフローを一度エンコードし、ターミナルから呼び出すことで、Copilot CLIをさらにカスタマイズできます。エージェントは毎回同じ方法でワークフローを実行します。
新しいカスタムエージェントを追加するには、以下の手順が必要です:
- Copilot CLIからエージェントを呼び出す。ターミナルでCopilot CLIを実行し、
/agentコマンドを使用します。使用するカスタムエージェントを選択します。
- 対象リポジトリの
.github/agentsディレクトリにエージェントプロファイルを作成します。エージェントプロファイルはYAMLフロントマターを含むMarkdownファイルで、エージェントの役割、スコープ、機能、ガードレールを定義し、ワークフロー内で一貫した動作を保証します。エージェントプロファイルのファイル名は.agent.mdで終わります(例:accessibility.agent.md)。
エージェントプロファイルはリポジトリ内のファイルであるため、レビュー、更新、共有が可能です。
カスタムエージェントで自動化できる一般的なワークフロー
カスタムエージェントの導入は、チームがすでに繰り返し行っているタスクから始めるのが最適です。これらのタスクの多くはターミナルから始まり、IDEやGitHub上で継続されます。
以下にいくつかの実用的なシナリオを示します:
- セキュリティ監査エージェント:リポジトリ全体でチームの標準セキュリティチェックを実行し、重要度ごとに結果を要約し、所有者と次のステップを含むプルリクエスト準備完了のチェックリストを出力します。
- IaCコンプライアンスエージェント:組織のガードレールとポリシーに照らしてTerraform計画とKubernetesマニフェストをレビューします。リスクの高い変更を強調表示し、承認準備完了の簡潔なサマリーを生成します。
- リリースドキュメントエージェント:前回のリリース以降にマージされたプルリクエストを収集し、分類し、チームのスタイルでリリースノートを作成します。リポジトリのCHANGELOG.mdを更新し、テスト、移行、ロールバックに関する短いリリースチェックリストを含めます。
カスタムエージェントにより、チームは反復的なタスクを標準化し、コンテキストスイッチを減らし、効率を向上させることができます。簡単なタスクから始めて、徐々に複雑な自動化ワークフローを構築していくことをお勧めします。