カスタマイズ
AIモデルは幅広い一般的な知識を持っていますが、あなたのコードベースやチームの慣習は知りません。AIを「優秀な新しいチームメンバー」だと考えてみてください。素晴らしいコードを書きますが、あなたのコーディング規約、アーキテクチャの決定事項、推奨ライブラリについては知りません。カスタマイズは、そうしたコンテキストを共有し、AIの回答をあなたのコーディング標準、プロジェクト構造、ワークフローに一致させるための手段です。
この記事では、さまざまなカスタマイズオプションとその使い分けについて説明します。ステップバイステップの設定方法については、各セクションからリンクされている個別のガイドを参照してください。
カスタマイズオプションの概要
| 目的 | 用途 | 例 | 起動タイミング |
|---|---|---|---|
| コーディング標準の全体適用 | 常時有効な指示 | ESLintルールの強制、JSDocコメントの必須化 | すべてのリクエストに自動的に含まれる |
| ファイルタイプ別のルール設定 | ファイルベースの指示 | .tsxファイルに対するReactパターン |
ファイルがパターンや説明と一致したとき |
| 繰り返し実行するタスクの再利用 | プロンプト ファイル | Reactコンポーネントの雛形作成 | スラッシュコマンドを呼び出したとき |
| 多段階ワークフローのスクリプト化 | エージェントスキル | テスト、リント、デプロイのパイプライン | タスクがスキルの説明と一致したとき |
| ツール制限付きの専門AIペルソナ | カスタムエージェント | セキュリティレビュー担当、データベース管理者 | 選択したとき、または他のエージェントから委譲されたとき |
| 外部APIやデータベースへの接続 | MCP | PostgreSQLデータベースへのクエリ実行 | タスクがツールの説明と一致したとき |
| エージェントのライフサイクルでのタスク自動化 | フック | ファイル編集のたびにフォーマッタを実行 | エージェントが一致するライフサイクルイベントに到達したとき |
| パッケージ化されたカスタマイズのインストール | エージェントプラグイン | コミュニティのテストプラグインのインストール | プラグインをインストールしたとき |
まずはプロジェクト全体で適用される「カスタム指示」から始めましょう。繰り返しタスクがある場合は「プロンプトファイル」を追加し、外部データが必要な場合は「MCP」を使用してください。専門的なペルソナには「カスタムエージェント」を作成します。ニーズの拡大に合わせて、複数のカスタマイズタイプを組み合わせることも可能です。
カスタム指示
カスタム指示は、コーディング標準やプロジェクトのコンテキストを定義するMarkdownファイルです。AIはこれらをチャットのリクエストに自動的に含めるため、毎回プロンプトでルールを繰り返す必要はありません。指示は最も簡単に設定できるカスタマイズであり、最初に始めるのに最適です。
2つのタイプがあります
- 常時有効な指示:
.github/copilot-instructions.mdで定義されるプロジェクト全体のルールで、すべてのリクエストに適用されます。コードスタイル、命名規則、推奨ライブラリなど、チーム全体が従う規約に使用します。 - ファイルベースの指示:
.instructions.mdファイル内のガイドラインで、ファイルパスのパターンやタスクの説明に基づいて適用されます。.tsxファイル用のReactパターンや、バックエンドのAPI規約など、コードベースの特定の部分で異なるルールが必要な場合に使用します。
カスタム指示の作成について詳しく学ぶ。
プロンプト ファイル
プロンプトファイルは、特定のタスクをコード化した再利用可能なMarkdownファイルであり、チャット内でスラッシュコマンドとして表示されます。同じようなプロンプトを何度も入力していることに気づいたら、プロンプトファイルを使うことでワンステップのコマンドに変換できます。各プロンプトファイルは、特定のファイル、ツール、コンテキストを参照し、タスクに必要な情報をすべてAIに提供できます。
プロンプトファイルは、コンポーネントの新規作成、モジュールのテストケース生成、プルリクエストの説明作成といったタスクに役立ちます。
プロンプトファイルの作成について詳しく学ぶ。
エージェントスキル
エージェントスキルは、指示、スクリプト、リソースを含むフォルダとして、多段階の機能をパッケージ化します。単一のプロンプトを提供するプロンプトファイルとは異なり、スキルはAPIドキュメントの生成、セキュリティ監査の実行、データベース移行など、ドメイン特化型のタスクを行うための完全なツールキットをAIに提供します。
スキルは、タスクがその説明と一致したときにオンデマンドで読み込まれます。これらはオープン標準に基づいて構築されているため、同じスキルを異なるエージェントタイプ間で利用できます。
エージェントスキルの作成について詳しく学ぶ。
カスタムエージェント
カスタムエージェントは、特定の役割に対してAIに独自のペルソナと制限されたツールセットを与えます。例えば、セキュリティレビュー担当エージェントはコード分析ツールのみにアクセスしてセキュリティ重視の指示に従い、データベース管理者エージェントはMCP経由でデータベースに接続し、スキーマの規約に従うといったことが可能です。
各エージェントは、その動作、利用可能なツール、言語モデルのプリファレンスを指定する .agent.md ファイルで定義されます。エージェントは他のエージェントにタスクを委譲することもでき、専門家がタスクの各部分を担当する多段階ワークフローが可能になります。
カスタムエージェントの作成について詳しく学ぶ。
MCP
Model Context Protocol (MCP) は、AIを外部ツールやデータソースに接続するためのオープン標準です。MCPがなければ、AIはコードとターミナルのみを扱えます。MCPサーバーは、データベースへのクエリ、APIの呼び出し、クラウドサービスとの対話、その他あらゆる外部システムへのアクセスを可能にするツールを提供することで、AIの可能性を広げます。
MCPサーバーはローカルまたはリモートで実行され、リソース、プロンプト、インタラクティブなアプリを提供することもできます。
MCPサーバーの追加と管理について詳しく学ぶ。
フック
フックは、エージェントセッション中の特定の時点でカスタムシェルコマンドを実行します。指示やプロンプトがAIの動作を誘導するのに対し、フックは定義されたライフサイクルポイントで確実にコードを実行させます。ファイル編集後のフォーマッタ自動実行、リントエラー時のコミットブロック、監査ログのための全ツール呼び出し記録など、決定論的な結果が必要な場合にフックは最適な選択肢です。
フックの設定について詳しく学ぶ。
エージェントプラグイン
エージェントプラグインは、プラグインマーケットプレイスから検出およびインストールできる、カスタマイズを事前にパッケージ化したバンドルです。すべてを自分で構築する代わりに、スラッシュコマンド、スキル、カスタムエージェント、フック、MCPサーバーが組み合わさったプラグインをインストールできます。プラグインは、コミュニティのベストプラクティスを取り入れたり、社内ツールをチーム間で共有したりするのに役立ちます。
エージェントプラグインは現在プレビュー段階です。
エージェントプラグインについて詳しく学ぶ。