SIFS(SIFS Is Fast Search)— コーディングエージェント向けのローカル・コード検索

Dev.to / 2026/5/6

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • 記事では、コーディングエージェントがリポジトリ理解の前に文脈を浪費しがちな点を減らすことを目的にしたローカルコード検索ツール「SIFS(SIFS Is Fast Search)」が紹介されています。
  • SIFSは、BM25(完全にオフラインでモデル非依存)とセマンティック検索(モデルをキャッシュすればローカルで実行)を融合・再ランキングするハイブリッド方式で、外部サービスやGPU、APIキーを使わずに高速なランク付け検索を行います。
  • SIFSはRustのCLI/Rustクレート/ローカルMCPサーバとして提供されており、検索、関連コードの「find-related」、MCPのインストールなどの例が示されています。
  • 63のオープンソースリポジトリを用いたベンチマークでは高い検索精度(NDCG@10=0.8641)と低いレイテンシが報告され、挙げられた複数の代替手法よりもこのベンチマークで優れているとされています。
  • 著者は、完全に一致する文字列の検索にはripgrepを使い、探索の初期段階で「何を探せばよいか分からない」状態の自然言語・調査的クエリにはSIFSを使うことを勧めています。

私はSIFSというツールを作りました。私の経験では、コーディングエージェントはリポジトリを理解する前に文脈を使いすぎてしまうからです。

彼らはコードベースの周辺をgrepで探し、ファイル全体や大きな塊を読み、たくさん推測したあとで、ようやく必要なコードを見つけ始めます。SIFSは最初の一手をより良くします。ランク付けされたコードチャンクに対する高速なローカル検索です。

これはRustのCLI、Rustクレート、そしてローカルのMCPサーバーとして動作します。デフォルトのモードはハイブリッド検索です。BM25に加えてセマンティック取得を行い、統合(fused)して再ランキング(reranked)します。BM25は完全にオフラインで、モデル不要です。セマンティックおよびハイブリッド検索は、モデルがキャッシュされたらローカルで実行されます。GPU不要、APIキー不要、外部サービス不要です。

例:

sifs search "where is authentication handled" --source /path/to/project

sifs search "parse JWT claims" --source /path/to/project --mode bm25 --offline

sifs find-related src/auth/session.rs 42 --source /path/to/project

sifs mcp install --client all

正確な文字列が分かっているならrgを使ってください。まだ何を探すべきか分からない場合はSIFSを使ってください。たとえば「where is auth handled」「how does upload backpressure work」「where are JWT claims parsed」「what code owns this behaviour」です。

現在のベンチマーク:

63個の固定されたオープンソースリポジトリ
19の言語
1,251件の注釈付き検索タスク
NDCG@10: 0.8641
冷インデックス: 6.5 ms
ウォームクエリ: 0.376 ms

このベンチマークでは、SIFSはCodeRankEmbed Hybrid、Semble、ColGREP、grepai、probe、ripgrepよりも前にいます。シンボルクエリで最も強力ですが、ハイブリッドモードは、馴染みのないコードを探索しているときに人間やエージェントが尋ねる自然言語の質問のために設計されています。

MITライセンスです。

リポジトリ:
https://github.com/tristanmanchester/sifs