Greppy – AIエージェント向けコードナビゲーションサブコマンドを備えたドロップインgrep
Greppy は、AIコーディングエージェント向けにコードナビゲーションサブコマンド(who-calls、impact、semantic-search、brief)を追加したドロップインgrep代替です。構造的なコード問題の正答率を53%から87%に向上させ、トークン消費を削減します。単一のRustバイナリで107言語をサポート。
Greppy は、AIコードエージェント向けに設計されたドロップインgrep代替ツールです。標準grepの機能をすべて維持しつつ、コードナビゲーションのためのサブコマンドを追加しています。主なサブコマンドには、who-calls(関数の呼び出し元を検索)、impact(変更の影響範囲を評価)、semantic-search(自然言語でコードを検索)、brief(定義と呼び出し関係を一括表示)があります。テキストマッチではなくシンボル関係を直接返すため、エージェントの試行錯誤が減少します。
ベンチマーク結果では、14のモデルを使用した35のコードナビゲーションタスクにおいて、Greppy使用時の正答率は87%に達し、通常grepの53%を大きく上回りました。入力トークンは平均で約2.3倍削減され、特に構造的質問において顕著な効果を発揮します。
内部動作として、Greppyは事前計算された型付きシンボルグラフ(CALLS、USES、TYPE_REF、IMPORTS)を保持し、who-callsやimpactなどのクエリに直接応答します。セマンティック検索はGoogleのEmbeddingGemmaモデルをRustネイティブ推論エンジンで実行し、CPU・Apple Metal・NVIDIA CUDAを自動検出します。標準grepの呼び出しはそのままシステムgrepに転送され、互換性が保たれます。
現在、コードグラフコマンドは安定版であり、107の言語(Python、JavaScript、Go、Rustなど)をサポートしています。セマンティック検索はベータ版ですが実用的です。プロジェクトはMITライセンスで公開されており、初期段階ながらエージェントのコードナビゲーション精度と効率を大幅に向上させる可能性を示しています。