AI 懂你的代码,但你的同事不懂——聊聊代码知识库的另一面

3 阅读5分钟

最近 Qoder 推出了 Repo Wiki 功能,能自动解析代码仓库,生成结构化的知识文档,还能持续跟踪代码变更增量更新。很多同行说:这不就够了吗?为什么还要自己做知识归档插件?

这个问题我也想了很久。答案是:它们解决的是不同的问题。

两种知识库,两种思路

Qoder 的 Repo Wiki 解决的是:让 AI 更懂你的代码。

它生成架构概览、API 文档、数据流图,构建 Code Graph、Commit Graph,让 AI 在对话时能立体地理解项目。本质上,这些知识是给 AI 用的上下文——让 AI 回答代码问题时更准确。

我做的 Knowledge Archiver 解决的是:让人更懂你的业务。

它生成的文档不是给 AI 看的,是给人看的——新入职的同事、跨部门的产品经理、需要排查问题的运维人员。

这两个需求不冲突,但侧重点完全不同。

一个真实场景

假设你的项目里有一个"工单管理"模块。

Qoder Repo Wiki 会告诉你

  • WoHdrService 是工单头表的服务类
  • 它依赖 WoHdrDao 访问数据库
  • 调用链路是 Controller → Service → DAO
  • 模块依赖关系图

这些信息对 AI 回答"工单模块的代码结构是什么"非常有用。

但产品经理问的是

  • 工单的完整业务流程是什么?从创建到完成经过哪些步骤?
  • 审批规则是什么?什么情况下需要二次审批?
  • 工单变更会影响哪些下游环节?

新人问的是

  • 我第一天上班,这个模块我应该先了解什么?
  • 测试验收标准是什么?哪些边界条件容易出问题?
  • 运维需要关注哪些日志和监控指标?

销售问的是

  • 这个模块的核心价值是什么?
  • 和客户之前用的系统比,优势在哪里?

这些问题,Repo Wiki 回答不了。不是因为它不好,而是因为它的设计目标就不是回答这些问题

多视角文档:一份文档服务所有角色

这就是为什么我在插件里设计了 7 个视角的文档结构:

视角核心关注谁最关心
开发视角业务流程、状态机、核心实现开发者
测试视角验收标准、边界场景测试人员
运维视角日志监控、常见故障运维人员
实施视角配置项、接口协议实施人员
产品视角需求背景、业务痛点产品经理
客户视角操作流程、功能入口客户/用户
销售视角价值主张、核心优势销售

AI 能从代码推导的(开发/测试/运维/实施),自动填充。推导不了的(产品/客户/销售),留 TODO 供人工补充。

一份文档,七种角色各取所需。  这不是 Repo Wiki 要做的事——因为后四个视角和代码结构无关,AI 从代码里推导不出来。

知识的质量门控

另一个关键差异:知识不是生成出来就完了,还需要确保质量。

AI 生成的内容无法保证 100% 准确。它可能误解代码意图,可能生成"可能""或许"这样的推测性内容,可能遗漏关键边界条件。

如果这些内容直接变成"正式知识",后续所有基于它的操作——新人学习、跨部门沟通、业务决策——都可能被误导。

所以我的插件设计了两阶段流程:

AI 生成草稿 → 人工审核 → 升格为正式文档

这不是多余的步骤。这是质量保障

就像代码 review 一样——你可以让 AI 写代码,但提交前必须有人 review。知识也一样。

文件即记忆,而不是 AI 的记忆

Qoder 的知识库存在 .qoder/repowiki/ 目录里,虽然也是文件,但它的结构和格式是为 Qoder 服务的。

我的插件把知识存在 docs/core/ 目录里——这是项目的正式文档目录,不是插件的内部数据。

这意味着:

  • 不绑定任何 IDE。换 IDE、换 AI 工具,文档依然在
  • 可以被 Git 版本控制。追踪知识的演进历史,谁改了什么一目了然
  • 人可以直接编辑。不需要打开任何特殊工具,任何 Markdown 编辑器都行
  • 团队可以 review。知识文档的变更可以像代码一样走 PR 流程

知识不应该被锁在某个工具的内部。  它是团队的资产,应该属于项目本身。

不是替代,是互补

说到底,Qoder Repo Wiki 和我的插件不是竞争关系,是互补关系:

Repo Wiki → 让 AI 更懂代码 → 服务 AI
Knowledge Archiver → 让人更懂业务 → 服务团队

一个项目里同时有两种知识库,完全不冲突:

  • AI 需要理解代码时,查 Repo Wiki
  • 人需要理解业务时,查 Knowledge Archiver 生成的文档
  • 新人入职时,先看多视角文档了解全貌,再用 AI 对话深入细节

代码知识库不是只有一个正确答案的问题。  不同层次的知识需求,需要不同的工具来满足。

最后

代码知识库这个赛道正在变得越来越热闹。Qoder、Sourcegraph、各种 RAG 方案都在做。但大多数方案都在解决同一个问题——让 AI 更懂代码。

很少有人在意:让人更懂业务。

这就是我做这个插件的原因。