Logo
热心市民王先生

技术原理核心

双层架构详解

AI Knowledge Layer的核心理念是通过双层架构实现知识的分层管理:动态演进的知识库层(Knowledge Base Layer, KBL)和静态稳定的基础层(Brand Foundation, BF)。这种分层设计反映了对知识本质的深刻理解——知识既有需要持续更新的部分,也有需要保持稳定的核心。

架构全景图

flowchart TB
    subgraph Agents["AI Agents层"]
        A1[writer]
        A2[researcher]
        A3[strategist]
        A4[analyst]
    end
    
    subgraph KBL["知识库层 KBL<br/>动态演进"]
        K1[概念页面]
        K2[实体页面]
        K3[源摘要]
        K4[交叉引用]
        K5[知识图谱]
    end
    
    subgraph BF["品牌基础层 BF<br/>静态稳定"]
        B1[声音规则]
        B2[视觉风格]
        B3[定位声明]
        B4[禁用词汇]
        B5[质量门控]
    end
    
    subgraph Raw["原始数据收件箱"]
        R1[推文/社交媒体]
        R2[文章/PDF]
        R3[书签/笔记]
        R4[想法/头脑风暴]
    end
    
    Agents -->|reads from| KBL
    Agents -->|reads from| BF
    KBL -->|compiles from| Raw
    
    style KBL fill:#e1f5fe
    style BF fill:#fff3e0
    style Raw fill:#f3e5f5

知识库层(KBL):动态演进引擎

KBL是整个系统的活水体,负责处理和转化原始数据为结构化知识。它的核心特征包括:

1. 数据流入与自动分类

原始数据通过多种渠道流入系统的raw/目录:

my-wiki/
    raw/
      clippings/      # Obsidian Web Clipper抓取
      ideas/          # 笔记、头脑风暴
      bookmarks/      # 保存的推文、线程
      articles/       # 自己发布的内容
      papers/         # PDF、研究论文
      x-archive/      # X/Twitter 导出
      assets/images/  # 下载的媒体

AI Agent会自动处理这些原始数据,进行分类和初步结构化。这个过程不是简单的标签添加,而是语义理解——AI会识别文档中的核心概念、关键实体、主要观点,并决定如何将这些信息整合到现有的知识体系中。

2. 编译为结构化Wiki页面

原始数据经过处理后,被编译为结构化的Wiki页面,存储在wiki/目录:

wiki/
    index.md        # 主索引页面
    log.md          # 变更日志
    concepts/       # 概念页面(抽象概念的定义和解释)
    entities/       # 实体页面(具体的人、公司、产品)
    sources/        # 源摘要(原始内容的精炼版本)
    outputs/        # 查询答案归档(可复用的回答)
    sops/           # 可重复流程(标准操作程序)
    syntheses/      # 跨领域分析(连接不同领域的洞察)

每个Wiki页面遵循预定义的模板,包含标准化的元数据(YAML frontmatter)和结构化的内容区域。

3. 交叉引用网络

KBL的核心价值在于连接。每处理一个新的信息源,系统都会:

  • 识别其中提及的已有概念和实体
  • 创建双向链接(backlinks)
  • 更新相关页面的引用计数
  • 生成新的关联建议

Holmberg的实际案例数据:87条推文最终被整理为15个主题源页面、14个概念页面、11个实体页面,并建立了超过100个交叉引用链接。这种密集的连接网络使得知识可以被多维度访问

品牌基础层(BF):静态稳定锚点

与KBL的动态性形成对比,BF层包含那些不应该频繁变化的核心定义:

BF层的组成要素

组件内容示例更新频率
声音规则正式vs casual、技术深度级别季度审查
视觉风格品牌色彩、排版偏好、图表规范年度更新
定位声明核心价值主张、差异化点半年审查
禁用词汇行业禁忌词、竞争敏感词按需更新
质量标准偏见检查清单、验证门规则持续优化

BF层的关键特征是人为编辑。虽然AI可以提出修改建议,但所有BF内容的变更必须经过人工审核。这确保了品牌的核心一致性不会因为AI的自动处理而漂移。

KBL与BF的协作机制

sequenceDiagram
    participant User as 用户查询
    participant Agent as AI Agent
    participant KBL as 知识库层
    participant BF as 品牌基础层
    
    User->>Agent: 提交查询
    Agent->>BF: 读取声音规则<br/>读取质量标准
    BF-->>Agent: 返回风格指南
    Agent->>KBL: 查询相关知识
    KBL-->>Agent: 返回概念+实体+引用
    Agent->>Agent: 整合信息<br/>应用风格规则
    Agent-->>User: 生成符合品牌调性的回答

这种协作机制确保了输出既知识准确(来自KBL)又风格一致(来自BF)。

编译知识的核心概念

什么是编译知识

编译知识(Compiled Knowledge)是AI Knowledge Layer的核心技术创新。这个概念借鉴了编程语言中的编译过程:

传统RAG = 解释执行:每次查询都重新解析原始文本 编译知识 = 预编译:原始文本一次性处理,查询时直接使用优化后的表示

编译过程详解

flowchart LR
    A[原始数据<br/>Raw Data] -->|AI处理| B[概念提取]
    B --> C[实体识别]
    C --> D[关系建立]
    D --> E[结构化存储]
    E --> F[编译知识库<br/>Compiled Knowledge]
    
    F -->|查询时| G[直接读取<br/>O1复杂度]
    A -->|传统RAG| H[每次重新检索<br/>On复杂度]
    
    style F fill:#c8e6c9
    style G fill:#c8e6c9

编译过程包含以下步骤:

  1. 内容理解:AI深度阅读原始文档,提取核心论点、关键数据、重要结论
  2. 概念抽象:识别文档中涉及的概念,创建或更新概念页面
  3. 实体标记:识别人、组织、产品等实体,建立实体档案
  4. 关系映射:记录概念之间、实体之间、概念与实体之间的关系
  5. 冗余消除:合并重复信息,解决冲突观点,标注不确定性
  6. 索引生成:创建多维度索引(按主题、按时间、按重要性等)

编译知识 vs 查询时推导:性能对比

Graphify案例:71.5倍Token减少

Graphify的测量数据提供了一个惊人的对比基准:

指标传统RAG编译知识改进倍数
单次查询Token数约71,500约1,00071.5x
响应延迟8-15秒0.5-1秒10-15x
上下文相关度65%92%1.4x

71.5倍Token减少的背后原理

假设一个知识库包含100篇长文(平均每篇5,000字):

  • 传统RAG:每次查询检索Top 5文档 = 25,000字原始文本 → 约71,500 Token
  • 编译知识:查询直接读取预编译的概念页面(平均500字)+ 相关实体(平均300字) → 约1,000 Token

这个差异随着知识库规模的增大而更加显著。当知识库增长到1,000篇文档时,传统RAG的Token消耗会线性增长,而编译知识的方法增长缓慢(对数级别)。

Karpathy实测:100篇文章的临界点

Andrej Karpathy进行的实测揭示了另一个关键洞察:

“当知识库规模达到约100篇文章时,编译知识方法在问答质量上开始超越传统RAG。”

这个临界点的出现有几个原因:

  1. 信息密度:编译知识将100篇文章压缩为约20-30个核心概念页面,查询时直接命中关键信息
  2. 噪声过滤:编译过程去除了原始文本中的冗余和噪声
  3. 关系显式化:概念之间的关系被显式编码,支持更复杂的推理
xychart-beta
    title "问答准确率 vs 知识库规模"
    x-axis ["10篇", "50篇", "100篇", "500篇", "1000篇"]
    y-axis "准确率 %" 0 --> 100
    line "传统RAG" [85, 82, 78, 72, 68]
    line "编译知识" [75, 80, 88, 93, 95]

从图表可以看出,编译知识方法存在一个”启动期”(前50篇文章),在此期间由于知识网络尚未充分建立,表现略逊于RAG。但一旦越过100篇文章的临界点,编译知识的优势开始显现,并且随着规模增大优势不断扩大。

上下文工程:超越提示工程

从Prompt Engineering到Context Engineering

AI Knowledge Layer代表了一个范式转变:从优化提示词到优化上下文

传统Prompt Engineering的思维模式:

  • “如何让模型更好地理解我的指令?”
  • “什么样的提示模板效果最好?”
  • “如何设计Few-shot示例?”

Context Engineering的思维模式:

  • “模型需要什么样的背景知识才能回答这个问题?”
  • “如何组织和呈现这些背景知识?”
  • “如何让知识随时间累积和进化?“

Context Engineering的三层模型

flowchart TB
    subgraph Context["上下文工程层次"]
        direction TB
        
        subgraph L1["L1: 即时上下文"]
            C1[当前查询]
            C2[会话历史]
        end
        
        subgraph L2["L2: 任务上下文"]
            C3[相关概念]
            C4[实体档案]
            C5[历史输出]
        end
        
        subgraph L3["L3: 元上下文"]
            C6[品牌规则]
            C7[质量标准]
            C8[系统知识]
        end
    end
    
    L1 --> L2
    L2 --> L3
    
    style L3 fill:#fff3e0

即时上下文(L1):当前对话的短期记忆,包括用户查询和近期交互历史。

任务上下文(L2):来自KBL的结构化知识,包括与查询相关的概念页面、实体档案、以及之前类似查询的输出归档。

元上下文(L3):来自BF层的稳定规则,定义了如何组织、呈现和验证知识。

质量控制系统的技术实现

AI Knowledge Layer内置了三层质量控制机制:

1. 偏见检查(Bias Check)

每页编译后的Wiki页面必须包含:

---
title: "概念名称"
bias_check:
  counter_arguments: ["反方观点1", "反方观点2"]
  data_gaps: ["缺失的数据点1", "未验证的假设"]
  confidence: high  # high | medium | low | uncertain
---

AI在编译内容时被强制要求识别和记录反方观点、数据缺口和不确定性。这通过系统提示(System Prompt)中的显式指令实现。

2. 验证门(Validation Gate)

每个Wiki页面有一个验证状态:

---
validation:
  explored: false        # 仅人类可设为true
  verified_by: ""        # 审核者名称
  verified_at: ""        # 审核时间
  verification_notes: "" # 审核备注
---

所有页面初始状态为explored: false。AI可以建议修改,但只有人工审核后才能将状态改为explored: true。这确保了关键信息的准确性有人类背书。

3. 置信度标签(Confidence Label)

每个事实性陈述都被标注置信度级别:

  • High:有多重来源验证,或来自权威一手资料
  • Medium:有可靠来源但未经交叉验证
  • Low:单一来源或来源可靠性存疑
  • Uncertain:AI推理得出的结论,缺乏直接来源

80/20原则的实现

AI Knowledge Layer的核心理念之一是AI做80%的组织工作,人类做20%的策划验证

这体现在:

任务AI负责人类负责
内容分类自动分类、标签建议审核调整
概念提取识别概念、建立关系验证准确性
摘要生成生成源摘要审核关键摘要
偏见检查自动生成反方观点评估完整性
风格一致应用BF规则定义BF规则
质量门控标记待验证内容最终审核通过

这种分工充分利用了AI在模式识别和大规模处理上的优势,同时保留了人类在价值判断和质量控制上的核心作用。

文件夹结构的技术设计

完整的AI Knowledge Layer系统采用以下文件夹结构:

my-wiki/
    raw/              # 原始数据收件箱
      clippings/      # Obsidian Web Clipper
      ideas/          # 笔记、头脑风暴
      bookmarks/      # 保存的推文、线程
      articles/       # 自己发布的内容
      papers/         # PDF、研究
      x-archive/      # X/Twitter 导出
      assets/images/  # 下载的媒体
    wiki/             # 编译后的页面
      index.md        # 主索引
      log.md          # 变更日志
      concepts/       # 概念页面
      entities/       # 实体页面
      sources/        # 源摘要
      outputs/        # 查询答案归档
      sops/           # 可重复流程
      syntheses/      # 跨领域分析
    templates/        # 页面模板
    brand/            # 品牌基础层
      voice.md        # 声音规则
      visual.md       # 视觉风格
      positioning.md  # 定位声明
      forbidden.md    # 禁用词汇
    CLAUDE.md         # 系统Schema和控制文档

这个结构的设计遵循以下原则:

  1. 职责分离raw/wiki/严格分离,确保原始数据与编译知识不会混淆
  2. 可扩展性:每个子目录可以独立扩展,不影响整体结构
  3. 版本友好:清晰的结构便于Git版本控制
  4. 工具兼容:与Obsidian、Notion等工具兼容

CLAUDE.md是整个系统的控制中枢,定义了:

  • 页面模板规范
  • 编译流程规则
  • 质量标准定义
  • Agent行为指南

这个文件可以被AI Agent读取,确保所有自动化处理遵循统一的标准和风格。

技术实现的核心挑战

虽然AI Knowledge Layer的理念清晰,但实际实现面临以下技术挑战:

1. 编译质量的一致性

如何确保AI在编译不同来源、不同风格的内容时保持一致的输出质量?这需要精心设计的系统提示和模板规范。

2. 增量更新的效率

当新增一篇文档时,如何高效地更新相关概念页面,而不是全量重编译?这需要智能的依赖追踪和增量编译机制。

3. 冲突解决

当不同来源对同一概念有不同定义时,如何检测、呈现和解决这些冲突?这需要明确的冲突处理策略和人机协作流程。

4. 规模扩展

当知识库增长到数千篇文档时,编译时间和存储成本如何控制?这需要考虑分布式处理和分层存储策略。

这些挑战的解决方案将在后续章节中详细讨论。