代码库知识图谱索引
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/codebase-knowledge-graph。
技能介绍
要解决什么
在百万行规模的仓库里,"谁调用了 X"、"改了 Y 会影响谁"这类问题,靠 grep 加人肉记忆已经不够用了。纯向量检索把代码切片后嵌入向量库,能回答语义相似的问题,却丢掉了函数之间的调用、继承和依赖关系,回答不了"谁依赖谁"。本技能针对的正是编码代理在大仓中缺失全库结构上下文的问题——新人上手、影响面分析、跨文件追溯依赖时,代理往往只能看到当前打开的几个文件。
它的工作方式
核心思想源自 codebase-memory-mcp:用 AST 把代码解析为实体(函数、类)和边(调用、继承),持久化进图数据库,代理用 Cypher 或自然语言直接问图,拿到的是可解释的子图,而不是全文片段。建图分四步:
- 解析入图:AST 抽取实体与边,构建持久图谱;
- 增量更新:代码变动时只更新受影响子树,避免每次提交全量重建;
- 自然语言查询:代理以
Cypher或语义方式提问,得到精确子图; - 接入工作流:把图谱查询作为工具暴露给编码代理,让它在动手前先"看懂"仓库。
适用边界与注意点
- 语言覆盖:先确认主语言在 AST 解析支持列表内,否则图谱不完整;
- 图规模:实体过多会引入噪声,需按模块分层查询,别把整个仓库塞进一次请求;
- 辅助而非决策:图谱用于辅助理解,关键架构决策仍需人工评审,AI 输出应以官方文档为准。
使用场景
- 新人刚接手百万行仓库,需要快速理清某个函数被哪些模块调用、修改它会影响哪些功能
- 编码代理要在大仓中修改代码,必须先获取全库的结构上下文,避免改错地方
- 做功能迭代时,要分析改动某个类会对下游依赖产生什么影响,得查清楚调用链
- 跨文件追溯依赖关系时,需要知道某个模块的变更会波及哪些其他模块
适合人员
- 维护百万行代码库的首席开发,需要解决代理无法理解全库结构的问题
- 要让编码代理基于全库上下文改代码的AI工程师,寻求结构化代码索引方案
- 负责大仓功能迭代的技术负责人,需要准确评估改动的影响范围
- 刚接手大型仓库的新人工程师,想要快速理清代码的调用与依赖关系