カスタムインストラクション
プロジェクトや個人のルール・規約をAIエージェントに伝えるための設定ファイル。AIの出力品質を向上させ、一貫した動作を実現する仕組み。
動機
LLMへの出力品質は入力(コンテキスト)で決まる。毎回「うちではこういうスタイルで書いて」と伝えるのは非効率であり、プロジェクト固有のルールをファイルとして定義しておくことで:
- チーム全体で一貫したAI支援が受けられる
- ルールの変更がバージョン管理できる
- 新メンバーのオンボーディングにも活用できる
主なファイル形式
GitHub Copilot
| ファイル | スコープ |
|---|---|
.github/copilot-instructions.md |
リポジトリ全体 |
*.instructions.md(applyTo指定) |
特定パスパターン |
AGENTS.md(ネスト配置) |
ディレクトリ単位(モノレポ対応) |
Claude Code
| ファイル | スコープ |
|---|---|
CLAUDE.md(リポジトリルート) |
プロジェクト全体 |
.claude/CLAUDE.md |
Claude固有設定 |
記述内容の例
# コーディング規約
- TypeScriptを使用し、`any`型は禁止
- 関数にはJSDocコメントを付ける
- エラーハンドリングには必ずtry-catchを使う
- テストはVitestで書く
---
applyTo: "src/components/**/*.tsx"
---
# Reactコンポーネントのルール
- 関数コンポーネントのみ使用
- Propsの型は`XxxProps`の命名規則
Progressive Disclosureとの関係
多数のインストラクションファイルがある場合、段階的開示の概念が適用される:
- エージェントがタスクを解析
- 現在の編集対象ファイルのパスに適合するファイルのみを読み込む(
applyTo) - 関連するルールのみがコンテキストに追加される
この仕組みにより、「全ルールを常にコンテキストに載せてトークンを消費する」問題を回避できる。
Agent Workspaceとの関係
カスタムインストラクションは、より広いAgent Workspace設計の一部を担う:
- インストラクション → エージェントが守るべきルール(CLAUDE.md等)
- Skills → エージェントが実行できる手順(SKILL.md)
- Memory → エージェントが覚えておく情報