1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIコーディングエージェントへの「指示力」完全ガイド — CLAUDE.md / .cursor/rules / Copilot Instructionsの設計術

1
Posted at

AIコーディングエージェントへの「指示力」完全ガイド — CLAUDE.md / .cursor/rules / Copilot Instructionsの設計術

Cursor、Claude Code、GitHub Copilot。どのAIコーディングツールを使っていても、成果の差はツールの性能ではなく「指示の質」で決まる

これは3ヶ月間、3つのツールを併用して実感したことだ。同じ機能を実装させても、指示ファイルの書き方ひとつで出力の精度がまるで違う。

この記事では、各ツールの指示システム(CLAUDE.md、.cursor/rules、Copilot Instructions)の設計パターンと実践ノウハウをまとめる。ツール横断で使える考え方に焦点を当てた。

3つのツールの指示システム比較

まず、各ツールがどんな仕組みで「指示」を読み込むのか整理する。

Claude Code Cursor GitHub Copilot
指示ファイル CLAUDE.md .cursor/rules/*.mdc .github/copilot-instructions.md
読み込みタイミング セッション開始時 ルールタイプ別 チャット/インライン時
スコープ User / Project / Local User Rules / Project Rules リポジトリ単位
補助機能 Skills, Hooks, Memory Auto Attached, Agent Requested
バージョン管理 git推奨 .cursor/rules/をgit管理 .github/をgit管理

共通原則: 良い指示ファイルの条件

ツールが違っても、効果的な指示ファイルの原則は同じだ。

1. 短く、本質だけ書く

これが一番重要。1行ごとに「これを削除したらAIが間違えるか?」と自問する。答えがNoなら削る。

指示が長すぎるとAIは無視し始める。CLAUDE.mdもCursorルールも、肥大化すると逆効果になる。

❌ 悪い例:
「このプロジェクトはReactとTypeScriptを使っています。
 Reactは2013年にFacebookが開発したUIライブラリで...」

✅ 良い例:
「React 19 + TypeScript 5.7 + Next.js 15。
 Server Componentsデフォルト。Client Componentは'use client'必須。」

2. AIが推測できないことだけ書く

コードの構文規則やフレームワークの基本的な使い方は、AIはすでに知っている。書くべきはプロジェクト固有の暗黙知だ。

  • ビルド・テストコマンド: npm run test:unit -- --watch
  • ドメイン用語: 「ユーザー = テナント管理者を指す。エンドユーザーではない」
  • アーキテクチャ上の制約: 「APIレスポンスは必ずcamelCaseに変換してからstoreに入れる」
  • 避けるべきパターン: 「any型は禁止。unknownを使う」

3. 肯定形で書く

「〜するな」より「〜する」の方がAIは従いやすい。

❌ 「console.logを使わないでください」
✅ 「ログ出力はlogger.info/warn/errorを使う」

4. バージョン管理に入れる

指示ファイルはコードと同じようにgit管理する。チームメンバー全員が同じ指示を使うべきだし、変更履歴が追えることで「この指示を追加したらAIの挙動が改善した」という検証ができる。

Claude Code: CLAUDE.mdの設計

階層構造

CLAUDE.mdは複数の場所に配置できる:

~/.claude/CLAUDE.md          → 全プロジェクト共通(個人設定)
./CLAUDE.md                  → プロジェクトルート(チーム共有)
./src/CLAUDE.md              → サブディレクトリ(オンデマンド読み込み)

設計方針: ルートのCLAUDE.mdは全タスクに共通する内容だけ。サブディレクトリは必要に応じて読み込まれるので、ドメイン特化の知識はそちらに。

/initで始める

空のCLAUDE.mdを一から書く必要はない。/init コマンドがプロジェクト構造を解析して、ビルドシステム・テストフレームワーク・コードパターンを検出したスターターファイルを生成してくれる。ここから削って磨くのが効率的。

CLAUDE.md vs Skills vs Hooks

CLAUDE.mdに全部書くと肥大化する。使い分けはこうだ:

  • CLAUDE.md: 全タスクに適用される基本ルール(コードスタイル、コマンド、禁止パターン)
  • Skills: 特定タスクにのみ必要な手順書(「デプロイ手順」「DBマイグレーション手順」など)。Skillの説明がマッチした時だけ読み込まれる
  • Hooks: 100%確実に実行すべきアクション(「コミット前にlint実行」など)。CLAUDE.mdは助言だが、Hooksは確定動作

強調の使い方

Claude Codeは「IMPORTANT」や「YOU MUST」に反応する。ただし乱用すると効果が薄れる。本当に守らせたいルールだけに使う。

## コードスタイル
- TypeScript strictモードを維持する
- IMPORTANT: エラーハンドリングではtry-catchを使い、catchブロックでは必ずログを残す

Cursor: .cursor/rules/ の設計

2026年のルール構造

2026年現在、.cursorrules(単一ファイル)は非推奨。.cursor/rules/ディレクトリに複数の.mdcファイルで管理するのが正解。

.cursor/rules/
├── core.mdc              → 常に適用
├── react-components.mdc  → .tsx編集時に自動適用
├── api-design.mdc        → API関連ファイル時に自動適用
├── testing.mdc           → テストファイル時に自動適用
└── performance.mdc       → 手動で有効化

アクティベーションタイプ

ここがCursorの強み。ルールの発動条件を4種類から選べる:

  • Always: 常時適用。コアルール向け。ただし増やしすぎるとトークン消費が増える
  • Auto Attached: ファイルタイプで自動適用。「.tsxファイルならReactルール適用」。一番使う
  • Agent Requested: AIが会話内容から必要性を判断。補助的なルール向け
  • Manual: 明示的に指定時のみ。特殊シナリオ向け

実運用では Auto Attached 80% + Always 10% + 残り10% くらいのバランスがちょうどいい。

500行以内に抑える

.mdcファイルは500行以内が目安。長すぎるとAIが指示を見落とす。分割して役割を明確にする方が効果的だ。

GitHub Copilot: copilot-instructions.mdの設計

仕組み

.github/copilot-instructions.mdにMarkdownで記述する。構造はシンプルで、Claude CodeやCursorほどの階層管理はない。

特徴と限界

  • チャットとインラインの両方で参照される
  • ファイルタイプ別の自動適用のような細かい制御はない
  • 短く汎用的な指示を書くのが現実的

Copilotの場合は指示ファイルよりも、コード内のコメントやJSDocが効果的なことが多い。コードに近い場所に意図を書くスタイルが合っている。

実践パターン: 指示レベル5段階

どのツールでも使える、指示の詳細度を5段階に分類した:

Level 1: ゼロ指示

「ログイン機能を作って」 → AIが全部推測。品質はガチャ。

Level 2: 技術スタック指定

「React + Firebase Authでログイン機能を作って」 → フレームワーク選定はAI任せではなくなる。

Level 3: パターン指定

「React Hook Formでバリデーション、Zodでスキーマ定義、エラーはtoastで表示」 → かなり具体的。ここまで書くと安定する。

Level 4: 既存コードの参照

「src/features/signup/の実装パターンに合わせてログイン機能を作って」 → 既存コードが最高のプロンプトになる。

Level 5: テスト込みの完全指示

Level 4 + 「テストはVitest、カバレッジ80%以上、エラーケース5パターン含む」 → 最も確実だが、ここまで書くなら自分で書いた方が速い場合もある。

推奨はLevel 3〜4。指示のコスト対効果が最も高い。

やりがちなミスとその対策

1. 指示ファイルの肥大化

追記し続けて500行超えになるパターン。定期的に「この行、最近のタスクで参照されたか?」を確認して刈り込む。

2. 矛盾する指示

「簡潔に書け」と「詳細なコメントを残せ」が同居していると、AIは混乱する。指示同士の整合性を保つ。

3. 具体例の不足

「きれいなコードを書け」では伝わらない。具体的なコード例を1つ見せる方が100倍効果的。

4. ツールの特性を無視

Cursorのルールは .mdc ファイルに分割できるのに、全部1ファイルに書く。Claude CodeにはSkillsやHooksがあるのに、CLAUDE.mdだけで管理する。ツールの機能を活かす。

まとめ

AIコーディングエージェントは、指示の精度で生産性が劇的に変わる。ポイントは3つ:

  1. 短く、本質だけ: 肥大化した指示ファイルは逆効果
  2. ツールの機能を活かす: CLAUDE.md + Skills + Hooks、.cursor/rules/ のアクティベーションタイプなど
  3. Level 3-4で指示する: 技術スタック + パターン + 既存コード参照が最も効率的

指示ファイルの設計にこだわるのは、一見「面倒」に見える。しかし一度整備すれば、それ以降の全タスクの品質が上がる。指示ファイルは最もROIの高いコードだ。


環境情報

  • Claude Code v2.1.42 / Cursor 0.45+ / GitHub Copilot
  • 2026年2月時点の情報
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?