2層検索アーキテクチャ
検索処理を「高速な軽量検索」と「高度なLLM検索」の2層に分離するアーキテクチャパターン。単純なクエリに対してLLMを使用することを避け、処理コストと応答速度を最適化する。
構成
| 層 | 処理方法 | 用途 |
|---|---|---|
| 第1層(軽量検索) | grep/全文検索/インデックス | キーワード検索、ファイル一覧取得、フィルタリング |
| 第2層(LLM検索) | LLM(Claude等)への委譲 | 複雑な質問、要約、関連コンテンツの推薦 |
設計思想
「単純な検索にLLMを使う必要はない」という原則に基づく。grepによる全文検索は高速で、キーワードマッチには十分。一方、「この記事の要点は?」「関連するノートを探して」といった意味理解が必要なタスクはLLMに委譲する。
case "$1" in
search)
# 第1層:高速なキーワード検索
grep -rl "$query" "$MEMO_DIR/articles" "$MEMO_DIR/notes"
;;
claude)
# 第2層:複雑な質問・記事作成はLLMに委譲
cd "$MEMO_DIR" && claude --print "$prompt"
;;
esac
メリット
- コスト最適化: 単純なクエリにLLM APIを呼ばない
- 応答速度: 第1層は即座に結果を返す
- スケーラビリティ: LLMの呼び出し頻度を抑制できる
- 適材適所: 各層が得意な処理を担当