代码库里有座金矿,可惜没人知道怎么挖

代码库里有座金矿,可惜没人知道怎么挖

八月 08, 2026 ai development software engineering knowledge management machine learning developer tools codebase architecture enterprise software

你的代码里藏着你公司最值钱的东西,只是你自己没发现

有一件事可能会让每个 CTO 和技术负责人心里一紧:你对业务最深刻的理解,可能从来没写进过任何文档,唯一存放的地方就是代码库。

ServiceMatch 团队最近发了一篇论文,提出了一个挺有意思的观点。他们认为,成熟的软件系统不只是帮你运营业务的工具,它们本身就是一份可执行的记录,记录着组织对这个业务的所有认知。

问题是?这份认知一直就在那儿,只是以前没人能读得懂。

文档是个美丽的谎言

我们都经历过。新人入职,领到一摞 Confluence 文档、架构决策记录、Wiki 链接。"看完这些你就懂了",有人这么说过。

其实不懂。

文档记录的是某个人在某个时间点觉得值得写下来的东西,可能是几个月前,也可能是几年前。它漏掉了边界情况,漏掉了开会讨论时拍板的那些细节,漏掉了通过成千上万次提交慢慢演变出来的业务逻辑。

早在 1985 年,Peter Naur(就是发明巴科斯-诺尔范式的那位)就说过,程序文档永远没法完整表达一个系统背后的"理论"。真正的理解只存在于人的脑子里。当这些人离开,理论也跟着走了。

但事情在这里开始变得有意思了。

AI 改变了"谁来读"这个问题

Naur 当时的论证有个隐含前提:代码只有两种读者——编译器(执行代码但不理解它)和人类(理解得很慢,成本很高)。他认为文档复兴不可能实现,因为不存在第三种读者。

大语言模型就是第三种读者。而且它们在重建代码中隐含理论方面,出乎意料地擅长。

ServiceMatch 的系统给出了很有说服力的证据。他们的 CMDB 平台存储着企业配置管理的所有知识,如果写成文档,能出好几本书。但问题来了——这些知识其实已经写好了,只是没用文字写,而是用代码写的。

拿他们的身份解析逻辑来说。与其让咨询顾问写篇"设备身份识别原理"的论文,不如看看他们的配置文件里的权重设置:序列号 25 分,主机名 25 分,资产标签 25 分,IP 地址 20 分,MAC 地址 15 分。再加上置信度阈值和冲突处理规则。每一个数字都是某次讨论后拍板的结果,每一个冲突类型都对应着真实发生过的一次事故。

这不是对策略的描述。这就是策略本身,每天夜里在真实的企业环境中运行。

对你的团队意味着什么

对于开发者和技术负责人来说,这项研究有几个实际启示:

代码本身就是文档,只是你一直在放任它自生自灭。 跟过时的 wiki 页面不同,在生产环境运行的代码会不断被验证。如果文档和代码打架,以代码为准。

AI 工具正在变得更能提取这类知识。 我们正在走向一个可以向 AI 提问"我们怎么处理设备身份冲突"的时代,它返回的不只是文档,而是权重和阈值背后真实的推理过程。

真正的知识藏在边界情况里。 主流程通常有很好的文档记录。真正体现深厚业务积累的,是那些特殊处理、异常分支、经过多年打磨才完善的边缘场景。

一个警示

这背后还有个让人不太舒服的推论:如果你的业务逻辑只在代码里,而你的代码测试覆盖率低、命名混乱、结构一团糟,那你守着的其实是一座几乎无法开采的知识金矿。

ServiceMatch 团队发现,他们的论点——"代码仓库就够了"——在某些情况下确实站不住脚。Naur 说的隐性知识是真实存在的。有些东西真的只存在于人的脑子里。

但更重要的发现是:代码里保存的知识比我们以为的多得多。代码仓库捕获的理论知识,远超任何文档能记录的量——只是我们之前缺少一种新的"读者"来把它提取出来。

你可以怎么做

如果你是一家创业公司或正在成长的科技企业,这里有个思考框架:

  1. 文档和代码不一致的时候,信代码
  2. 写代码的时候想着它会成为文档 ——有意义的变量名、清晰的函数、解释"为什么"而不是"做了什么"的注释
  3. 把配置文件当成制度知识来对待 ——那些权重和阈值是值得保留下来的决策
  4. 开始尝试能对话代码库的 AI 工具

你今天写的代码,就是明天的制度知识。让它真正有价值。

Read in other languages:

RU EL BG UZ CS TR SV FI RO PL PT NB IT NL HU DA DE FR ES EN