AIに効率的に読ませるMarkdownドキュメントの書き方:コンテキストサイズを抑える実践ガイド
この記事はAIによって生成されています。内容の正確性は保証されず、記事の利用による損害について一切の責任を負いません。この記事を読み進めることで、利用規約に同意したものとみなされます。
- 想定読者: Python/JavaScript開発者、AIツール(Claude、ChatGPT、Cursor等)を業務で使用するエンジニア
- 前提知識: Markdown基礎、AI開発ツールの基本的な使用経験
- 所要時間: 15分
概要
Claude、ChatGPT、Cursorなどの大規模言語モデル(LLM)を開発に活用する際、プロジェクトのドキュメント(CLAUDE.md、README.md、プロンプトテンプレート等)をどう書くかが、AI の応答品質とコスト効率に直結します。本記事では、2024-2025年の最新研究とベストプラクティスに基づき、コンテキストサイズを最小化しながら情報密度を最大化するMarkdown記述法を解説します[1][2][3]。
注: 本記事の推奨事項はAI(LLM)が読むことを最優先した最適化手法を解説しています。
なぜコンテキストサイズを意識すべきか
コンテキストウィンドウの現状(2025年11月時点)
主要LLMのコンテキストウィンドウは以下の通りです[4][5]:
Claude:
- 有料プラン: 200K tokens(約50万文字、500ページ相当)
- エンタープライズ: 500K tokens(Claude Sonnet 4.5)
- API ベータ版: 1M tokens(Claude Sonnet 4、Tier 4以上)
ChatGPT/GPT-4o:
- Free: 8K tokens
- Plus: 32K tokens
- Pro/Enterprise: 128K tokens
- API: 128K tokens
コスト影響
Claude では 200K tokens を超えるリクエストに対してプレミアム料金が適用されます[4]:
- 入力トークン: 2倍
- 出力トークン: 1.5倍
パフォーマンス影響
大量のコンテキストを投入すると、以下の問題が発生します:
- 応答速度の低下
- 関連性の低い情報によるノイズ増加
- 精度の低下(特にRAGシステム)[1]
Markdownが選ばれる理由
1. トークン効率
Markdown は HTML、XML、JSON と比較して20-30%のトークン削減が可能です[2]。
1
2
3
4
5
6
7
8
9
10
11
# ❌ HTML(冗長)
<h1>タイトル</h1>
<ul>
<li>項目1</li>
<li>項目2</li>
</ul>
# ✅ Markdown(簡潔)
# タイトル
- 項目1
- 項目2
理由:
- Markdownの記号(
#,*,-,|)は多くの場合単一トークンに変換される[7] - 閉じタグが不要
- 属性記述のオーバーヘッドがない
2. LLMのトークン化プロセス
OpenAIのtiktokenやClaudeのトークナイザーは、Byte Pair Encoding(BPE)を使用してテキストをトークンに分割します[7][8]:
- UTF-8エンコーディングでバイト列に変換
- 事前定義された正規表現パターンで事前トークン化(単語境界で分割)
- BPEアルゴリズムで頻出バイト列を結合
Markdownの構造記号は頻出パターンとして学習されているため、効率的にトークン化されます。
3. RAG検索精度の向上
Clean MarkdownはRAG検索精度を最大35%向上させ、トークン使用を20-30%削減できることが報告されています[2]。
コンテキスト効率的なMarkdownの書き方
1. 見出し階層の最適化
原則: 明確な階層構造により、LLMが文書構造を瞬時に理解できるようにする[2]。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# ❌ 悪い例:フラットな構造
## 概要
これはプロジェクトの概要です。
## インストール
インストール方法です。
## 使い方
使い方です。
## APIリファレンス
APIの説明です。
# ✅ 良い例:階層的構造
## 概要
プロジェクトの簡潔な説明
## クイックスタート
### インストール
npm install project-name
### 基本的な使い方
const app = new App()
## APIリファレンス
### クラス:App
#### コンストラクタ
#### メソッド
効果:
- LLMがセクション間の関係を理解しやすい
- RAGシステムでのチャンク分割が最適化される
- 必要な情報へのナビゲーションが高速化
2. 冗長性の排除
原則: 簡潔なプロンプトで30-50%のトークン削減が可能[11][12]。
1
2
3
4
5
6
7
8
9
# ❌ 冗長な表現(推定200 tokens)
このプロジェクトは、ユーザーが簡単に使えるように設計された、
非常に便利で、かつ強力な機能を持つ、モダンなWebアプリケーション
フレームワークです。このフレームワークを使用することで、
開発者は迅速にアプリケーションを構築することができます。
# ✅ 簡潔な表現(推定80 tokens)
モダンWebアプリケーションフレームワーク。
シンプルなAPIで迅速な開発を実現。
削減テクニック:
- 修飾語の削減(「非常に」「とても」等)
- 重複表現の排除
- 受動態→能動態
- 冗長な接続詞の削減
3. リストと箇条書きの活用
原則: 散文より構造化されたリストの方がトークン効率が高い[11]。
1
2
3
4
5
6
7
8
9
10
11
12
# ❌ 散文形式(推定150 tokens)
このライブラリの主な機能としては、まず第一に高速な処理速度が
挙げられます。次に、型安全性が保証されている点も重要です。
さらに、プラグインによる拡張性も備えています。
# ✅ リスト形式(推定60 tokens)
主な機能:
- 高速処理
- 型安全性
- プラグイン拡張
詳細: [ドキュメント参照](./docs/features.md)
4. コードブロックの最適化
原則: 必要最小限のコード例のみを含め、詳細は外部ファイルを参照[13]。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# ❌ 冗長なコード例(推定300 tokens)
import { App } from 'framework'
import { Logger } from 'logger'
import { Config } from 'config'
const logger = new Logger()
const config = new Config({
port: 3000,
host: 'localhost',
debug: true
})
const app = new App(config, logger)
app.use(middleware1)
app.use(middleware2)
app.use(middleware3)
app.listen()
# ✅ 簡潔な例(推定100 tokens)
import { App } from 'framework'
const app = new App({ port: 3000 })
app.listen()
// 完全な例: examples/basic-setup.ts
5. 表のトークン効率化
Markdownの表はトークン消費が大きいため、最適化が重要です[14]。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ❌ 冗長な表(推定200 tokens)
| パラメータ名 | データ型 | デフォルト値 | 説明 |
|------------|---------|-----------|------|
| port | number | 3000 | サーバーがリッスンするポート番号 |
| host | string | localhost | サーバーのホスト名 |
| debug | boolean | false | デバッグモードを有効にするかどうか |
# ✅ 簡潔な表(推定120 tokens)
| パラメータ | 型 | デフォルト | 説明 |
|---------|----|---------|----|
| port | number | 3000 | リッスンポート |
| host | string | localhost | ホスト名 |
| debug | boolean | false | デバッグモード |
# または、複雑な表は外部参照
設定パラメータの完全リスト: [config.md](./docs/config.md)
6. ディレクトリ構造の表現
原則: ツリー罫線文字は人間向け、AI向けはインデントまたはリスト形式。
ツリー罫線文字(├──, │, └──)はUTF-8マルチバイト文字で、BPEトークナイザーで複数トークンに分割されるため非効率です。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# ❌ ツリー罫線(推定120-150 tokens、人間には視覚的)
project/
├── src/
│ ├── components/
│ ├── api/
│ └── utils/
├── tests/
└── docs/
# ✅ インデント(推定70-90 tokens、40%削減)
project/
src/
components/
api/
utils/
tests/
docs/
# ✅ リスト形式(推定60-80 tokens、50%削減)
- project/
- src/
- components/
- api/
- utils/
- tests/
- docs/
# ✅ パス表記(推定40-50 tokens、67%削減、コンパクト)
project/{src/{components,api,utils},tests,docs}
説明コメント付きの場合:
実務では各ディレクトリに説明を付けることが多く、その場合のトークン効率も考慮が必要です。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# ツリー罫線 + 説明(推定180-200 tokens)
project/
├── src/
│ ├── components/ # Reactコンポーネント
│ ├── api/ # APIエンドポイント
│ └── utils/ # ユーティリティ関数
├── tests/ # テストファイル
└── docs/ # ドキュメント
# インデント + 説明(推定110-130 tokens、40%削減)
project/
src/
components/ # Reactコンポーネント
api/ # APIエンドポイント
utils/ # ユーティリティ関数
tests/ # テストファイル
docs/ # ドキュメント
# リスト + 説明(推定100-120 tokens、45%削減)
- project/
- src/
- components/ - Reactコンポーネント
- api/ - APIエンドポイント
- utils/ - ユーティリティ関数
- tests/ - テストファイル
- docs/ - ドキュメント
# 表形式(推定90-110 tokens、50%削減、最も情報密度が高い)
| パス | 説明 |
|------|------|
| src/components/ | Reactコンポーネント |
| src/api/ | APIエンドポイント |
| src/utils/ | ユーティリティ関数 |
| tests/ | テストファイル |
| docs/ | ドキュメント |
使い分け:
- CLAUDE.md等AI向け: インデントまたはリスト形式
- README.md(人間+AI): インデント(視認性とトークン効率のバランス)
- 技術仕様書: パス表記(最もコンパクト)
トークン削減率について:
本セクションのトークン削減率(「推定120-150 tokens」「40%削減」等)は、典型的なディレクトリ構造を例にした理論的推定値です。実際の効果は構造の複雑さ、説明文の長さ、使用するトークナイザーによって異なります。導入前にご自身のプロジェクトで効果を測定することを推奨します。
注: 本記事は人間の読者向けのため、視認性の高いツリー罫線形式を使用していますが、AI向けドキュメントではインデント形式を推奨します。
7. 文字装飾の適切な使用
原則: セマンティックな意味を持つ装飾のみ使用し、過度な装飾を避ける[22][23]。
文字装飾(**太字**、*斜体*、`コード`)はLLMの理解を助けますが、装飾記号自体もトークンを消費します。Markdownの記号は単一トークンに変換されることが多いものの[7][8]、過度な使用は避けるべきです[24]。
1
2
3
4
5
6
7
8
9
10
11
12
# ❌ 過度な装飾(推定150 tokens)
**重要:** この**非常に重要な**機能は、***極めて***慎重に
使用する**必要があります**。**絶対に**忘れないでください。
# ✅ 適切な装飾(推定80 tokens)
**重要:** この機能は慎重に使用してください。
# ❌ 不要な装飾
このプロジェクトは*モダン*な*Web*アプリケーション*フレームワーク*です。
# ✅ 装飾なし(意味が明確)
このプロジェクトはモダンWebアプリケーションフレームワークです。
装飾を使うべき場合:
- 重要な警告や注意事項(
**警告:**) コマンド、ファイル名、変数名などの技術的要素- 強調したい専門用語(初出時のみ)
装飾を避けるべき場合:
- 単なる見た目の改善目的
- すべての文に装飾を施す
- 同じ段落内で複数回の強調
MarkdownとJSONの比較: MarkdownはJSONより15%トークン効率的です[25]:
- JSON: 13,869 tokens
- Markdown: 11,612 tokens
しかし、Markdown内で過度な装飾を使用すると、この利点が減少します。
8. セクション参照の活用
原則: 繰り返し説明せず、一度定義して参照する。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# ❌ 情報の重複(推定400 tokens)
## インストール
npm install framework
依存関係:
- Node.js 18以上
- npm 9以上
- TypeScript 5以上
## 開発環境のセットアップ
開発環境を構築するには、以下が必要です:
- Node.js 18以上
- npm 9以上
- TypeScript 5以上
# ✅ 参照による重複排除(推定200 tokens)
## 必要要件
- Node.js 18+
- npm 9+
- TypeScript 5+
## インストール
npm install framework
## 開発環境
必要要件を参照 → 必要要件セクション
9. キーバリューペアとラベル付きリストの最適化
原則: セマンティック性を保ちつつ、不要な装飾を削減する[26]。
**タイトル**: というパターンは技術ドキュメントで頻繁に見られますが、多くの場合、装飾は不要です。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# ❌ 不要な装飾(推定60 tokens)
**前提条件**:
- Node.js 18以上
- Docker環境
**インストール手順**:
1. リポジトリをクローン
2. 依存関係をインストール
**注意事項**:
- 本番環境では使用しないでください
# ✅ 改善案1: 見出しを使う(推定40 tokens、33%削減)
### 前提条件
- Node.js 18以上
- Docker環境
### インストール手順
1. リポジトリをクローン
2. 依存関係をインストール
### 注意事項
- 本番環境では使用しないでください
# ✅ 改善案2: 装飾なし(推定35 tokens、42%削減)
前提条件:
- Node.js 18以上
- Docker環境
インストール手順:
1. リポジトリをクローン
2. 依存関係をインストール
注意事項:
- 本番環境では使用しないでください
使い分けのガイドライン:
| パターン | 使用場面 | トークン効率 |
|---|---|---|
### タイトル | ドキュメントの主要セクション | 高(セマンティック性も高い) |
タイトル: | インラインラベル、短いリスト | 最高 |
**タイトル**: | 本当に強調が必要な警告・注意 | 低(必要最小限に) |
CLAUDE.md での実践例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# ❌ 過度な装飾
**プロジェクト名**: MyApp
**言語**: TypeScript
**フレームワーク**: React
**データベース**: PostgreSQL
# ✅ 見出しとリスト
## 技術スタック
- 言語: TypeScript
- フレームワーク: React
- DB: PostgreSQL
# ✅ コンパクトなインライン(短い場合)
プロジェクト: MyApp | 言語: TypeScript | DB: PostgreSQL
定義リスト(拡張構文)の活用:
一部のMarkdownパーサー(Pandoc、Jekyll等)は定義リスト(Definition List)をサポートしています[26]:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 定義リスト構文(サポートされている場合)
タイトル
: 説明文
API Key
: アプリケーションの認証に使用する秘密鍵
: 環境変数 `API_KEY` に設定してください
# レンダリング結果(HTML)
<dl>
<dt>API Key</dt>
<dd>アプリケーションの認証に使用する秘密鍵</dd>
<dd>環境変数 <code>API_KEY</code> に設定してください</dd>
</dl>
ただし、標準Markdownではサポートされていないため、互換性を重視する場合は見出しやリストを使用してください。
10. 関連ファイルへの参照とSSOT原則
原則: Single Source of Truth(SSOT)を維持し、必要最小限の相互参照のみ記載する[27][28]。
関連ファイルへの参照は、ナビゲーションに役立つ反面、トークンを消費し認知負荷を増やします。
SSOT(Single Source of Truth)原則
定義: すべての情報要素を一箇所のみで定義・管理し、他の場所では参照のみを行う[27][28]。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# ❌ SSOT違反:情報の重複(推定500 tokens)
<!-- README.md -->
## 前提条件
- Node.js 18以上
- Docker 20以上
- PostgreSQL 14以上
<!-- CONTRIBUTING.md -->
## 開発環境
開発には以下が必要です:
- Node.js 18以上
- Docker 20以上
- PostgreSQL 14以上
<!-- docs/setup.md -->
## セットアップ
以下をインストールしてください:
- Node.js 18以上
- Docker 20以上
- PostgreSQL 14以上
# ✅ SSOT準拠(推定200 tokens、60%削減)
<!-- README.md -->
## 前提条件
- Node.js 18+
- Docker 20+
- PostgreSQL 14+
詳細: [docs/setup.md](docs/setup.md)
<!-- CONTRIBUTING.md -->
## 開発環境
前提条件: [README.md](../README.md#前提条件)を参照
<!-- docs/setup.md -->
## セットアップ
前提条件を満たしていることを確認: [README.md](../README.md#前提条件)
インストール手順...
関連ファイル参照のベストプラクティス
1. 選択的な参照
すべての関連ファイルをリストアップせず、本当に必要な参照のみ記載します[29]:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ❌ 過度な相互参照(推定300 tokens)
## 関連ドキュメント
- [プロジェクト概要](./docs/overview.md)
- [アーキテクチャ](./docs/architecture.md)
- [API仕様](./docs/api.md)
- [データベーススキーマ](./docs/schema.md)
- [デプロイガイド](./docs/deploy.md)
- [トラブルシューティング](./docs/troubleshooting.md)
- [FAQ](./docs/faq.md)
- [変更履歴](./CHANGELOG.md)
- [ライセンス](./LICENSE)
- [行動規範](./CODE_OF_CONDUCT.md)
## See Also
- [Getting Started](./docs/getting-started.md)
- [Advanced Usage](./docs/advanced.md)
- [Examples](./examples/README.md)
# ✅ 必要最小限の参照(推定100 tokens、67%削減)
## 次のステップ
- クイックスタート: [docs/getting-started.md](docs/getting-started.md)
- API仕様: [docs/api.md](docs/api.md)
その他: [docs/](docs/) を参照
2. リンクテキストの簡潔化
リンクテキストは短く、重要な語を先頭に配置します[29]:
1
2
3
4
5
# ❌ 冗長なリンクテキスト
詳細については、[プロジェクトのアーキテクチャに関する包括的なドキュメント](docs/architecture.md)を参照してください。
# ✅ 簡潔なリンクテキスト
詳細: [アーキテクチャドキュメント](docs/architecture.md)
3. 同一ページ内の重複参照を避ける
同じリンク先への参照は、ページ内で最初の1回のみハイパーリンク化します[29]:
1
2
3
4
5
6
7
8
9
# ❌ 重複参照
[API仕様](docs/api.md)では、すべてのエンドポイントを説明しています。
認証については、[API仕様](docs/api.md)の認証セクションを参照してください。
エラーハンドリングは[API仕様](docs/api.md)で詳述されています。
# ✅ 最初の1回のみリンク
[API仕様](docs/api.md)では、すべてのエンドポイントを説明しています。
認証については、API仕様の認証セクションを参照してください。
エラーハンドリングはAPI仕様で詳述されています。
4. ディレクトリ構造による暗黙的関連性
明示的なリンクではなく、ディレクトリ構造で関連性を示します:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# ❌ すべてのファイルを列挙
## ドキュメント
- [概要](docs/overview.md)
- [インストール](docs/installation.md)
- [設定](docs/configuration.md)
- [使用方法](docs/usage.md)
- [API](docs/api.md)
- [CLI](docs/cli.md)
- [トラブルシューティング](docs/troubleshooting.md)
# ✅ ディレクトリ参照
## ドキュメント
クイックスタート: [docs/getting-started.md](docs/getting-started.md)
その他のドキュメント: [docs/](docs/) 参照
docs/
getting-started.md # クイックスタート
installation.md # インストール
configuration.md # 設定
usage.md # 使用方法
api.md # API仕様
troubleshooting.md # トラブルシューティング
CLAUDE.md での実践例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# ❌ 過度な関連ファイル列挙(推定400 tokens)
## 関連ドキュメント
### アーキテクチャ
- [全体アーキテクチャ](docs/architecture/overview.md)
- [フロントエンド設計](docs/architecture/frontend.md)
- [バックエンド設計](docs/architecture/backend.md)
- [データベース設計](docs/architecture/database.md)
### 開発ガイド
- [環境構築](docs/dev/setup.md)
- [コーディング規約](docs/dev/coding-style.md)
- [テスト戦略](docs/dev/testing.md)
- [CI/CD](docs/dev/cicd.md)
### API
- [REST API](docs/api/rest.md)
- [GraphQL API](docs/api/graphql.md)
- [WebSocket API](docs/api/websocket.md)
# ✅ 必要最小限の参照(推定120 tokens、70%削減)
## Claude へのガイダンス
**コード生成時:**
- 型安全性優先(コーディング規約: [CONTRIBUTING.md](CONTRIBUTING.md))
- API設計パターン: [docs/api/](docs/api/)
- テスト: [docs/dev/testing.md](docs/dev/testing.md)
**詳細ドキュメント:**
[docs/](docs/) 参照
AIへの指示における参照の最適化
AIにドキュメントを読ませる場合、必要なファイルのみを明示します:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ❌ すべてのドキュメントを列挙
以下のドキュメントを参照してください:
- README.md
- CONTRIBUTING.md
- docs/architecture.md
- docs/api.md
- docs/setup.md
- docs/coding-style.md
- docs/testing.md
(以下省略)
# ✅ 必要なファイルのみ指定
以下を参照してください:
- コーディング規約: CONTRIBUTING.md
- アーキテクチャ: docs/architecture.md
その他: 必要に応じて docs/ 内のファイルを参照
11. ファイル統合 vs 分割のトレードオフ
原則: AIシステムの種類に応じて、統合と分割を使い分ける[30][31][32]。
「複数の細かいファイルを一つにまとめる」ことは、状況によってトークン効率を大幅に改善することもあれば、悪化させることもあります。
ユースケース別の推奨アプローチ
| ユースケース | 推奨 | 理由 | トークン効率 |
|---|---|---|---|
| Claude Code(統合AI) | 統合 | 全体コンテキストを一度にロード[32] | 高(参照削減) |
| RAGシステム | 分割 | セマンティック検索で必要な部分のみ取得[31] | 高(不要情報除外) |
| ChatGPT Custom Instructions | 統合 | 毎回全体が読み込まれる | 高(参照削減) |
| AIエージェント(選択的読込) | 分割 | 必要なファイルのみを動的に読む | 高(必要最小限) |
| ドキュメントサイト | 分割 | ユーザーがトピック別に閲覧 | 中(人間向け) |
統合のメリット・デメリット
メリット:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Before: 3ファイル分割(合計600 tokens、計算例)
<!-- overview.md -->
# プロジェクト概要
...
詳細: [setup.md](setup.md)、[usage.md](usage.md)
<!-- setup.md -->
# セットアップ
概要: [overview.md](overview.md)を参照
使い方: [usage.md](usage.md)を参照
<!-- usage.md -->
# 使い方
概要: [overview.md](overview.md)を参照
セットアップ: [setup.md](setup.md)を参照
# After: 1ファイル統合(400 tokens、33%削減、計算例)
# プロジェクト概要
...
## セットアップ
...
## 使い方
...
削減できる要素:
- ファイル間の相互参照リンク
- 重複するヘッダー/フッター
- 繰り返される前提説明
- ナビゲーション用のセクション
Claude Code での推奨: 簡潔に保つ[32]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# CLAUDE.md(推奨: 簡潔に)
## プロジェクト概要
[簡潔に]
## 技術スタック
[リスト形式]
## コーディング規約
[要点のみ]
## Claude へのガイダンス
[具体的な指示]
# 必要に応じて @import で追加
@.claude/advanced-config.md
デメリット:
- ファイルが大きくなる(1,000行以上は避ける)
- 関心事の分離が難しい
- チーム編集時のコンフリクト増加
分割のメリット・デメリット
メリット:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# RAGシステムでの効果
<!-- 統合ファイル: 5,000 tokens -->
README.md(5,000 tokens)をベクトル化
→ ユーザー質問「認証方法は?」
→ 5,000 tokens全体から検索
→ 関連性の低い情報も含まれる可能性
<!-- 分割ファイル: 各500 tokens -->
- overview.md(500 tokens)
- authentication.md(500 tokens) ← マッチ!
- deployment.md(500 tokens)
...
→ ユーザー質問「認証方法は?」
→ authentication.md(500 tokens)のみ取得
→ 90%のトークン削減
RAGチャンキングベストプラクティス[31]:
- セマンティックチャンキング: 論理的境界(段落、セクション)で分割
- 固定サイズチャンキング: 100-300 tokens/chunk(小さいほど速いが精度低下)
- 文書ベースチャンキング: Markdown構造に基づいて分割
- オーバーラップ: 前後のチャンクと20-50 tokens重複させる
デメリット:
- ファイル間の参照記述が必要
- 全体を読む場合は非効率
- 管理が複雑になる
実践的な判断基準
統合すべき場合:
✅ 以下のすべてに該当する場合、統合を検討
- AIが毎回全体を読む(Claude Code、Custom Instructions等)
- ファイル合計が1,000 tokens以下
- トピックが密接に関連している
- 相互参照が多い(3箇所以上)
例: CLAUDE.md、プロンプトテンプレート、小規模プロジェクトのREADME
分割を維持すべき場合:
✅ 以下のいずれかに該当する場合、分割を維持
- RAGシステムで使用
- ファイル合計が2,000 tokens以上
- トピックが独立している
- 選択的な読み込みが可能(AIエージェント等)
例: 大規模ドキュメントサイト、API仕様、技術マニュアル
ハイブリッドアプローチ:階層的CLAUDE.md
Claude Codeは階層的なCLAUDE.mdをサポートしています[32]:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
project/
├── CLAUDE.md # トップレベル
├── frontend/
│ ├── CLAUDE.md # フロントエンド固有
│ └── src/
└── backend/
├── CLAUDE.md # バックエンド固有
└── src/
# トップレベル CLAUDE.md
## プロジェクト概要
モノレポ構成。フロントエンド(React)、バックエンド(Node.js)
## グローバルルール
- TypeScript必須
- ESLint準拠
詳細は各ディレクトリのCLAUDE.mdを参照
# frontend/CLAUDE.md
## フロントエンド固有ルール
- React 18
- Styled Components使用
# backend/CLAUDE.md
## バックエンド固有ルール
- Express 4
- Prisma使用
利点:
- 関心事の分離
- 各ファイルは小さく保つ(100行以内)
- Claude Codeが必要に応じて自動ロード
- トークン効率的(作業ディレクトリのみロード)
トークン削減の実例
ケーススタディ:プロジェクトドキュメントの統合[30][32]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Before: 5ファイル分割(合計2,500 tokens)
README.md: 800 tokens
- 概要
- リンク集: INSTALL.md、USAGE.md、API.md、CONTRIBUTING.md
INSTALL.md: 400 tokens
- インストール手順
- リンク: README.md、USAGE.md
USAGE.md: 500 tokens
- 使い方
- リンク: README.md、API.md
API.md: 600 tokens
- API仕様
- リンク: README.md、USAGE.md
CONTRIBUTING.md: 200 tokens
- コントリビューションガイド
- リンク: README.md
# After: Claude Code用に統合(1,800 tokens、28%削減)
CLAUDE.md: 1,800 tokens
- 概要(簡潔化)
- インストール手順
- 基本的な使い方
- 主要API
- コントリビューションガイド(要点のみ)
詳細API仕様: docs/api.md(必要時のみ参照)
# 削減内訳
- 相互参照リンク: -300 tokens
- 重複する概要説明: -200 tokens
- ナビゲーションセクション: -150 tokens
- 冗長な前置き: -50 tokens
合計削減: -700 tokens(28%)
重要な注意:
- 人間向けドキュメントサイトは分割を維持(ユーザビリティ優先)
- AI向けコンテキストファイル(CLAUDE.md等)は統合を検討
- 目的に応じて使い分ける
12. 動的最適化と自動統合:次世代アプローチ
原則: ソースは細かく管理し、AIへの提供時に動的に最適化・統合する[33][34][35]。
「普段は細かく分割管理→必要に応じて自動統合」は、静的な統合vs分割の二者択一を超える新しいアプローチです。
アプローチの概要
1
2
3
4
5
6
7
8
ソース管理(Git等) AI提供時
───────────────────── ─────────────
細かく分割されたファイル → 動的に最適化・統合
├── overview.md ↓
├── installation.md 自動処理パイプライン
├── api-auth.md ↓
├── api-users.md 統合・最適化された
└── deployment.md コンテキスト
主要な技術とツール
1. GraphRAG(知識グラフベースRAG)[33]
従来のRAGでは、ベクトル検索で類似テキストを取得しますが、GraphRAGは知識グラフの関係構造を活用します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 従来のRAG
ユーザー質問:「ユーザー認証のエラーハンドリングは?」
↓
ベクトル検索: "authentication.md"のみ取得(500 tokens)
↓
問題: エラーハンドリングの詳細が別ファイル(error-handling.md)にある
# GraphRAG
ユーザー質問:「ユーザー認証のエラーハンドリングは?」
↓
知識グラフ検索:
- authentication.md(500 tokens)
- 関連: error-handling.md(300 tokens)← グラフで自動検出
- 関連: api-response-codes.md(200 tokens)← グラフで自動検出
↓
統合コンテキスト: 1,000 tokens(関連情報すべて含む)
GraphRAGの利点[33]:
- マルチホップ質問に強い(「AとBの関係は?」等)
- 関連エンティティを自動的に集約
- コンテキスト関連性が向上
2. 動的コンテキストスイッチング[34]
LLMに渡すコンテキストをリクエストごとに動的に構築します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 疑似コード:動的コンテキスト構築
def build_context(user_query, document_pool):
# ステップ1: 関連ドキュメントを識別
relevant_docs = semantic_search(user_query, document_pool)
# ステップ2: 知識グラフで関連文書を拡張
expanded_docs = knowledge_graph.expand(relevant_docs)
# ステップ3: トークン制限内で最適化
optimized_context = pack_documents(
expanded_docs,
max_tokens=4000,
strategy="best_fit_packing" # 無駄な切断を排除
)
return optimized_context
# 例:
# ユーザークエリA: カレンダー関連 → calendar.md + user-prefs.md
# ユーザークエリB: 認証関連 → auth.md + error-codes.md + api-docs.md
利点:
- クエリごとに最適なコンテキスト
- 不要な情報を排除(トークン削減)
- 柔軟性が高い
3. llm-docs-builder(自動最適化ツール)[35]
Markdownドキュメントを自動的にAI向けに最適化するツールです。
機能:
- HTMLノイズ除去(ナビゲーションバー、フッター、JavaScript等)
- トークン削減: 85-95%削減
- llms.txt自動生成
- AIクローラー向けに最適化されたMarkdownを提供
使用例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# llm-docs-builder設定
input_dir: ./docs
output_dir: ./docs-optimized
transformations:
- remove_frontmatter: true
- remove_html_comments: true
- remove_badges: true
- normalize_links: true
- optimize_headings: true
- add_hierarchical_context: true # 見出しコンテキストを追加
# 結果:
# 元のHTMLドキュメント: 5,000 tokens(ナビゲーション、CSS等含む)
# 最適化後: 1,500 tokens(70%削減)
ワークフロー統合:
1
2
3
4
5
6
7
8
9
10
11
# ビルド時に自動最適化
npm run build
→ llm-docs-builder transform
→ AI向け最適化ドキュメント生成(docs-ai/)
→ 人間向けドキュメント(docs/)は維持
# Webサーバー設定
if user_agent == "AI-Crawler":
serve docs-ai/ # 最適化版
else:
serve docs/ # 通常版
実践的な戦略
戦略1: ハイブリッド管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ソース管理(詳細に分割)
├── authentication/
│ ├── overview.md
│ ├── oauth.md
│ ├── jwt.md
│ └── sessions.md
├── api/
│ ├── users.md
│ ├── posts.md
│ └── comments.md
└── errors/
├── codes.md
└── handling.md
↓ ビルド時/リクエスト時に動的統合
AI向け統合ドキュメント
├── authentication-full.md # authentication/* 統合
├── api-full.md # api/* 統合
└── errors-full.md # errors/* 統合
または
RAG用ベクトルDB
└── 各ファイル + 知識グラフで関連性を保持
戦略2: オンデマンド統合
1
2
3
4
5
6
7
8
9
10
# AIリクエスト時の動的処理
1. ユーザークエリ受信:「OAuth認証のエラーハンドリングは?」
2. 関連ファイル検出(GraphRAG):
- authentication/oauth.md
- errors/handling.md
- errors/codes.md(401, 403関連)
3. 動的統合:
# OAuth認証とエラーハンドリング(統合版)
## OAuth認証 (from authentication/oauth.md) [内容]
## エラーハンドリング (from errors/handling.md) [OAuth関連部分のみ抽出]
## 関連エラーコード (from errors/codes.md)
- 401 Unauthorized
- 403 Forbidden ```
- LLMに提供(最適化済み) ```
メリットとデメリット
✅ メリット:
- ソースの保守性: 細かく分割で管理しやすい
- AI向け最適化: 自動で統合・最適化
- 柔軟性: クエリに応じて動的に最適化
- トークン効率: 必要な部分のみ統合(最大95%削減可能)
- 人間/AI両立: 人間向けとAI向けを別々に最適化
❌ デメリット:
- 複雑性: パイプライン構築が必要
- コスト: 自動化ツールの導入・運用
- 初期投資: セットアップに時間がかかる
- オーバーヘッド: リアルタイム統合は処理時間増加
推奨される実装レベル
| プロジェクト規模 | 推奨アプローチ | 理由 |
|---|---|---|
| 小規模(<10ファイル) | 手動統合 | 自動化のコストに見合わない |
| 中規模(10-50ファイル) | llm-docs-builder等のツール | 自動化の恩恵が大きい |
| 大規模(50+ファイル) | GraphRAG + 動的統合 | 複雑な関連性の管理が必須 |
| エンタープライズ | フルパイプライン | ROIが高い |
まとめ:最適なアプローチの選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 決定フローチャート
プロジェクト規模は?
├── 小規模(<1,000 tokens総量)
│ → 手動で単一ファイル統合
│
├── 中規模(1,000-10,000 tokens)
│ → llm-docs-builder等で自動最適化
│ → RAGシステムなら分割維持
│
└── 大規模(10,000+ tokens)
├── RAG使用
│ → GraphRAG + 動的統合
│
└── Claude Code等の統合AI
→ 階層的CLAUDE.md + @import
キーポイント:
- ソース管理:常に細かく分割(保守性重視)
- AI提供時:ユースケースに応じて動的に最適化
- 自動化:規模に応じてツール導入を検討
- 測定:トークン削減効果を定量的に評価
実践例:CLAUDE.md の Before/After
Before: 冗長な CLAUDE.md(推定1,500 tokens)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# プロジェクト概要
このプロジェクトは、非常に便利で強力な機能を持つWebアプリケーションです。
このアプリケーションは、ユーザーが簡単に使えるように設計されており、
モダンな技術スタックを採用しています。
## 技術スタック
このプロジェクトでは、以下の技術を使用しています:
- フロントエンド: React 18を使用しています
- バックエンド: Node.js 20とExpress 4を使用しています
- データベース: PostgreSQL 15を使用しています
- 認証: JWT(JSON Web Tokens)を使用しています
## ディレクトリ構造
プロジェクトのディレクトリ構造は以下のようになっています:
- src/ディレクトリ: ソースコードが格納されています
- components/ディレクトリ: Reactコンポーネントが格納されています
- api/ディレクトリ: APIエンドポイントが格納されています
- utils/ディレクトリ: ユーティリティ関数が格納されています
- tests/ディレクトリ: テストファイルが格納されています
- docs/ディレクトリ: ドキュメントが格納されています
## コーディング規約
このプロジェクトでは、以下のコーディング規約に従ってください:
- すべてのコードはTypeScriptで記述してください
- ESLintの設定に従ってコードをフォーマットしてください
- すべての関数には型定義を追加してください
- すべてのコンポーネントにはPropsの型定義を追加してください
推定トークン数: 約1,500 tokens
After: 最適化された CLAUDE.md(推定400 tokens)
1
2
3
4
5
6
7
8
9
10
11
12
13
# プロジェクト概要
モダンWebアプリケーション(React + Node.js)
## 技術スタック
- Frontend: React 18, TypeScript 5
- Backend: Node.js 20, Express 4
- DB: PostgreSQL 15
- Auth: JWT
## ディレクトリ構造
src/ components/ # React components api/ # API endpoints utils/ # Utility functions tests/ # Test files docs/ # Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
## コーディング規約
- TypeScript必須(型定義必須)
- ESLint準拠
- 詳細: [CONTRIBUTING.md](./CONTRIBUTING.md)
## Claude へのガイダンス
### コード生成時
- 型安全性優先(`any`禁止)
- セキュリティベストプラクティス考慮
- 必要に応じてテストコード生成
### API実装
- RESTful設計
- エラーハンドリング必須
- OpenAPI仕様準拠
推定トークン数: 約400 tokens
削減率: 73%削減(1,500 → 400 tokens)
最適化のポイント
- 冗長な説明の削減: 「このプロジェクトは…」→「モダンWebアプリケーション」
- リスト形式の活用: 散文→箇条書き
- ツリー構造の使用: ディレクトリ構造を視覚的に表現
- 外部参照: 詳細は別ファイルへ
- 構造化セクション: 「Claude へのガイダンス」で明確な指示
実践例:プロンプトテンプレートの最適化
Before: 冗長なプロンプト(推定500 tokens)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
あなたはプロフェッショナルなソフトウェアエンジニアです。
私が提供するコードをレビューして、問題点を指摘してください。
特に以下の点に注目してレビューしてください:
1. コードの品質について確認してください
2. セキュリティの問題がないか確認してください
3. パフォーマンスの問題がないか確認してください
4. ベストプラクティスに従っているか確認してください
5. テストが十分に書かれているか確認してください
レビュー結果は、以下のフォーマットで出力してください:
- まず最初に全体的な評価を述べてください
- 次に、問題点をリストアップしてください
- 最後に、改善提案を述べてください
After: 最適化されたプロンプト(推定150 tokens)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
## Role
Senior software engineer
## Task
Code review
## Focus Areas
- Code quality
- Security vulnerabilities
- Performance bottlenecks
- Best practices
- Test coverage
## Output Format
1. Overall assessment
2. Issues (prioritized)
3. Recommendations
削減率: 70%削減(500 → 150 tokens)
最適化テクニック
- Markdown構造化:
##見出しで明確な区分 - 箇条書き: 「〜について確認してください」→リスト項目
- 冗長な接続詞削除: 「まず最初に」→「1.」
- 英語キーワード使用: 専門用語は英語の方がトークン効率が高い場合がある
AIにコンテキスト効率的なドキュメントを書かせる方法
1. 明確な指示を出す
AIにドキュメントを生成させる際、以下のような指示を含めます:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
## 指示例
以下の要件でREADME.mdを作成してください:
### 要件
- トークン効率を最優先
- 冗長な表現を避ける
- 箇条書きとコードブロックを活用
- 詳細な説明は外部ファイル(docs/)に分離
- 目標トークン数: 500 tokens以内
### 含めるセクション
- プロジェクト概要(2-3文)
- クイックスタート(インストールと基本的な使い方のみ)
- ディレクトリ構造(ツリー形式)
- 開発ガイド(外部参照)
### 含めないもの
- 冗長な前置き(「このプロジェクトは...」等)
- 詳細なAPI説明(docs/api.mdに分離)
- ライセンス全文(LICENSE参照で十分)
2. テンプレートを提供する
AIに生成させたい構造をテンプレートとして提示します:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## テンプレート例
以下のテンプレートに従ってドキュメントを生成してください:
\`\`\`markdown
# [プロジェクト名]
[1文での説明]
## クイックスタート
### インストール
[1コマンド]
### 基本的な使い方
[最小限のコード例]
## ディレクトリ構造
[ツリー形式、コメント付き]
## 開発
詳細: [CONTRIBUTING.md](./CONTRIBUTING.md)
## ライセンス
[LICENSE](./LICENSE)
\`\`\`
3. トークン数を明示的に制約する
1
2
3
4
5
6
7
8
## 指示例
CLAUDE.mdを生成してください。
### 制約
- 最大トークン数: 300 tokens
- 超過した場合は、優先度の低い情報を削除
- 削除した情報は別ファイル(docs/project-details.md)への参照で補完
4. フィードバックループを構築する
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## プロンプト例
以下のドキュメントのトークン数を削減してください:
[ドキュメント内容]
### 目標
- 現在の50%のトークン数に削減
- 情報の重要度は維持
- 削減箇所と理由を説明
### 最適化手法
1. 冗長な表現の削減
2. 箇条書き化
3. 外部参照への分離
4. コード例の簡略化
5. 実践的なプロンプト例
実際にClaude Codeで使用できるプロンプトテンプレートを .claude/commands/ に保存します:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- .claude/commands/optimize-docs.md -->
以下のドキュメントをトークン効率化してください:
### 最適化基準
- 情報密度を維持しつつトークン数を最小化
- Markdown構造化(見出し、リスト、コードブロック)
- 冗長な表現を削除
- 詳細は外部ファイルに分離して参照
### 出力
1. 最適化後のドキュメント
2. トークン削減率
3. 主な変更点の説明
---
[ドキュメントをここに貼り付け]
使用方法:
1
2
# Claude Codeで
/optimize-docs
2024-2025年のトレンド:AI-Native ドキュメント
llms.txt 標準
2024年9月、Answer.AIの共同創業者Jeremy Howardが提案したllms.txt標準が急速に普及しています[15][16][17]。
概要:
- WebサイトのルートディレクトリにMarkdown形式で配置
robots.txtと同様に、LLMクローラーに構造化された情報を提供- Anthropic、Cursor、Mintlifyがホストする数千のサイトで採用
ファイル構造:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- https://example.com/llms.txt -->
# Project Name
> Brief project summary (1-2 sentences)
## Documentation
- [Getting Started](https://example.com/docs/getting-started)
- [API Reference](https://example.com/docs/api)
- [Examples](https://example.com/docs/examples)
## Optional: Full Documentation
See [llms-full.txt](https://example.com/llms-full.txt) for complete documentation.
Anthropic の実装例:
- https://docs.anthropic.com/llms.txt
- https://docs.anthropic.com/llms-full.txt
llm-docs-builder ツール
ドキュメントを自動的に最適化するツールが登場しています[18]:
機能:
- HTMLドキュメントから85-95%のノイズを削減
- Markdownに変換
llms.txtインデックスを自動生成- AI クローラー向けに最適化されたドキュメントを提供
CLAUDE.md のベストプラクティス(2025年)
Anthropic公式ベストプラクティス[19][20]:
- 簡潔性: 簡潔に保つことを推奨
- 階層構造: ネストされたCLAUDE.mdでコンテキストを階層化
- プロンプトテンプレート:
.claude/commands/に再利用可能なプロンプトを保存 - Git管理: チームでCLAUDE.mdを共有
推奨セクション:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# CLAUDE.md
## プロジェクト概要
[2-3文]
## 技術スタック
[リスト形式]
## ディレクトリ構造
[ツリー形式、重要なディレクトリのみ]
## コーディング規約
[要点のみ、詳細は外部参照]
## Claude へのガイダンス
[コード生成時の具体的な指示]
## 外部リソース
- [詳細なアーキテクチャ](./docs/architecture.md)
- [API仕様](./docs/api.md)
- [コントリビューションガイド](./CONTRIBUTING.md)
トークン削減の実例
実際のプロジェクトでのトークン削減効果が報告されています[21]:
| ユースケース | Before | After | 削減率 |
|---|---|---|---|
| Vercel デプロイ監視 | 10,100 tokens | 300-500 tokens | 95-97% |
| Render ログ分析 | データ依存 | 簡潔な要約 | 98% |
| Supabase プロジェクトフィルタリング | 大量のJSON | 対象プロジェクトのみ | 97% |
削減手法:
- jqによるJSONフィルタリング
- 不要なメタデータの除去
- 構造化された要約生成
まとめ
AIに効率的に読ませるMarkdownドキュメントの要点:
書き方の原則
- 階層構造の明確化: 見出しレベルを適切に使用
- 冗長性の排除: 修飾語、重複表現を削減(30-50%削減可能)
- 箇条書きの活用: 散文よりリスト形式
- 外部参照の活用: 詳細は別ファイルに分離
- コード例の最小化: 必要最小限の例のみ
- 表の最適化: 簡潔な列名、外部参照の検討
- ディレクトリ構造: ツリー罫線文字を避け、インデントまたはリスト形式(40-67%削減可能)
- 文字装飾の節度: セマンティックな意味を持つ装飾のみ使用、過度な強調を避ける
- キーバリューペアの簡素化:
**タイトル**:→### タイトルまたはタイトル:(33-42%削減可能) - SSOT原則の適用: 情報を一箇所のみで定義、関連ファイルへの参照は必要最小限に(60-70%削減可能)
- ファイル統合 vs 分割: AIシステムに応じて使い分ける
- Claude Code/Custom Instructions: 統合推奨(28-33%削減可能)
- RAGシステム: 分割推奨(最大90%削減可能)
- 動的最適化と自動統合(次世代アプローチ):
- ソースは細かく分割管理
- AI提供時に動的に統合・最適化(GraphRAG、llm-docs-builder等)
- プロジェクト規模に応じて実装レベルを選択
AIにドキュメントを書かせる際の指示
- トークン数の制約: 「最大300 tokens以内」と明示
- テンプレート提供: 望ましい構造を例示
- 最適化基準の提示: 「冗長な表現を避ける」「箇条書き優先」等
- フィードバックループ: トークン数を測定し、反復的に最適化
2024-2025年のトレンド
- llms.txt標準: AI-nativeドキュメントの新標準
- 自動最適化ツール: 85-95%のノイズ削減が可能
- 階層的CLAUDE.md: プロジェクト構造に応じたコンテキスト管理
実践的な効果
- Clean Markdown: RAG検索精度35%向上、トークン20-30%削減[2]
- CLAUDE.md最適化: 70-95%のトークン削減事例[21]
- コスト削減: 200K tokens超過時の2倍課金を回避[4]
これらのテクニックを活用することで、AIの応答品質を維持しながら、コンテキストサイズとコストを大幅に削減できます。
注意事項:
本記事で示されたトークン削減率は、特定の条件下での計算例または報告された事例に基づくものです。実際の削減効果は、プロジェクトの構造、ドキュメントの内容、使用するAIシステムによって異なる場合があります。導入前に、ご自身のプロジェクトで効果を測定することを推奨します。
参考資料
本文中の引用番号[1]〜[35]に対応する参考資料を番号順に記載しています。
Boosting AI Performance: The Power of LLM-Friendly Content in Markdown - Webex Developers Blog https://developer.webex.com/blog/boosting-ai-performance-the-power-of-llm-friendly-content-in-markdown 【信頼性: 高】LLM-friendlyなMarkdownの一般的な利点について解説
Why Your LLM Needs Clean Markdown: A Deep Dive - AnythingMD https://anythingmd.com/blog/why-llms-need-clean-markdown 【信頼性: 中〜高】RAG検索精度35%向上、トークン20-30%削減のデータ
Why Markdown is the best format for LLMs - Wetrocloud, Medium (2024) https://medium.com/@wetrocloud/why-markdown-is-the-best-format-for-llms-aa0514a409a7 【信頼性: 中】
Context windows - Claude Docs - Anthropic公式ドキュメント https://docs.claude.com/en/docs/build-with-claude/context-windows 【信頼性: 高】コンテキストウィンドウとプレミアム料金
ChatGPT Context Window and Token Limit - 16x Prompt (2024) https://prompt.16x.engineer/blog/chatgpt-context-window-token-limit 【信頼性: 中〜高】
Markdown Prompting In AI Prompt Engineering Explained - Applied AI Tools https://appliedai.tools/prompt-engineering/markdown-prompting-in-ai-prompt-engineering-explained-examples-tips/ 【信頼性: 中〜高】
Let’s Build the GPT Tokenizer: A Complete Guide to Tokenization in LLMs - fast.ai (2024) https://www.fast.ai/posts/2025-10-16-karpathy-tokenizers.html 【信頼性: 高】Andrej Karpathyによる解説
Complete Guide to LLM Tokenization - LLM Calculator (2024) https://llm-calculator.com/blog/complete-guide-to-tokenization/ 【信頼性: 中〜高】
Cutting Cost and Enhancing Performance: Minifying Markdown Tables - Budi Syahiddin, Government Digital Products Singapore (2024) https://medium.com/singapore-gds/cutting-cost-and-enhancing-performance-minifying-markdown-tables-to-improve-token-efficiency-in-af488a784fd5 【信頼性: 高】
- How to Optimize Token Efficiency When Prompting - Portkey.ai https://portkey.ai/blog/optimize-token-efficiency-in-prompts/ 【信頼性: 中〜高】
LLM prompt optimization: Reducing tokens usage - Saulius Šaulys, Medium (2024) https://medium.com/@sauliusaulys/llm-prompt-optimization-reducing-tokens-usage-343f5de178a5 【信頼性: 中】30-50%削減のデータ
Token optimization: The backbone of effective prompt engineering - IBM Developer https://developer.ibm.com/articles/awb-token-optimization-backbone-of-effective-prompt-engineering/ 【信頼性: 高】
Claude Code Best Practices - Anthropic公式 https://www.anthropic.com/engineering/claude-code-best-practices 【信頼性: 高】
Cutting Cost and Enhancing Performance: Minifying Markdown Tables to Improve Token Efficiency in RAG - Government Digital Products Singapore (2024) https://medium.com/singapore-gds/cutting-cost-and-enhancing-performance-minifying-markdown-tables-to-improve-token-efficiency-in-af488a784fd5 【信頼性: 高】
What is llms.txt? Breaking down the skepticism - Mintlify Blog (2024) https://www.mintlify.com/blog/what-is-llms-txt 【信頼性: 高】
LLMs.txt Explained - TDS Archive, Medium (2024) https://medium.com/data-science/llms-txt-explained-414d5121bcb3 【信頼性: 中〜高】
Simplifying docs for AI with /llms.txt - Mintlify Blog (2024) https://www.mintlify.com/blog/simplifying-docs-with-llms-txt 【信頼性: 高】
Announcing llm-docs-builder: An Open Source Tool for Making Documentation AI-Friendly - Maciej Mensfeld (2025) https://mensfeld.pl/2025/10/llm-docs-builder/ 【信頼性: 中〜高】85-95%ノイズ削減のデータ
Claude Code Best Practices - Anthropic公式 (2025) https://www.anthropic.com/engineering/claude-code-best-practices 【信頼性: 高】
- My 7 essential Claude Code best practices for production-ready AI in 2025 - eesel AI (2025) https://www.eesel.ai/blog/claude-code-best-practices 【信頼性: 中〜高】
Optimizing Token Efficiency in Claude Code Workflows - Pierre-Emmanuel Féga, Medium (2025) https://medium.com/@pierreyohann16/optimizing-token-efficiency-in-claude-code-workflows-managing-large-model-context-protocol-f41eafdab423 【信頼性: 中】95-98%削減の実例
Marking Up the Prompt: How Markdown Formatting Influences LLM Responses - Neural Buddies (2024) https://www.neuralbuddies.com/p/marking-up-the-prompt-how-markdown-formatting-influences-llm-responses 【信頼性: 中〜高】Markdown装飾がLLM応答に与える影響の分析
Markdown Best Practices for Technical Writers - Markdown Toolbox https://www.markdowntoolbox.com/blog/markdown-best-practices-for-technical-writers/ 【信頼性: 中〜高】過度な装飾を避けるベストプラクティス
A Guide to Markdown Styles in LLM Responses - DreamDrafts, Medium (2024) https://medium.com/@sketch.paintings/a-guide-to-markdown-styles-in-llm-responses-ed9a6e869cf4 【信頼性: 中】Markdownスタイルの効果的な使用
Markdown is 15% more token efficient than JSON - OpenAI Developer Community (2024) https://community.openai.com/t/markdown-is-15-more-token-efficient-than-json/841742 【信頼性: 高】実測データによるトークン効率比較
How to list key/value pairs in a markdown - Stack Overflow https://stackoverflow.com/questions/28429750/how-to-list-key-value-pairs-in-a-markdown 【信頼性: 中〜高】Markdownでのキーバリューペア表現の実践的議論
Single source of truth - Wikipedia https://en.wikipedia.org/wiki/Single_source_of_truth 【信頼性: 高】SSOT原則の定義と背景
About the Single Source of Truth (SSOT) and Don’t Repeat Yourself (DRY) principles - Webel IT Australia https://www.webel.com.au/node/889 【信頼性: 中〜高】SSOTとDRY原則の関係性の解説
Cross-references and linking - Google developer documentation style guide - Google for Developers https://developers.google.com/style/cross-references 【信頼性: 高】相互参照のベストプラクティス(リンクテキストの簡潔化、認知負荷の削減等)
Breaking the LLM’s Token Limit: Introducing the Modular AI Systems Architecture - Amir Ghasemi, Medium (2024) https://medium.com/@amir.ghm/breaking-the-llms-16k-token-limit-introducing-the-modular-ai-systems-architecture-5a23b37139ac 【信頼性: 中】モジュラーAIシステムアーキテクチャによるトークン制限の克服
Chunking for RAG: best practices - Unstructured (2024) https://unstructured.io/blog/chunking-for-rag-best-practices 【信頼性: 高】RAGシステムでのチャンキング戦略(セマンティック、固定サイズ、文書ベース等)
Claude Code Best Practices - Anthropic公式 (2025) https://www.anthropic.com/engineering/claude-code-best-practices 【信頼性: 高】CLAUDE.mdの階層構造、@import構文等
Graph Retrieval-Augmented Generation: A Survey - arXiv (2024) https://arxiv.org/abs/2408.08921 【信頼性: 中〜高】GraphRAGの包括的サーベイ論文。知識グラフを活用したRAGの手法、マルチホップ質問への効果等。注: arXiv論文(査読前プレプリント)。GraphRAGの技術的概要として引用
Level Up Your LLMs: Dynamic Context Switching for Smarter, Faster Inference - Yair Stern, Medium (2024) https://medium.com/@yairms.il/level-up-your-llms-dynamic-context-switching-for-smarter-faster-inference-4986a49269d1 【信頼性: 中】動的コンテキストスイッチングによるLLM推論の最適化
- Announcing llm-docs-builder: An Open Source Tool for Making Documentation AI-Friendly - Maciej Mensfeld (2025) https://mensfeld.pl/2025/10/llm-docs-builder/ 【信頼性: 中〜高】85-95%のトークン削減、llms.txt自動生成、HTMLノイズ除去等
Medium記事について:
Medium記事([11][21][24][30][34])は著者の実践事例として引用していますが、査読プロセスを経ていないため、【信頼性: 中】としています。本記事で示されたトークン削減率や最適化手法については、導入前にご自身の環境での効果測定を推奨します。
その他参考資料(本文中で番号引用なし)
本文中では直接引用していないが、記事作成時に参照した資料を記載。
Cognitive Load Theory: Methods to Manage Working Memory Load - Fred Paas, Jeroen J. G. van Merriënboer (2020) https://journals.sagepub.com/doi/10.1177/0963721420922183 【信頼性: 高】認知負荷理論の学術論文
Creating the information architecture for your documentation - KnowledgeOwl Blog https://blog.knowledgeowl.com/blog/posts/information-architecture/ 【信頼性: 中〜高】
awesome-claude-code: A curated list - GitHub https://github.com/hesreallyhim/awesome-claude-code 【信頼性: 中】コミュニティリソース
注記:
引用の正確性について: 本記事で引用した情報は、以下の方法で検証しています:
- 公式ドキュメント(Anthropic、OpenAI等)の確認
- 複数の独立した情報源(技術ブログ、専門メディア)による相互検証
- 2024-2025年の最新情報の優先
一部の技術ブログやMedium記事については、著者の専門性とデータの裏付けを確認した上で引用していますが、 公式ドキュメントや学術論文と比較して信頼性レベルを「中」または「中〜高」としています。