目次
Claude Code と claude.md とは
Claude Codeは、Anthropic社が提供するAI支援型コーディングツールです。開発者がターミナルから直接Claudeにコーディングタスクを委譲できる革新的なソリューションとして注目を集めています。
プロジェクト構成の中核となるのがclaude.md
ファイルです。このMarkdown形式のドキュメントは、以下の役割を担います:
- プロジェクトの全体像をClaudeに伝える「仕様書」
- AIモデルへの指示を体系的にまとめた「設計書」
- 出力品質を保証するための「ガイドライン」
claude.md
は単なるREADMEではありません。AIモデルが理解しやすい形式で情報を構造化し、一貫性のある高品質な出力を実現するための重要なインターフェースとなります。
記事の目的と想定読者
本記事は、以下のような方々を対象としています:
主な想定読者
- Claudeを活用したアプリケーション開発に着手するエンジニア
- AIとの協働を最適化したいテクニカルライター
- 社内標準ドキュメントを整備したい開発チームのリーダー
- プロンプトエンジニアリングの体系化に取り組む技術者
本記事を読むことで、効果的なclaude.md
の作成方法を習得し、AIとの対話品質を大幅に向上させることができます。
claude.md に盛り込むべき 7 つの基本セクション
効果的なclaude.md
を作成するには、以下の7つのセクションを必ず含めることが重要です。
1. メタデータブロック
プロジェクトの基本情報を明確に記載します:
- プロジェクト名
- バージョン番号
- ライセンス情報
- 作成日・更新日
2. コンテキスト(背景)
プロダクトの目的とユースケースを簡潔に説明します。Claudeがプロジェクトの文脈を正確に理解できるよう、具体的かつ明確に記述することが重要です。
3. コア機能仕様
技術的な詳細を含む主要機能の説明:
- APIエンドポイントの定義
- データフローの図解
- 依存ライブラリとバージョン
4. プロンプト設計指針
AIとの対話を最適化するための指示:
- システム指示の記述方法
- ユーザー入力の想定パターン
- サンプルI/Oフォーマット
5. 制約 & ガードレール
出力の品質と安全性を保証するためのルール:
- トークン上限の設定
- 禁止トピックの明示
- 出力スタイルの規定
6. 評価・テストケース
品質保証のための検証方法:
- 自動テスト(unit/scenario)の定義
- 手動チェックリストの作成
7. 更新履歴 (Changelog)
バージョン管理のベストプラクティス(Semantic Versioning推奨)に従った変更履歴の記録。
💡 Tip: まず「最低限この7項目」を書き切ると、Claudeが誤解しにくいプロンプト設計書が完成します。
セクション別 書き方ガイド
メタデータブロックを YAML 形式で書く理由
YAML形式でメタデータを記述することで、機械的な解析が容易になります。構造化されたデータは、Claudeが情報を正確に把握するのに役立ちます。
yaml
---
project_name: "AI Chat Assistant"
version: "2.1.0"
license: "MIT"
created_date: "2025-01-15"
updated_date: "2025-08-01"
---
コンテキストを 3 行で要約するテクニック
コンテキストセクションは簡潔さが鍵です。以下の3点を1行ずつで表現します:
- What: プロダクトが何であるか
- Why: なぜ必要なのか
- Who: 誰のためのものか
例:
markdown
## Context
- **What**: カスタマーサポート向けAIチャットボット
- **Why**: 24時間365日の顧客対応を実現し、対応品質を標準化
- **Who**: ECサイトの顧客サポートチームと利用者
プロンプト設計 — システム指示 vs. ユーザ指示 の書き分け
システム指示は、Claudeの基本的な振る舞いを定義します:
markdown
### System Instructions
あなたは親切で専門的なカスタマーサポート担当者です。
常に敬語を使い、解決策を具体的に提示してください。
ユーザ指示は、実際の入力パターンを示します:
markdown
### User Input Patterns
- 商品に関する質問: "〇〇の在庫はありますか?"
- 返品・交換依頼: "商品を返品したいのですが..."
- 技術的なトラブル: "ログインできません"
制約の表現 — “DO / DON’T” リストが効くケース
明確な指示を与えるために、DO/DON’T形式が効果的です:
markdown
### Constraints
#### DO:
- ✓ 具体的な解決策を提示する
- ✓ 必要に応じて関連部署への連絡を提案
- ✓ 共感的な言葉遣いを心がける
#### DON'T:
- ✗ 個人情報を要求する
- ✗ 技術的すぎる専門用語を使う
- ✗ 確証のない情報を断定的に伝える
評価指標を自動判定する簡易スクリプト例
品質チェックを自動化するスクリプトの例:
python
def validate_response(response):
checks = {
"politeness": any(word in response for word in ["ありがとう", "申し訳", "恐れ入り"]),
"solution_provided": "解決" in response or "対応" in response,
"length_appropriate": 50 <= len(response) <= 300
}
return all(checks.values()), checks
claude.md テンプレート(サンプル全文)
以下は、実際のプロジェクトで使用できるclaude.md
のテンプレートです:
markdown
---
project_name: "Customer Support AI Assistant"
version: "1.0.0"
license: "MIT"
created_date: "2025-08-01"
updated_date: "2025-08-01"
---
# Customer Support AI Assistant
## 1. Context
<!-- プロジェクトの背景を3行で要約 -->
- **What**: ECサイト向けAIカスタマーサポートシステム
- **Why**: 24/7対応による顧客満足度向上とサポートコスト削減
- **Who**: オンラインショッピング利用者とカスタマーサポートチーム
## 2. Core Features
<!-- 主要機能を箇条書きで列挙 -->
### 2.1 Supported Queries
- 商品情報照会
- 注文状況確認
- 返品・交換手続き
- 技術的トラブルシューティング
### 2.2 Integration Points
```yaml
endpoints:
- /api/chat/message
- /api/order/status
- /api/product/search
dependencies:
- openai: "^3.0.0"
- express: "^4.18.0"
3. Prompt Design Guidelines
<!– システム指示とユーザー入力パターンを明確に分離 –>
3.1 System Instructions
あなたは親切で知識豊富なカスタマーサポート担当者です。
以下の原則に従って対応してください:
1. 常に丁寧な敬語を使用
2. 具体的で実行可能な解決策を提示
3. 不明な点は確認を求める
3.2 User Input Examples
入力: "注文した商品がまだ届きません"
出力: "ご注文の商品についてお調べいたします。恐れ入りますが、ご注文番号をお教えいただけますでしょうか?"
4. Constraints & Guardrails
<!– 制約事項をDO/DON’T形式で記載 –>
DO:
- ✓ 150文字以内で簡潔に回答
- ✓ 不明な場合は人間のオペレーターへの引き継ぎを提案
- ✓ プライバシーに配慮した対応
DON’T:
- ✗ 個人情報(クレジットカード番号等)を要求
- ✗ 医療・法律に関する専門的アドバイス
- ✗ 他社製品の批判
5. Evaluation Criteria
<!– テストケースと評価基準 –>
5.1 Automated Tests
python
test_cases = [
{
"input": "商品が壊れていました",
"expected_keywords": ["申し訳", "交換", "返品"],
"max_length": 200
}
]
5.2 Manual Checklist
- 回答は顧客の問題を解決しているか
- 適切な敬語が使用されているか
- 次のアクションが明確か
6. Changelog
<!– バージョン履歴をSemantic Versioningで管理 –>
[1.0.0] – 2025-08-01
- 初回リリース
- 基本的な問い合わせ対応機能を実装
## よくある落とし穴と対処法
| 落とし穴 | 症状 | 解決策 |
|---------|------|--------|
| セクション不足 | Claudeが意図外の回答をする | 最低7セクションを網羅 |
| 文章が冗長 | トークン消費が肥大化 | 箇条書き+コードブロックで簡潔に |
| ルールが曖昧 | 出力ゆらぎが大きい | "具体例→ルール→例外"の順で記載 |
## 進化する claude.md — 継続的ドキュメント管理
### Git リポジトリと CI による自動バリデーション
`claude.md`をGitで管理し、CI/CDパイプラインで自動検証を実施することで、品質を保証できます。GitHub Actionsの例:
```yaml
name: Validate claude.md
on: [push, pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Validate structure
run: python scripts/validate_claude_md.py
Claude へのフィードバックループの回し方
継続的な改善のためのプロセス:
- 実行ログの収集: 実際の対話ログを蓄積
- 品質評価: 定期的なレビューセッション
- ドキュメント更新: 発見した問題点を
claude.md
に反映 - A/Bテスト: 異なるバージョンでの比較検証
チーム協業を円滑にするレビュー観点チェックリスト
プルリクエストレビュー時の確認項目:
- 7つの基本セクションがすべて含まれているか
- 具体例が十分に提供されているか
- 制約事項が明確に定義されているか
- バージョン情報が適切に更新されているか
- テストケースが実用的で検証可能か
まとめ
claude.md
は、AIモデルとの効果的な対話を実現するための重要なドキュメントです。「設計書 × QA × 仕様書」のハイブリッドとして活用することで、以下のメリットが得られます:
- 一貫性のある出力: 明確な指示により品質が安定
- 開発効率の向上: AIとの対話が予測可能に
- チーム協業の円滑化: 共通理解の基盤として機能
ベストプラクティスは「短く具体的に、例を添える」ことです。冗長な説明よりも、実例とコードサンプルを活用した簡潔な記述が効果的です。
次のステップ:
- 本記事のテンプレートを実プロジェクトに適用
- CIパイプラインで自動検証を設定
- チームでのレビュープロセスを確立
- 継続的な改善サイクルを回す
claude.md
を適切に作成・管理することで、AIとの協働がより生産的で価値あるものになります。今すぐ始めて、開発プロセスの革新を実現しましょう。