你有没有遇到过这种情况:
让 Claude Code 帮你改一个功能,它先花了五分钟用grep、find、cat在代码库里东翻西找,最后给出的方案还漏掉了三个相关的文件。
如果你的项目超过两三万行代码,这种感觉会格外明显——AI 就像一个刚入职的实习生,对整个项目结构完全懵,每次提问都要重新"带它逛一遍"。
我最近发现了一个专门解决这个问题的工具,Claude Context,用了之后真的有点惊艳。
🤔 问题根源:AI 的上下文窗口是有限的
AI 编程助手有一个先天局限:它只能"看到"被放进上下文窗口的内容。
对于小项目来说,直接把整个项目塞进去没问题。但现实中大多数需要 AI 辅助的项目,代码量往往在几万到几百万行之间,直接全部塞进去有两个后果:
Token 费用爆炸。每次对话都加载整个代码库,光上下文消耗就是天文数字。
质量反而下降。研究表明,过长的上下文会稀释信号,AI 的注意力会分散,反而找不到真正相关的代码。
所以 Claude Code 默认的策略是"让 AI 自己去探索"——一轮一轮地读文件、搜索关键词,直到找到足够的上下文再回答。这个过程既慢又贵,找到的内容还不一定准确。
Claude Context 的思路是:与其让 AI 盲目探索,不如给它一个语义搜索引擎。
🧠 Claude Context 是什么?
Claude Context 是由 Zilliz(就是做 Milvus 向量数据库那家公司)开源的一个 MCP 插件。
它做的事情简单来说就是:把你的整个代码库索引进向量数据库,当 AI 需要找代码时,用语义搜索代替人工探索。
GitHub 目前已经有9000+ Stars,支持 Claude Code、Cursor、Windsurf、Gemini CLI、Cline 等几乎所有主流 AI 编程工具。
⚙️ 技术层面它是怎么工作的?
这部分我觉得值得多聊几句,因为它的实现思路挺有意思的。
1. 混合检索(BM25 + 稠密向量)
单纯用向量相似度检索代码其实效果不稳定——尤其是精确的函数名、变量名、API 名称,向量搜索未必比关键词匹配更准。
Claude Context 用的是BM25 + 稠密向量混合检索:
BM25 负责精确关键词匹配(找
getUserById这种具体名称)向量检索负责语义理解(找"处理用户认证的函数"这种模糊描述)
两者互补,召回质量比单一方法高不少。
2. AST 智能分块
代码不能像文章那样按字数切割,切到一半的函数是没有意义的。
它用抽象语法树(AST)来做代码分块——按函数、类、方法的语义边界来切,确保每个向量片段都是一个完整的代码单元。如果 AST 解析失败,会自动回退到基于字符的切割方式。
支持的语言包括 TypeScript、Python、Java、Go、Rust、C++、Ruby、C# 等主流语言。
3. 增量索引(Merkle Tree)
代码在不断变化,不可能每次都全量重建索引。
它用Merkle Tree来追踪文件变更——只有发生变化的文件才会重新索引。对于大型项目来说,这意味着日常的增量更新非常快。
4. 向量数据库后端
存储和检索都依托Milvus / Zilliz Cloud。Zilliz 是 Milvus 的商业公司,所以这套集成是一等公民待遇。
🚀 怎么接入 Claude Code?
需要三样东西:
Zilliz Cloud 账号(免费套餐够用,拿 API Key 和 Endpoint)
OpenAI API Key(用于生成 Embedding,也支持 VoyageAI、Ollama、Gemini)
Node.js 20.x 或 22.x(注意:目前不兼容 Node.js 24)
配置就一条命令:
claude mcp add claude-context \ -e OPENAI_API_KEY=sk-你的key \ -e MILVUS_ADDRESS=你的zilliz-endpoint \ -e MILVUS_TOKEN=你的zilliz-api-key \ -- npx @zilliz/claude-context-mcp@latest之后打开 Claude Code,进到你的项目目录,然后:
# 第一次使用:索引代码库(大项目可能要等几分钟)Index this codebase# 查看索引进度Check the indexing status# 之后就可以语义搜索了Findfunctionsthat handle user authentication Find all database queryfunctionsHow is the payment flow implemented?索引完成后,每次提问 Claude 会自动调用语义搜索,而不是盲目探索文件系统。
📊 实际效果如何?
官方的评估数据是:**在检索质量相当的前提下,Token 消耗减少约 40%**。
这个数字怎么理解?假设你每天用 Claude Code 花 20 美元,接入之后大概能省 8 美元。如果是团队用,这个差距就更明显了。
更重要的是,精准检索带来的质量提升。以前 AI 要多轮探索才能搞清楚代码结构,现在一次搜索就能拿到最相关的代码片段,回答更准,修改出错的概率也更低。
🌐 不只是 Claude Code
如果你同时用多个 AI 编程工具,这个插件几乎都能接入。除了 Claude Code,还支持:
工具 | 配置方式 |
|---|---|
Cursor | ~/.cursor/mcp.json |
Windsurf | MCP 设置 JSON |
Gemini CLI | ~/.gemini/settings.json |
OpenAI Codex CLI | ~/.codex/config.toml |
VS Code | MCP 兼容扩展 |
Cline / Roo Code | 插件 MCP 设置 |
同一套向量索引,多个工具共享,不用重复建索引。
🤝 顺便提一下配套插件
Zilliz 同时还出了一个叫memsearch的 Claude Code 插件,专门解决"跨会话记忆"的问题——就是让 AI 记住你上次聊过什么、做过什么决策。
这两个插件组合起来其实挺完整的:一个负责代码检索,一个负责历史记忆,基本解决了 AI 编程助手的两大上下文痛点。
💬 我的判断
说实话,对于大型项目(5万行代码以上)来说,Claude Context 是我目前见过最务实的解决方案之一。
它不试图用什么魔法把整个代码库装进上下文,而是老老实实地做向量检索——这个思路是对的,工程实现也挺扎实(Merkle Tree 增量索引、AST 分块这些细节都处理了)。
唯一的门槛是需要一个向量数据库,这对纯前端开发者来说可能稍微有点陌生。不过 Zilliz Cloud 有免费套餐,注册一下拿 Key 就行,并不需要自己运维 Milvus。
如果你的项目代码量还不大,或者主要在写一次性脚本,这个工具的收益会没那么明显。但如果你在一个中大型项目上重度使用 Claude Code,强烈建议试试。
项目地址:https://github.com/zilliztech/claude-context,MIT 协议开源,直接 Star 收藏。
你现在用的 AI 编程工具是哪个?有没有在大型项目上踩过上下文不够用的坑?欢迎评论区聊聊。
我是顾北,关注我,获取更多好玩好用的 Claude Code 实用技巧!
谢谢你阅读我的文章~
我们下期再见!
PS:部分内容由AI辅助创作