How to Make Claude Code Faster for Large Document Search

Claude Code は10個程度のファイルであれば問題なく動作しますが、数百もの PDF があると動作が遅くなります。

ファイル数が増えると、次の3つの問題に直面します: • モデルが読み込むテキスト量が多すぎるため、速度が低下する。 • スキャンされるすべてのトークンに対して料金が発生するため、コストが増大する。 • 回答が見つからない場合にモデルが推測してしまうため、精度が低下する。

問題はモデルではなく、検索戦略にあります。

デフォルトでは、Claude Code はファイルを直接読み込みます。回答を見つけるためにすべてをスキャンするため、質問の難易度ではなく、ライブラリのサイズに比例して負荷が増大します。

解決策は Retrieval Augmented Generation (RAG) です。

ひとつの大きなタスクにするのではなく、作業を分割します: • まず、検索レイヤーが構築済みのインデックスを検索します。 • 回答が含まれている特定の箇所を特定します。 • その小さな断片だけを Claude Code に渡します。

これにより、作業量は一定になります。ファイルが50個であっても5万個であっても、Claude が読み込むテキストはわずかな範囲に限定されます。

これを Model Context Protocol (MCP) を使用して Claude Code に接続できます。MCP サーバーは、Claude が適切なデータを取得するために呼び出すツールとして機能します。

結果は顕著です。500個の PDF を対象としたテストでは、RAG レイヤーを使用することでプロセスが以下のように変化しました: • 4.2倍高速化。 • 3.2倍低コスト化。 • より信頼性が向上。

直接ファイル検索を使用すべきケース:

  • ファイル数が少ない(数十個未満)。
  • ファイルが頻繁に更新される。
  • 素早く探索的な作業を行いたい。

RAG レイヤーを使用すべきケース:

  • ドキュメントセットが膨大、または増え続けている。
  • 同じナレッジベースに対して頻繁にクエリを実行する。
  • コストと精度が優先事項である。

実装方法:

  • 事前にドキュメントをインデックス化しておく。
  • 意味を損なわないよう、セマンティック・チャンキング (semantic chunking) を使用する。
  • MCP サーバーを介してインデックスを公開する。
  • 取得したチャンクのみを使用して回答するよう Claude に指示する。

アーキテクチャが速度を左右します。小規模なタスクには直接検索を、大規模なスケールには RAG を使用してください。

Source: https://dev.to/benjamin_wallace_c431f902/how-to-make-claude-code-faster-for-large-document-search-1d1i

Optional learning community: https://t.me/GyaanSetuAi