manojmallick/sigmap

~97% token reduction for AI coding sessions — zero deps, 38 languages, MCP server

⚡ SigMap — AI コーディングエージェント向けの決定論的コードグラウンディングレイヤー

一言で言うと

SigMap は、見たままの、検証可能なコードベース索引を構築するオープンソースの CLI ツールです。LLM、埋め込み技術、ベクトルデータベースに依存せず、同じリポジトリに対して毎回完全に同一(バイトレベルで安定)の「署名とエビデンスマップ」を生成します。これにより、AI コーディングエージェント(Claude、Cursor、Aider など)が正しいファイル、シンボル、行番号をすばやく見つけ、AI の回答が実際にコードに基づいているかどうかを検証できます。

解決しようとしている問題

  • 従来の「エージェントによる grep」ループは再現性がなく、AI は実際のコードを知らないままファイル名や関数名を幻覚することがよくあります
  • 埋め込み/ベクトルデータベースのアプローチは、追加のインフラ(ベクトルDB、索引パイプライン)の維持が必要で、結果も不確実です
  • SigMap はゼロ依存、オフライン、決定論的な代替手段でこれを解決します:ベクトルDBは使わず、テキスト署名 + TF-IDF ランキングのみ。索引パイプラインを再実行する必要はなく、再生成は npx sigmap の 1 コマンドだけです

仕組み(パイプライン)

Ask → Rank → Context → Validate → Judge → Learn

  1. Ask — CLI コマンド(例:sigmap ask "Where is auth handled?")で、関連性でランク付けされたファイルリストを返します
  2. Rank — TF-IDF アルゴリズムがコードベース内の各ファイルとクエリベクトルをスコアリングします
  3. Context — コンパクトなシンボル署名を AI のコンテキストファイル(CLAUDE.md、.cursorrules など)に書き込みます
  4. Validate — どのファイルがスコープ内にあるかを確認します
  5. Judge — AI の回答の「グラウンディング性」をスコアリングします
  6. Learn — sigmap weights により、問題解決に繰り返し役立つファイルの重みを高くできます

38 言語(TypeScript、Python、Go、Rust など)をサポートし、すべて外部依存関係ゼロです。

フラッグシップ機能:sigmap verify

これは看板機能です("grounding flagship" とも説明されています):

sigmap verify answer.md      # 捏造されたものを報告します
sigmap verify answer.md --json   # 機械可読なレポート。問題がある場合は終了コード 1(CI ゲート用)

出力例:

L12  [Fake file]    src/auth/session-store.js does not exist
L27  [Fake symbol]  authorize() — did you mean authenticate()?

AI の回答内の存在しないファイル、インポート、インポート名、シンボル、テスト、npm スクリプトを行ごとにマークできます。さらに、リポジトリと現在実際にインストールされているサードパーティライブラリの両方を索引付けします。

エージェントとの統合

  • さまざまなアダプターコンテキストを生成できます:copilot(デフォルト)、claude、cursor、windsurf、openai、gemini、codex など
  • MCP サーバー(22 のオンデマンドツール)を提供し、Claude Code / Cursor がセッション中にリアルタイムで呼び出せます:search_signatures、get_lines、verify_suggestion、get_diff_context、query_knowledge_map など
  • Evidence Pack:決定論的な JSON アーティファクト(Markdown 出力も可能)。「これをプロンプトに貼り付ける」手動操作の代わりに、CI やエージェントが直接読み取れます
  • IDE 拡張機能:VS Code、JetBrains、Neovim

「なぜ埋め込みを使わないのか」との比較

Embeddings SigMap
ベクトルDBが必要 ✅ ❌
インフラが必要 ✅ ❌
結果が決定論的 ❌ ✅
オフラインで使用可能 ❌ ✅

ベンチマーク(README が主張するデータ)

ドキュメントに記載されている指標(すべて benchmarks/latest.json からのもので、手書きではないと主張):

  • hit@5 80.4%(検索コーパス、18 リポジトリ)
  • 単一 grep ベースラインとの比較:92.8% vs 40% — 2.32 倍の向上
  • 生成されたマップはリポジトリ全体より平均 95.7% 小さい
  • タスク成功率エージェント指標 61.9%(検索ランクに基づくモデル化)
  • タスクあたりのプロンプト数が 2.84 から 1.58 に減少(再試行 44.4% 削減、モデル化)

著者は正直に、38 言語すべてが同じ深さでサポートされているわけではないと述べています:AST 完全解析レイヤー、アンカー正規表現レイヤー、アンカーなしの行ごとのリストレイヤーに分かれています(後者の形式は KNOWN_LIMITATIONS.md で説明されています)。

注:上記の説明はすべてこの README の自己申告に基づいており、独立した検証は行われていません。

関連分野と評価

これはLLM/エージェントプログラミングワークフロー向けの決定論的コード索引・検証ツールです。LLM アプリケーション層の実用的な基盤であり、コアはトレーニング/推論ではなく、「AI を本番コードで信頼できるものにする」ことにあります。その価値提案(埋め込みなし、ベクトルDBなし、決定論的、オフライン、ゼロ依存)は現実的で差別化されており、README がベンチマーク方法と限界について正直であることも加点です。単一の開発者がゼロ依存プロジェクトを維持しているため、そのエンジニアリングの完成度(CLI、MCP、IDE 拡張、ベンチマークスイート)はかなり高いです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch