leann-search について
leann-searchは、LEANNでコードを意味ベース検索するスキルです。概念や実装パターン、関連コードを探す用途に向き、文埋め込みによる類似度で結果を並べます。識別子や正規表現、パスの検索にはGrepまたはGlobを使います。
主な機能
- 01意味に基づくコード検索
- 02意味的類似度による順位付け
- 03利用可能なインデックスの一覧
- 04プロジェクトインデックスの再構築
- 05Claude Code向けMCPツール
活用シーン
- 01認証やエラー処理の実装箇所を探す
- 02ストリーミングやプロバイダー構成を調べる
- 03異なる用語を使う類似実装を探す
MCP 対応
Claude Codeで、指定したインデックスを意味検索する`leann_search` MCPツールを提供します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ parcadei/ continuous-claude-v3 --skill leann-searchインストール後、Claude Code で/leann-searchを入力して読み込まれたか確認します。
詳細
LEANN セマンティック検索
grep の代わりに LEANN を使用して、意味に基づくコード検索を行います。
使用する場面
- 概念に関するクエリ:「認証はどのように機能するか」、「エラーはどこで処理されるか」
- パターンの把握:「ストリーミングの実装」、「プロバイダーのアーキテクチャ」
- 関連コードの検索:異なる用語を使用していても、意味的に類似しているコード
使用しない場面
- 完全一致:
class Foo、def bar、特定の識別子には Grep を使用します - 正規表現パターン:
error.*handling、import.*fromには Grep を使用します - ファイルパス:
*.test.ts、src/**/*.pyには Glob を使用します
コマンド
# Search the current project's index
leann search <index-name> "<query>" --top-k 5
# List available indexes
leann list
# Example
leann search rigg "how do providers handle streaming" --top-k 5
MCP ツール(Claude Code 内)
leann_search(index_name="rigg", query="your semantic query", top_k=5)
インデックスの再構築
コードベースに大きな変更があった場合:
cd /path/to/project
leann build <project-name> --docs src tests scripts \
--file-types '.ts,.py,.md,.json' \
--no-recompute --no-compact \
--embedding-mode sentence-transformers \
--embedding-model all-MiniLM-L6-v2
仕組み
- LEANN は文の埋め込みを使用して 意味 を理解します
- 検索では、単なるテキストの一致ではなく、概念的に類似したコードが見つかります
- 結果はセマンティック類似度スコア(0~1)で順位付けされます
Grep と LEANN の使い分け
| クエリの種類 | ツール | 例 |
|---|---|---|
| 自然言語 | LEANN | 「キャッシュはどのように機能するか」 |
| クラス/関数名 | Grep | 「class CacheManager」 |
| パターンマッチング | Grep | error|warning |
| 実装の検索 | LEANN | 「レート制限のロジック」 |
コメント
Markdown 対応