跳转到内容

知识语料库模式

知识语料库模式

学习目标

读完本章后,你将能够:

  • 理解知识语料库的四阶段生命周期
  • 设计基于过滤条件的记忆筛选管线
  • 实现语料库注入和知识 Agent 会话的创建
  • 评估语料库更新和刷新的策略

核心概念

从记忆到知识

记忆系统积累的大量观察和摘要,本质上是一个项目经验数据库。知识语料库模式将这些原始记忆转化为可查询的领域知识:

  1. 筛选:按类型、概念、文件、日期等维度过滤出相关记忆
  2. 构建:将筛选结果组织为结构化的语料库
  3. 注入:创建专用 AI 会话,将语料库内容注入为上下文
  4. 查询:用户通过问答与语料库交互,Agent 基于语料库知识回答

四阶段生命周期

阶段 1:构建(build_corpus)

定义筛选条件,从记忆中提取相关观察:

筛选维度示例
类型bugfix,refactor,feature
概念authentication,session
文件src/auth/middleware.ts
项目my-project
日期范围2026-01-012026-05-28
语义搜索”authentication bug”

构建结果是一个持久化的语料库定义,包含名称、描述和筛选条件。

阶段 2:注入(prime_corpus)

创建一个专用的 AI Agent 会话,将语料库中的所有观察注入为上下文。这相当于给 Agent 做一次”领域知识培训”。

注入完成后,Agent 拥有了该领域的背景知识,可以回答相关问题。

阶段 3:查询(query_corpus)

用户向已注入的语料库提问。Agent 基于语料库中的知识回答,而非依赖通用训练知识。

阶段 4:刷新(rebuild + reprime)

当记忆中新增了相关观察时:

  • rebuild_corpus:重新运行筛选,包含新观察
  • reprime_corpus:创建新的 AI 会话,清除旧对话上下文

设计决策

语料库 vs 直接搜索

维度直接搜索语料库
适用场景临时查询持续领域专精
知识范围全部记忆筛选后的子集
上下文注入每次查询单独注入一次性注入,持久有效
维护成本需要定期 rebuild

语料库大小控制

  • 过小的语料库:知识不足,回答质量低
  • 过大的语料库:注入 token 过多,可能超出上下文窗口
  • 建议:通过 limit 参数控制最大观察数量(默认 500)

设计权衡

优势

  • 领域专精:Agent 可以深度了解特定子系统的历史和决策
  • 可复用:语料库一旦构建,可被多次查询
  • 可更新:通过 rebuild 保持语料库与最新记忆同步

代价

  • 维护开销:需要定期 rebuild 以保持时效性
  • 注入成本:prime 阶段需要消耗大量 token 注入全部知识
  • 知识漂移:如果长期不 rebuild,语料库可能过时

替代方案

方案优势劣势
每次搜索总是最新每次都需要注入
知识语料库(本方案)一次注入,多次查询需要维护时效性
向量化知识库语义检索、可扩展需要向量基础设施

参考来源