知识库工程
一句话定义
知识库工程(Knowledge Engineering)是将散落在代码、文档、运行数据和人工经验中的业务事实,持续组织为带层级、元数据、更新机制与检索路径的工程资产,并让 AI Agent 能按任务精确加载和验证这些上下文的实践。
摘要
它不是把文档丢进向量库就结束,也不等于写一份给模型看的项目说明。真正的知识库工程同时要解决四件事:如何把代码和人工知识分别沉淀到稳定目录;如何将服务、接口、依赖、存储和历史问题变成机器可定位的结构化文档;如何让查询只读取必要的内容;以及代码持续变化时,如何发现和修复过期事实。
腾讯应用宝活动平台的案例将知识库工程放在 Harness-Engineering 的底座位置:其知识库覆盖多个业务域和微服务,由自动生成文档与人工 custom/ 文档协同维护。上层 Agent 不再在每次对话中重新听人解释业务,而是先经总览、域索引再定位服务级材料。这个案例也说明,知识质量不仅取决于“收了多少材料”,还取决于能否保留人工判断、追踪来源版本,并让检索路径符合真实工程结构。
详情
起源与背景
传统的研发文档常按团队习惯散落在仓库、Wiki、接口平台和聊天记录中。对人类工程师而言,经验可以弥补索引和更新的缺失;对 AI 而言,缺少业务范围、接口关系和历史决策时,每次任务都近似从零理解。将所有文件一次性塞入上下文也不可行:内容越多,噪声、成本和过期事实带来的风险越大。
因此,知识库工程把“可供模型使用的上下文”视作需要设计和运维的产品。它吸收 RAG 的检索思想,但不局限于相似度召回;在代码库场景中,文件层级、服务索引、命名约定、版本和引用关系往往是更可靠的定位线索。它还与 Agent-Skill 配合:Skill 将生成、更新、查询和校验的流程固化,而不是要求每个 Agent 临时猜测目录、工具或输出格式。
核心机制 / 工作原理
一个可维护的工程知识库通常由四层构成:
- 全局与域索引:全局总览描述业务域、关键词和服务范围;域索引以
meta.yaml等机器可读文件登记服务、文档状态、来源版本和归属。这一层应足够小,能先把问题路由到有限范围。 - 服务事实与人工补充:服务层按接口、架构、依赖、存储、配置、坑点等固定文档类型记录可从代码生成的事实;
custom/或custom.md则保存业务背景、架构决策、例外规则和历史包袱。二者地位相同,自动更新不能覆盖人工补充。 - 渐进式检索:先读总览,再筛域索引,最后按问题类型加载必要文档。例如查接口可直达接口文档,而无需加载整套服务材料。这降低 token 消耗,也避免不相关上下文干扰模型判断。
- 新鲜度和审计:记录生成文档时的
git_hash或等价版本;与当前 HEAD 比对后,超过时间或提交差异阈值便触发增量更新。更新应保留人工内容,并在追加式日志中写入时间、版本和变更摘要,以便追溯。
这套机制的关键不是自动生成越多越好,而是把“事实从哪里来、何时失效、谁能改、模型该读什么”都显式化。没有新鲜度检测的文档会以可信外观传播旧事实;没有人工补充的文档又很难覆盖业务意图和隐性约束。
应用 / 使用场景
- 复杂微服务研发:为需求拆解、技术方案、接口搜索和故障诊断提供按服务定位的上下文。
- AI Coding 的长程交付:让不同阶段的 Agent 读取同一份可版本化事实,而非依赖对话历史。
- 新成员和跨团队协作:通过总览、域和服务的稳定入口降低寻找知识的成本。
- 合规或高风险业务:保留事实来源、人工批注和更新记录,避免 Agent 依据无法追踪的旧说明执行操作。
数据研发中的语义资产闭环
电商数研场景将知识库工程进一步落到可执行的数据语义:指标、维度、表资产、SQL 模板和业务规则不是只供人阅读的资料,而是 NL2SQL 在生成前必须检索和遵循的约束。文章提出以“标准名称 + 别名映射 + 语义边界”治理相同或相近概念,避免检索把“GMV/交易额”或不同定义的“活跃商家”混为一谈;上线前拦截重复资产,上线后以健康度评估和冗余清理对抗资产腐化。
这也补足了工程知识库的回写机制:每次数据需求的 SPEC、PLAN、SQL 与验证报告进入归档记忆,新增指标定义进入语义资产库,失败经验沉入反模式文件。这样,知识库不只是检索输入,还承担了可复盘的交付记录和后续任务的约束来源。对于高风险查询,仍应通过权限、真实执行结果和人工复核验证;知识库能缩小猜测空间,却不能替代生产数据的正确性证明。
局限与争议
- 冷启动昂贵:接口、依赖和领域知识的首次梳理需要大量工程投入,自动生成无法替代对业务边界的判断。
- 结构会过期:目录和元数据规范本身也需要随组织、仓库和服务边界调整,不能把最初分类当成永久真相。
- 检索不是正确性的保证:即使准确找到了文档,也仍需通过测试、真实接口验证或人工复核确认当前行为。
- 过度抽取会损失语境:将所有材料压缩成字段可能漏掉决策背景,所以人工补充和可回溯原始材料不可省略。
与其他实体的关系
- Harness-Engineering —— 知识库工程为需求拆解、实现、验证等 Harness 阶段提供可复用且可更新的业务上下文。
- RAG —— 两者都解决外部知识供给;知识库工程更强调面向工程资产的层级、版本、维护和确定性定位。
- Agent-Skill —— Skill 可将文档生成、增量更新、知识查询和质量检查封装为可重复执行的能力。
- NL2SQL —— 语义资产、SQL 模板与验证记录让自然语言查询能够先映射到可治理的业务定义,再生成并校验 SQL。
参考来源
- 从AI-Coding到Harness-Engineering的端到端工程开发实践 —— 腾讯应用宝活动平台的知识库三层结构、自动/人工协同、渐进加载与 git hash 新鲜度检测实践。
- 从-Coder-到-Designer-电商团队数据研发的-Harness-Engineering实践 —— 电商数据研发用语义资产治理、归档记忆与反模式回写支撑 NL2SQL 的案例。