codebase-memory-mcp语言基准解读:63语言三档评分体系全解析
【免费下载链接】codebase-memory-mcpHigh-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.项目地址: https://gitcode.com/GitHub_Trending/co/codebase-memory-mcp
codebase-memory-mcp 是一款高性能代码智能 MCP 服务器,能把代码库在毫秒级索引成持久化知识图谱,查询响应亚毫秒,帮助 AI 编程代理节省约 99% 的 token。它的官方语言基准(Language Benchmark)覆盖 63 种语言、采用三档评分体系,是了解"这个工具到底支持哪些语言、支持到什么程度"的最佳入口。
基准测试方法论:12 道题如何考一门语言 🧪
完整报告见 docs/BENCHMARK.md,核心规则如下(方法论章节):
| 维度 | 说明 |
|---|---|
| 语言规模 | 63 种语言(27 种编程语言 + 8 种配置/标记语言),另有 30 余种语言已支持但尚未纳入基准 |
| 题量 | 编程语言每门 12 题,配置类语言 4 题 |
| 重试策略 | 每题最多 5 次尝试,失败后逐步升级重试策略 |
| 测试语料 | 真实开源仓库(78 ~ 49K 节点,覆盖中大型项目) |
| 评分制 | PASS(1.0 分)/ PARTIAL(0.5 分)/ FAIL(0 分),N/A 不计入分母 |
| 测试环境 | Apple M3 Pro,macOS Darwin 25.3.0 |
12 道题目对应开发者最常问的 12 类问题(题目清单):
| 题号 | 类别 | 考什么 | 对应工具 |
|---|---|---|---|
| Q1 | 索引 | 索引统计(节点/边/Schema) | get_graph_schema |
| Q2/Q3 | 发现 | 找函数、找类 | search_graph |
| Q4 | 模式 | 按名称模式搜索 | search_graph |
| Q5/Q6 | 检索 | 取代码片段、全文搜索 | get_code_snippet/search_code |
| Q7/Q8 | 追踪 | 出向 / 入向调用链 | trace_call_path |
| Q9/Q10/Q11 | 图谱 | Cypher 查询、属性、继承关系 | query_graph |
| Q12 | 文件 | 列目录 | list_directory |
💡 巧思:C、Bash、Erlang 等无类继承的语言,继承题记 N/A 而非 0 分,避免"不公平扣分"。
三档评分体系:Tier 定义与语言分布 🏆
基准把 63 种语言的结果归纳为三档(Tier 分类表):
| 档位 | 分数区间 | 数量 | 代表语言 |
|---|---|---|---|
| Tier 1 · 优秀 | ≥ 90% | 17 种 | Lua、Kotlin、C++、Perl、Objective-C、Groovy、C、Bash、Zig、Swift,以及 CSS/YAML/TOML/HTML/SCSS/HCL/Dockerfile 等配置语言 |
| Tier 2 · 良好 | 75%–89% | 16 种 | Python、TypeScript、TSX、Go、Rust、Java、JavaScript、PHP、C#、Scala、Ruby、R、Dart、Erlang、Elixir、SQL |
| Tier 3 · 可用 | < 75% | 2 种 | OCaml(72%)、Haskell(62%) |
几个关键结论(跨语言发现章节):
- 🥇17 种语言拿到 100 分——超过一半被测语言零扣分,包括 C(jq)、Bash、Perl、Kotlin(ktor)
- 📊没有任何语言低于 62%,即使最弱的 Haskell 也能完成全部核心操作
- 🐘超大仓库无压力:Django(49K 节点)、Laravel(38K 节点)、neovim(24K 节点)全部跑通
- 🧯内核级压力测试通过:Linux 内核子系统 2 万节点 + 6.7 万边,12.9 万字符的深层调用追踪零超时
总分盘点:91.8% 的整体正确率 📈
汇总 370 道题的结果(聚合统计):
| 指标 | 数值 |
|---|---|
| PASS(完全通过) | 327 题(88%) |
| PARTIAL(部分通过) | 25 题(7%) |
| FAIL(未通过) | 18 题(5%) |
| 加权总分 | 339.5 / 370 |
| 整体得分率 | 91.8% |
| 满分语言 | 17 种 |
常见扣分点在哪?
- Q10 属性题:多数语言能返回函数,但参数/返回类型常为
null,是最高频的扣分项 - Q7/Q8 追踪题:抽象方法、入口函数会正确返回 0 条边(无假阳性),但因"无结果可展示"被判 PARTIAL
- Q11 继承题:使用 traits、protocols、typeclass 的语言(Rust、Elixir、Haskell)缺少 INHERITS 边
已知局限(官方如实披露)
- 函数参数/返回类型多数语言尚未提取
- Haskell 函数组合(
f . g)未建模为 CALLS 边 - OCaml 模块/函子间接调用解析有限
- Cypher 的
IS NOT NULL暂不支持 query_graph有 200 行上限,大仓库聚合查询可能低估
想复现或深入了解?🔍
- 基准全文:docs/BENCHMARK.md(含每种语言的逐题明细表)
- 下一轮 159 语言评估计划:docs/EVALUATION_PLAN.md,将引入"LLM 盲评裁判"和 9 种 LSP 混合语言的深度测试
- 10 门核心语言的类型感知解析器(Hybrid LSP)源码:internal/cbm/lsp/
- 语言支持总览(含 162 语言完整清单):README.md
- 索引/搜索基准脚本:scripts/benchmark-index.sh
如需克隆仓库自行验证:
git clone https://gitcode.com/GitHub_Trending/co/codebase-memory-mcp总结
codebase-memory-mcp 的语言基准用统一命题、真实仓库、盲式评分的方式,为 63 种语言给出了可量化、可复现的三档评级:17 种优秀、16 种良好、2 种可用,整体 91.8% 的得分率说明其对主流开发语言的图谱查询能力已相当成熟。对于评估"我的语言是否被支持、支持到什么程度",这份基准是目前市面上少见的、对新手友好的透明度范本。
【免费下载链接】codebase-memory-mcpHigh-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.项目地址: https://gitcode.com/GitHub_Trending/co/codebase-memory-mcp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考