第23篇结尾提到:为 AI 治理元数据和为人类维护者治理元数据,几乎是同一件事。这篇把这个观察展开。
一个常见的误解
很多团队在讨论元数据治理时,把它理解成"为了让 AI 能用,我们要额外做一些工作"。言下之意,治理是 AI 项目带来的附加负担,没有 AI 的话这些工作本来不需要做。
这个理解并不完整。更准确的表述是:很多治理工作本来就是工程质量的一部分,它让系统对所有需要理解它的对象都更友好------无论是 AI、新入职的开发者、接手维护的外包团队,还是六个月后已经忘了当初怎么写的自己。
把治理理解成"为 AI 额外做的事",会让团队低估它的价值,也会让它在项目结束后停止维护。把它理解成"工程质量的基础要求",治理才能作为开发习惯持续下去。
过两个月自己都看不懂
有一类工程问题,每个有经验的开发者都遇到过:回头看两三个月前自己写的代码,发现有段逻辑完全看不懂当时的意图。
这不是记忆力差的问题,而是当初写代码时,很多上下文信息存在写代码的人的脑子里,没有被外化到代码本身。字段叫 stat,当时知道它表示审批状态;枚举值是 1、2、3,当时清楚 2 是"审批中"。两个月后这些对应关系从记忆里消退,代码变成了一个需要重新解码的谜题。这也不只是个人问题。一个系统在开发团队更迭之后,新成员接手的第一件事通常是花大量时间"读懂系统",如理解字段含义、梳理表关系、弄清楚服务端命令之间的依赖。这个过程在文档缺失、命名混乱的系统里可能需要几周。
治理工作,比如把 stat 改成 审批状态,给枚举值加备注,补充表关联,写服务端命令的描述------做完这些,系统对维护者的友好程度会显著提升。新成员不再需要靠猜测和询问来理解系统,信息直接从代码里读取出来。这和让 AI 读懂系统,在基础信息层面解决的是同一类问题。
AI 和新入职的开发者面临同样的困境
第23篇提出了一个判断治理质量的测试方法:让一个完全陌生的同事只看本体文件,能不能在 20 分钟内理解系统。
这个测试之所以有效,是因为 AI 和这位陌生同事面临着相似的信息缺口。两者都没有关于这个系统的先验知识,都需要从元数据里读取信息,并通过已有的信息推断出没有直接说明的内容。但它们并不完全等价。人类维护者可以追问同事、查代码、结合经验做判断;AI 则受到上下文窗口、工具描述、白名单和调用约束的影响。信息的质量对两者的影响方向是一样的:信息清晰,两者都更容易理解;信息模糊,两者都会猜测,猜测都可能出错。这意味着,基础元数据治理可以同时服务于两个目标:"对新入职开发者友好"和"对 AI 友好"。它们不需要从零分别做两套治理工作,但 AI 上线仍然需要额外的运行时治理,比如白名单、权限、审计和回归测试。
具体来说,哪些治理工作是双向有益的
把第23篇里的基础元数据治理规则逐条对照,大多数对人类维护者同样有价值。
- 表名列名不用拼音缩写。 对 AI 有益:能识别实体语义。对维护者有益:接手系统不需要先学一套内部缩写字典,
CGRKDMX这样的命名在离职交接时是真实的沟通障碍。 - 技术侧名词保持一致。 对 AI 有益:不会把同一个概念识别为多个不同实体。对维护者有益:在讨论需求和排查问题时,不会因为同一个东西有三个叫法而产生歧义,开会时说"费用单元"还是"成本中心"不会引发理解偏差。
- 枚举值加备注。 对 AI 有益:知道字段可以取哪些值,每个值是什么含义。对维护者有益:看代码时不需要去查数据字典或者问同事"3 到底是什么状态",这类问题在系统维护过程中出现的频率比想象中高得多。
- ID 类参数说明归属。 对 AI 有益:能把参数和对应实体关联起来。对维护者有益:在写关联查询或者调用接口时,不需要猜测这个 ID 对应的是哪张表的哪个字段。
- 表关联配置。 对 AI 有益:能推导出跨表查询的路径。对维护者有益:新成员阅读数据模型时能直接看出表之间的关系,不需要通过查外键字段的命名来反向推断。
- 服务端命令谓宾结构命名、写好描述。 对 AI 有益:能从名字和描述判断命令的用途和适用条件。对维护者有益:看到"释放预订库存"比看到
cmd_execute_017更能快速理解这个命令的职责,也更容易判断新需求应该复用哪个命令还是新建一个。
这些基础治理规则,很少是"只对 AI 有益而对人无益"的。事实上,这些建议也是活字格最佳实践的组成部分,他们的出现甚至早于大语言模型的普及。
为什么这个洞察在项目决策上有价值
理解"治理是双向有益的",在项目资源分配上有直接的影响。
如果治理被定位成"AI 项目的专项工作",它就很容易在项目结束后停止,因为没有 AI 功能需要维护时,治理的动机消失了。下一次接入新应用或者系统更新,又要重新从头做治理,形成一个周期性的高成本工作。
如果治理被定位成"工程质量标准的一部分",它就会作为开发规范持续存在,每次新开发或修改都遵循这些规范,系统的本体质量随着开发过程自然保持。接入 AI 工作台时,额外治理投入会显著降低,因为系统本身已经处在相对可读的状态。
后者才是治理应该在团队里存在的形式。推动这个转变,需要把治理的价值说清楚:它不是只为了 AI,也不是只为了某个项目,而是工程可维护性的基础工作,受益者包括所有现在和将来需要理解这个系统的人。落到日常实践里,可以把这些要求放进开发和评审流程:新建表时检查命名是否清晰,新建枚举字段时补全取值含义,新建服务端命令时写清适用场景和影响范围,发版前检查主数据表和业务单据表之间的关联是否完整。如果接入了 AI 工作台,还要额外检查白名单、权限边界、调用日志和典型任务回归测试。
一个有趣的副作用
在我们目前接触到的几个项目里,有团队在做完治理之后反馈,系统的日常维护效率提升了,和预期的方向一致,但提升幅度超出预期。原因是治理过程本身迫使开发者重新审视了系统的结构,如在给枚举值加备注时发现某些字段定义不清晰,在配置表关联时发现某些数据模型设计有冗余,在写服务端命令描述时发现某些命令的职责边界模糊,本来一个命令应该拆成两个。
治理不只是在给已有信息贴标签,它在某种程度上是一次强制性的系统审视。这个审视暴露的问题,如果在这个阶段处理掉,成本远低于在生产环境里出现后再排查。这是一个没有被预期到的收益,但在目前几个项目里都出现了相似的规律。
治理是一次投入,双向受益
总结一下,治理元数据让系统对 AI 可读,同时让系统对人类维护者可读。两个目标不是完全分开的两件事,而是共享同一套基础工程质量。做好基础治理,对人和对 AI 的收益会同时发生;在这个基础上,再叠加 AI 运行时需要的白名单、权限、审计和测试。这意味着治理的价值不应该只用"AI 调用准确率提升了多少"来衡量,还应该包括系统可维护性的改善、新成员上手成本的降低、团队在代码评审时沟通效率的提升。这些收益加在一起,才是治理投入的完整回报。
把这个账算清楚,治理就不再是一个为了让 AI 能用而不得不做的负担,而是一项值得持续投入的工程基础设施建设。