manojmallick/sigmap
~97% token reduction for AI coding sessions — zero deps, 38 languages, MCP server
⚡ SigMap — 面向 AI 编码代理的确定性代码落地层
一句话概括
SigMap 是一个开源命令行工具,能够构建你所见即所得的、可验证的代码库索引——它不依赖 LLM、嵌入技术或向量数据库,每次对同一仓库都会生成完全相同(字节级稳定)的"签名与证据图"。这能帮助 AI 编码代理(Claude、Cursor、Aider 等)快速找到正确的文件、符号和行号,并验证 AI 的答案是否真实基于代码,而不是凭空捏造。
它想解决的问题
- 传统的"代理式 grep"循环不可复现,且 AI 在不了解实际代码的情况下常常幻想出文件或函数名
- 嵌入/向量数据库的方式需要维护额外的设施(向量库、索引管线),而且结果不确定
- SigMap 用一个零依赖、离线、确定性的替代方案来解决:不用向量库,只靠文本签名 + TF-IDF 排序;不用重跑索引管线,重新生成只需一条命令
npx sigmap
它是如何工作的(流水线)
Ask → Rank → Context → Validate → Judge → Learn
- Ask — CLI 指令,如
sigmap ask "Where is auth handled?",返回按相关性排名的文件列表 - Rank — TF-IDF 算法对代码库中的每个文件与查询向量打分
- Context — 将紧凑的符号签名写入 AI 的上下文文件(如
CLAUDE.md、.cursorrules) - Validate — 确认哪些文件在范围内
- Judge — 对 AI 回答的"扎根性"(groundedness)进行评分
- 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),替代"把这段粘到 prompt 里"的手动操作,CI 或代理可直接读取
- IDE 扩展:VS Code、JetBrains、Neovim
与"为什么不用嵌入"对比
| Embeddings | SigMap | |
|---|---|---|
| 需要向量库 | ✅ | ❌ |
| 需要基础设施 | ✅ | ❌ |
| 结果确定 | ❌ | ✅ |
| 离线可用 | ❌ | ✅ |
基准(README 声称的数据)
文档中给出的指标(均声称来自 benchmarks/latest.json,非手写):
- 命中@5(hit@5)80.4%(检索语料库,18 个仓库)
- 单次 grep 基线对比:92.8% vs 40% —— 2.32× 提升
- 生成的 map 比全仓库平均小 95.7%
- 任务成功率代理指标 61.9%(基于检索等级模型化)
- 每个任务提示数从 2.84 降至 1.58(减少 44.4% 的重试,模型化)
作者也诚实说明:并非所有 38 种语言都做到同样的深度——分为 AST 完整解析层、锚定正则层、以及无锚定的逐行列表层(后者的格式在 KNOWN_LIMITATIONS.md 中有说明)。
注:以上描述均仅基于该 README 自述内容,未经独立验证。
涉及领域与评价
这是面向 LLM/agent 编程工作流的确定性代码索引与验证工具——属于 LLM 应用层的实用基建,核心不在训练/推理,而在"让 AI 在生产代码上可信任"。它的价值主张(无嵌入、无向量库、确定性、离线、零依赖)real 且具有差异性,README 对基准方法和局限的诚实态度也加分。作为单职业开发者维护零依赖项目,其工程完成度(CLI、MCP、IDE 扩展、benchmark 套件)相当完善。
Related
- Project
- Project
- Project
- Project
- Dispatch