# LLM Wiki 知识库架构 ## 1. 定位 LLM Wiki 不是简单的文件库。 它是给 Agent 使用的知识底座,负责把制度、FAQ、审批经验、规则说明转成可检索、可引用、可版本化的知识。 ## 2. 总体链路 ```text 文档上传 ↓ 格式解析 ↓ 正文抽取 ↓ 分块 Chunking ↓ 元数据标注 ↓ 向量索引 ↓ 条款抽取 ↓ 知识候选 ↓ 人工审核 ↓ 发布 Wiki ↓ Agent 检索引用 ``` ## 2.1 目录约束 LLM Wiki 解析产物不能与原始制度文件混放。 推荐目录: ```text /app/server/storage/knowledge// 原始知识文件 /app/server/storage/knowledge/.llm_wiki/ 解析产物根目录 /app/server/storage/knowledge/.llm_wiki/documents// document.json text.md chunks.json clauses.json knowledge_candidates.json rule_candidates.json /app/server/storage/knowledge/.llm_wiki/index.json /app/server/storage/knowledge/.llm_wiki/sync_runs.json ``` 约束: - 原始文件目录只存原件,不存解析碎片。 - LLM Wiki 目录只存结构化产物,不反向覆盖原件。 - 所有解析产物必须能按 `document_id` 回溯到原始文件。 ## 3. 知识类型 ```text policy_document faq rule_explanation approval_case risk_case operation_manual system_notice ``` ## 4. 知识块结构 ```json { "chunk_id": "", "document_id": "", "title": "", "content": "", "domain": "reimbursement", "scenario": "travel_reimbursement", "tags": ["差旅", "住宿标准"], "effective_date": "", "version": "v1.0", "source_page": 4, "embedding_id": "", "status": "published" } ``` ## 5. 条款抽取 Hermes 可以从制度文档中抽取条款候选。 示例: ```json { "clause_type": "amount_limit", "domain": "reimbursement", "scenario": "travel_reimbursement", "condition": { "city_tier": "一线城市", "employee_grade": "P5" }, "limit": { "amount": 800, "currency": "CNY", "period": "night" }, "source": "差旅制度 2026 第 4 页" } ``` 该结果不直接变成规则,先进入规则候选池。 ## 5.1 增量形成策略 LLM Wiki 不应按天无脑全量重建。 每个文档都应维护签名: ```json { "document_id": "", "original_name": "", "stored_name": "", "sha256": "", "version_number": 1, "updated_at": "" } ``` 只有在以下任一条件发生时,才重建对应文档的 LLM Wiki: - `original_name` 变更。 - `stored_name` 变更。 - `sha256` 变更。 - `version_number` 变更。 - `updated_at` 变更,视为人工修改。 如果以上均未变化: - 本次文档状态应记为 `unchanged_skipped`。 - 不重新抽取正文。 - 不重新分块。 - 不重新生成知识候选或规则候选。 ## 6. Wiki 发布流程 ```text 草稿知识 ↓ Hermes 生成候选 ↓ 知识管理员审核 ↓ 发布 ↓ Agent 可检索 ``` ## 7. 与 User Agent 的关系 User Agent 用 Wiki: - 回答制度问题。 - 给风险解释提供条款依据。 - 给审批意见生成引用。 - 帮用户理解流程。 ## 8. 与 Hermes 的关系 Hermes 用 Wiki: - 每日知识候选生成。 - 发现制度与规则不一致。 - 生成规则优化建议。 - 生成 FAQ 候选。 补充要求: - Hermes 对制度文档的处理默认是增量同步,不是每日全量重建。 - Hermes 应先检查知识库签名,再决定是否需要重建某个文档的 Wiki。 - Hermes 形成的是候选与草稿,不是正式发布内容。 ## 9. 数据模型建议 ```text knowledge_documents knowledge_chunks knowledge_embeddings knowledge_candidates knowledge_reviews knowledge_versions ``` 当前最小落地允许先以文件索引实现: ```text .llm_wiki/index.json .llm_wiki/sync_runs.json .llm_wiki/documents//document.json ``` 后续再平滑迁移到数据库或向量库。 ## 10. 开发阶段建议 ```text Step 1: 文档上传和文件管理 Step 2: 文本抽取和分块 Step 3: 元数据标注 Step 4: 向量索引 Step 5: 知识检索 API Step 6: User Agent 问答引用 Step 7: Hermes 知识候选生成 Step 8: 人工审核发布 Step 9: 条款抽取和规则候选 ```