知识库工程

一句话定义

知识库工程(Knowledge Engineering)是将散落在代码、文档、运行数据和人工经验中的业务事实,持续组织为带层级、元数据、更新机制与检索路径的工程资产,并让 AI Agent 能按任务精确加载和验证这些上下文的实践。

摘要

它不是把文档丢进向量库就结束,也不等于写一份给模型看的项目说明。真正的知识库工程同时要解决四件事:如何把代码和人工知识分别沉淀到稳定目录;如何将服务、接口、依赖、存储和历史问题变成机器可定位的结构化文档;如何让查询只读取必要的内容;以及代码持续变化时,如何发现和修复过期事实。

腾讯应用宝活动平台的案例将知识库工程放在 Harness-Engineering 的底座位置:其知识库覆盖多个业务域和微服务,由自动生成文档与人工 custom/ 文档协同维护。上层 Agent 不再在每次对话中重新听人解释业务,而是先经总览、域索引再定位服务级材料。这个案例也说明,知识质量不仅取决于“收了多少材料”,还取决于能否保留人工判断、追踪来源版本,并让检索路径符合真实工程结构。

详情

起源与背景

传统的研发文档常按团队习惯散落在仓库、Wiki、接口平台和聊天记录中。对人类工程师而言,经验可以弥补索引和更新的缺失;对 AI 而言,缺少业务范围、接口关系和历史决策时,每次任务都近似从零理解。将所有文件一次性塞入上下文也不可行:内容越多,噪声、成本和过期事实带来的风险越大。

因此,知识库工程把“可供模型使用的上下文”视作需要设计和运维的产品。它吸收 RAG 的检索思想,但不局限于相似度召回;在代码库场景中,文件层级、服务索引、命名约定、版本和引用关系往往是更可靠的定位线索。它还与 Agent-Skill 配合:Skill 将生成、更新、查询和校验的流程固化,而不是要求每个 Agent 临时猜测目录、工具或输出格式。

核心机制 / 工作原理

一个可维护的工程知识库通常由四层构成:

  1. 全局与域索引:全局总览描述业务域、关键词和服务范围;域索引以 meta.yaml 等机器可读文件登记服务、文档状态、来源版本和归属。这一层应足够小,能先把问题路由到有限范围。
  2. 服务事实与人工补充:服务层按接口、架构、依赖、存储、配置、坑点等固定文档类型记录可从代码生成的事实;custom/custom.md 则保存业务背景、架构决策、例外规则和历史包袱。二者地位相同,自动更新不能覆盖人工补充。
  3. 渐进式检索:先读总览,再筛域索引,最后按问题类型加载必要文档。例如查接口可直达接口文档,而无需加载整套服务材料。这降低 token 消耗,也避免不相关上下文干扰模型判断。
  4. 新鲜度和审计:记录生成文档时的 git_hash 或等价版本;与当前 HEAD 比对后,超过时间或提交差异阈值便触发增量更新。更新应保留人工内容,并在追加式日志中写入时间、版本和变更摘要,以便追溯。

这套机制的关键不是自动生成越多越好,而是把“事实从哪里来、何时失效、谁能改、模型该读什么”都显式化。没有新鲜度检测的文档会以可信外观传播旧事实;没有人工补充的文档又很难覆盖业务意图和隐性约束。

应用 / 使用场景

  • 复杂微服务研发:为需求拆解、技术方案、接口搜索和故障诊断提供按服务定位的上下文。
  • AI Coding 的长程交付:让不同阶段的 Agent 读取同一份可版本化事实,而非依赖对话历史。
  • 新成员和跨团队协作:通过总览、域和服务的稳定入口降低寻找知识的成本。
  • 合规或高风险业务:保留事实来源、人工批注和更新记录,避免 Agent 依据无法追踪的旧说明执行操作。

数据研发中的语义资产闭环

电商数研场景将知识库工程进一步落到可执行的数据语义:指标、维度、表资产、SQL 模板和业务规则不是只供人阅读的资料,而是 NL2SQL 在生成前必须检索和遵循的约束。文章提出以“标准名称 + 别名映射 + 语义边界”治理相同或相近概念,避免检索把“GMV/交易额”或不同定义的“活跃商家”混为一谈;上线前拦截重复资产,上线后以健康度评估和冗余清理对抗资产腐化。

这也补足了工程知识库的回写机制:每次数据需求的 SPEC、PLAN、SQL 与验证报告进入归档记忆,新增指标定义进入语义资产库,失败经验沉入反模式文件。这样,知识库不只是检索输入,还承担了可复盘的交付记录和后续任务的约束来源。对于高风险查询,仍应通过权限、真实执行结果和人工复核验证;知识库能缩小猜测空间,却不能替代生产数据的正确性证明。

局限与争议

  • 冷启动昂贵:接口、依赖和领域知识的首次梳理需要大量工程投入,自动生成无法替代对业务边界的判断。
  • 结构会过期:目录和元数据规范本身也需要随组织、仓库和服务边界调整,不能把最初分类当成永久真相。
  • 检索不是正确性的保证:即使准确找到了文档,也仍需通过测试、真实接口验证或人工复核确认当前行为。
  • 过度抽取会损失语境:将所有材料压缩成字段可能漏掉决策背景,所以人工补充和可回溯原始材料不可省略。

与其他实体的关系

  • Harness-Engineering —— 知识库工程为需求拆解、实现、验证等 Harness 阶段提供可复用且可更新的业务上下文。
  • RAG —— 两者都解决外部知识供给;知识库工程更强调面向工程资产的层级、版本、维护和确定性定位。
  • Agent-Skill —— Skill 可将文档生成、增量更新、知识查询和质量检查封装为可重复执行的能力。
  • NL2SQL —— 语义资产、SQL 模板与验证记录让自然语言查询能够先映射到可治理的业务定义,再生成并校验 SQL。

参考来源