知识库自动构建:从对话到结构化知识
知识库自动构建:从对话到结构化知识
概述
知识库自动构建是指 Agent 在对话过程中自动识别有价值的信息,将其整理为结构化的知识页面,并通过索引和图谱支持可视化浏览与检索的技术。
与记忆系统(按时间组织)不同,知识库按主题组织,类似于个人的 Markdown Wiki。
知识写入触发场景
| 场景 | 知识路径 | 示例 |
|---|---|---|
| 用户分享文章/链接/文档 | knowledge/sources/<slug>.md | 论文摘要、博客要点 |
| 深度讨论产生结论/方案 | knowledge/analysis/<slug>.md | 技术选型分析、方案设计 |
| 涉及重要实体(人物/公司/项目) | knowledge/entities/<name>.md | 人物档案、项目介绍 |
| 讨论技术概念/方法论 | knowledge/concepts/<topic>.md | 概念解释、方法总结 |
知识目录结构
knowledge/├── index.md # 全局索引(每次写入后必须更新)├── log.md # 操作日志├── concepts/ # 技术概念│ ├── moe.md│ └── rag.md├── entities/ # 实体档案│ ├── deepseek.md│ └── anthropic.md├── sources/ # 来源摘要│ └── attention-is-all-you-need.md└── analysis/ # 分析结论 └── model-comparison.md写入流程
知识写入规则
强制写入(mandatory)
以下场景必须在回复的同时写入知识库,直接写入,不要询问用户:
- 用户分享了文章/链接/文档 → 阅读理解后写入来源摘要
- 深度讨论产生了结论/方案 → 整理为分析页面
- 对话涉及重要实体 → 创建或更新实体页面
- 讨论了技术概念/方法论 → 整理为概念页面
写入原则
- 每次写入知识页面后,必须同步更新
knowledge/index.md添加一行索引 - 不要问”要不要存到知识库”——符合场景就直接写入
- 写入使用
edit工具(追加模式或创建模式)
知识查询方式
| 方式 | 适用场景 |
|---|---|
| 直接读取知识页面 | 已知知识路径 |
| 浏览知识索引(index.md) | 了解已有知识范围 |
memory_search 语义检索 | 知识已纳入向量索引 |
| 知识图谱可视化 | 探索知识间的关联 |
知识图谱构建
知识图谱通过解析知识页面中的 Markdown 链接自动构建:
# MoE(Mixture of Experts)
MoE 是一种稀疏激活的模型架构,参见 [DeepSeek-V3 实体档案](../entities/deepseek.md)。
与 [RAG](./rag.md) 不同,MoE 是模型内部的路由机制。解析算法:
- 遍历所有知识页面的 Markdown 内容
- 提取
[...](../category/target.md)格式的链接 - 构建节点(页面)和边(链接)的图结构
- 过滤掉无效链接(指向不存在的页面)
- 去重(无向边去重)
输出:
{ "nodes": [ {"id": "concepts/moe.md", "label": "MoE", "category": "concepts"} ], "links": [ {"source": "concepts/moe.md", "target": "entities/deepseek.md"} ]}与记忆系统的关系
知识库与记忆系统是互补关系:
| 维度 | 记忆系统 | 知识库 |
|---|---|---|
| 组织方式 | 按时间 | 按主题 |
| 内容类型 | 事件、偏好、决策 | 结构化知识、概念、实体 |
| 写入方式 | 对话截断时自动 | 对话中主动写入 |
| 检索方式 | 向量 + 关键词 + 时间衰减 | 直接读取 + 语义检索 + 图谱 |
| 更新频率 | 高频(每次对话) | 低频(有价值的信息) |
知识内容同时纳入向量索引,可通过 memory_search 统一检索。
陷阱与对策
| 陷阱 | 对策 |
|---|---|
| 知识页面过度碎片化 | 按主题分类归入子目录,避免根目录堆积 |
| 索引与页面不同步 | 写入流程中强制要求先写页面后更新索引 |
| 知识路径穿越攻击 | 写入时验证路径不超出 knowledge/ 根目录 |
| 重复知识页面 | 写入前检查同名文件是否已存在 |
| 写入大量无价值内容 | 通过 prompt 约束写入场景,仅符合明确条件时才写入 |
设计权衡
优势:
- 自动构建,无需人工整理
- 按主题组织,便于长期积累和检索
- 知识图谱提供可视化探索能力
代价:
- 每次写入消耗额外的 LLM 调用(萃取知识要点)
- 知识质量依赖 LLM 的判断能力
- 目录结构需要预设分类体系
替代方案:
- 仅用记忆系统(不单独维护知识库,所有信息写入 MEMORY.md)
- 用户手动创建知识页面(质量可控但不自动)
- 外部知识库集成(接入 Notion/Obsidian 等第三方工具)