第04章 核心概念深度解析

知识模型:两层页面结构

每个知识页面由两部分组成,用 --- 分隔。

图表 代码
flowchart TB
    subgraph GBrain页面结构
        direction TB
        
        subgraph 编译真理["编译真理(上半部分)"]
            A1["• 可重写,始终反映当前理解"]
            A2["• 包含一段式执行摘要"]
            A3["• 结构化状态字段"]
            A4["• 开放线程(活跃项目,解决后移除)"]
            A5["• 另见交叉链接"]
            
            A1 --> A2 --> A3 --> A4 --> A5
        end
        
        分隔线["---"]
        
        subgraph 时间线["时间线(下半部分)"]
            B1["• 仅追加,不可重写"]
            B2["• 反向时间序证据日志"]
            B3["• 每条目: 日期、来源、发生了什么"]
            B4["• 开放线程解决后移到此记录"]
            
            B1 --> B2 --> B3 --> B4
        end
        
        编译真理 --> 分隔线 --> 时间线
    end
    
    style 编译真理 fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style 时间线 fill:#fff8e8,stroke:#f5a623,stroke-width:2px
    style 分隔线 fill:#f0f0f0,stroke:#999,stroke-width:1px
flowchart TB
    subgraph GBrain页面结构
        direction TB
        
        subgraph 编译真理["编译真理(上半部分)"]
            A1["• 可重写,始终反映当前理解"]
            A2["• 包含一段式执行摘要"]
            A3["• 结构化状态字段"]
            A4["• 开放线程(活跃项目,解决后移除)"]
            A5["• 另见交叉链接"]
            
            A1 --> A2 --> A3 --> A4 --> A5
        end
        
        分隔线["---"]
        
        subgraph 时间线["时间线(下半部分)"]
            B1["• 仅追加,不可重写"]
            B2["• 反向时间序证据日志"]
            B3["• 每条目: 日期、来源、发生了什么"]
            B4["• 开放线程解决后移到此记录"]
            
            B1 --> B2 --> B3 --> B4
        end
        
        编译真理 --> 分隔线 --> 时间线
    end
    
    style 编译真理 fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style 时间线 fill:#fff8e8,stroke:#f5a623,stroke-width:2px
    style 分隔线 fill:#f0f0f0,stroke:#999,stroke-width:1px
flowchart TB
    subgraph GBrain页面结构
        direction TB
        
        subgraph 编译真理["编译真理(上半部分)"]
            A1["• 可重写,始终反映当前理解"]
            A2["• 包含一段式执行摘要"]
            A3["• 结构化状态字段"]
            A4["• 开放线程(活跃项目,解决后移除)"]
            A5["• 另见交叉链接"]
            
            A1 --> A2 --> A3 --> A4 --> A5
        end
        
        分隔线["---"]
        
        subgraph 时间线["时间线(下半部分)"]
            B1["• 仅追加,不可重写"]
            B2["• 反向时间序证据日志"]
            B3["• 每条目: 日期、来源、发生了什么"]
            B4["• 开放线程解决后移到此记录"]
            
            B1 --> B2 --> B3 --> B4
        end
        
        编译真理 --> 分隔线 --> 时间线
    end
    
    style 编译真理 fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style 时间线 fill:#fff8e8,stroke:#f5a623,stroke-width:2px
    style 分隔线 fill:#f0f0f0,stroke:#999,stroke-width:1px
flowchart TB
    subgraph GBrain页面结构
        direction TB
        
        subgraph 编译真理["编译真理(上半部分)"]
            A1["• 可重写,始终反映当前理解"]
            A2["• 包含一段式执行摘要"]
            A3["• 结构化状态字段"]
            A4["• 开放线程(活跃项目,解决后移除)"]
            A5["• 另见交叉链接"]
            
            A1 --> A2 --> A3 --> A4 --> A5
        end
        
        分隔线["---"]
        
        subgraph 时间线["时间线(下半部分)"]
            B1["• 仅追加,不可重写"]
            B2["• 反向时间序证据日志"]
            B3["• 每条目: 日期、来源、发生了什么"]
            B4["• 开放线程解决后移到此记录"]
            
            B1 --> B2 --> B3 --> B4
        end
        
        编译真理 --> 分隔线 --> 时间线
    end
    
    style 编译真理 fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style 时间线 fill:#fff8e8,stroke:#f5a623,stroke-width:2px
    style 分隔线 fill:#f0f0f0,stroke:#999,stroke-width:1px

查询读取策略

图表 代码
flowchart LR
    A[用户查询] --> B{查询目标}

    B -->|"当前状态是什么?"| C[编译真理部分]
    B -->|"发生了什么?"| D[时间线部分]

    C --> E[直接返回综合结果]
    D --> F[返回完整证据链]

    E --> G[响应]
    F --> G
flowchart LR
    A[用户查询] --> B{查询目标}

    B -->|"当前状态是什么?"| C[编译真理部分]
    B -->|"发生了什么?"| D[时间线部分]

    C --> E[直接返回综合结果]
    D --> F[返回完整证据链]

    E --> G[响应]
    F --> G
flowchart LR
    A[用户查询] --> B{查询目标}

    B -->|"当前状态是什么?"| C[编译真理部分]
    B -->|"发生了什么?"| D[时间线部分]

    C --> E[直接返回综合结果]
    D --> F[返回完整证据链]

    E --> G[响应]
    F --> G
flowchart LR
    A[用户查询] --> B{查询目标}

    B -->|"当前状态是什么?"| C[编译真理部分]
    B -->|"发生了什么?"| D[时间线部分]

    C --> E[直接返回综合结果]
    D --> F[返回完整证据链]

    E --> G[响应]
    F --> G

设计优势

该设计是 Karpathy wiki 模式的杀手级特性:合成已预计算。

传统 RAGGBrain
每次查询都从头推导知识合成已预计算
交叉引用需要实时查找交叉引用已经建立
矛盾难以发现矛盾已经标记
响应时间较长智能体直接获取预计算的综合结果

数据库四原语

GBrain 不只是文件存储,而是完整的数据库四原语设计。

图表 代码
flowchart TB
    subgraph 数据库四原语架构
        direction TB
        
        subgraph 实体注册表["1. 实体注册表(Entity Registry)"]
            A1["• 规范 ID: 每个实体有唯一 ID"]
            A2["• 所有别名: 支持多种名称表示"]
            A3["• 外部 ID: LinkedIn、X、邮箱、电话等"]
            
            A1 --> A2 --> A3
        end
        
        解决问题1["解决的问题: 是否同一人?的单一真实来源"]
        
        subgraph 事件账本["2. 事件账本(Event Ledger)"]
            B1["• 每个信号的不可变事件记录"]
            B2["• 页面重写不丢失事件"]
            B3["• 时间线由此生成"]
            
            B1 --> B2 --> B3
        end
        
        解决问题2["解决的问题: 事件记录永不丢失,可追溯"]
        
        subgraph 事实存储["3. 事实存储(Fact Store)"]
            C1["• 带来源的结构化声明"]
            C2["• 来源、置信度、观察时间"]
            C3["• 冲突可见为同一字段的不同值"]
            
            C1 --> C2 --> C3
        end
        
        解决问题3["解决的问题: 冲突是结构化的,不是隐式文本"]
        
        subgraph 关系图["4. 关系图(Relationship Graph)"]
            D1["• 实体间的类型化边(typed edges)"]
            D2["• Person → Company(role: CTO, started: 2024-01)"]
            D3["• Person → Person(relationship: co-founded)"]
            D4["• Company → Deal(type: Series A, date: 2025-03)"]
            
            D1 --> D2 --> D3 --> D4
        end
        
        解决问题4["解决的问题: 支持图查询,我认识谁也认识 X?"]
        
        实体注册表 --> 解决问题1 --> 事件账本 --> 解决问题2 --> 事实存储 --> 解决问题3 --> 关系图 --> 解决问题4
    end
    
    style 实体注册表 fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style 事件账本 fill:#f8e8f8,stroke:#e24a90,stroke-width:2px
    style 事实存储 fill:#f8f8e8,stroke:#e2e24a,stroke-width:2px
    style 关系图 fill:#e8f8f8,stroke:#4ae290,stroke-width:2px
flowchart TB
    subgraph 数据库四原语架构
        direction TB
        
        subgraph 实体注册表["1. 实体注册表(Entity Registry)"]
            A1["• 规范 ID: 每个实体有唯一 ID"]
            A2["• 所有别名: 支持多种名称表示"]
            A3["• 外部 ID: LinkedIn、X、邮箱、电话等"]
            
            A1 --> A2 --> A3
        end
        
        解决问题1["解决的问题: 是否同一人?的单一真实来源"]
        
        subgraph 事件账本["2. 事件账本(Event Ledger)"]
            B1["• 每个信号的不可变事件记录"]
            B2["• 页面重写不丢失事件"]
            B3["• 时间线由此生成"]
            
            B1 --> B2 --> B3
        end
        
        解决问题2["解决的问题: 事件记录永不丢失,可追溯"]
        
        subgraph 事实存储["3. 事实存储(Fact Store)"]
            C1["• 带来源的结构化声明"]
            C2["• 来源、置信度、观察时间"]
            C3["• 冲突可见为同一字段的不同值"]
            
            C1 --> C2 --> C3
        end
        
        解决问题3["解决的问题: 冲突是结构化的,不是隐式文本"]
        
        subgraph 关系图["4. 关系图(Relationship Graph)"]
            D1["• 实体间的类型化边(typed edges)"]
            D2["• Person → Company(role: CTO, started: 2024-01)"]
            D3["• Person → Person(relationship: co-founded)"]
            D4["• Company → Deal(type: Series A, date: 2025-03)"]
            
            D1 --> D2 --> D3 --> D4
        end
        
        解决问题4["解决的问题: 支持图查询,我认识谁也认识 X?"]
        
        实体注册表 --> 解决问题1 --> 事件账本 --> 解决问题2 --> 事实存储 --> 解决问题3 --> 关系图 --> 解决问题4
    end
    
    style 实体注册表 fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style 事件账本 fill:#f8e8f8,stroke:#e24a90,stroke-width:2px
    style 事实存储 fill:#f8f8e8,stroke:#e2e24a,stroke-width:2px
    style 关系图 fill:#e8f8f8,stroke:#4ae290,stroke-width:2px
flowchart TB
    subgraph 数据库四原语架构
        direction TB
        
        subgraph 实体注册表["1. 实体注册表(Entity Registry)"]
            A1["• 规范 ID: 每个实体有唯一 ID"]
            A2["• 所有别名: 支持多种名称表示"]
            A3["• 外部 ID: LinkedIn、X、邮箱、电话等"]
            
            A1 --> A2 --> A3
        end
        
        解决问题1["解决的问题: 是否同一人?的单一真实来源"]
        
        subgraph 事件账本["2. 事件账本(Event Ledger)"]
            B1["• 每个信号的不可变事件记录"]
            B2["• 页面重写不丢失事件"]
            B3["• 时间线由此生成"]
            
            B1 --> B2 --> B3
        end
        
        解决问题2["解决的问题: 事件记录永不丢失,可追溯"]
        
        subgraph 事实存储["3. 事实存储(Fact Store)"]
            C1["• 带来源的结构化声明"]
            C2["• 来源、置信度、观察时间"]
            C3["• 冲突可见为同一字段的不同值"]
            
            C1 --> C2 --> C3
        end
        
        解决问题3["解决的问题: 冲突是结构化的,不是隐式文本"]
        
        subgraph 关系图["4. 关系图(Relationship Graph)"]
            D1["• 实体间的类型化边(typed edges)"]
            D2["• Person → Company(role: CTO, started: 2024-01)"]
            D3["• Person → Person(relationship: co-founded)"]
            D4["• Company → Deal(type: Series A, date: 2025-03)"]
            
            D1 --> D2 --> D3 --> D4
        end
        
        解决问题4["解决的问题: 支持图查询,我认识谁也认识 X?"]
        
        实体注册表 --> 解决问题1 --> 事件账本 --> 解决问题2 --> 事实存储 --> 解决问题3 --> 关系图 --> 解决问题4
    end
    
    style 实体注册表 fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style 事件账本 fill:#f8e8f8,stroke:#e24a90,stroke-width:2px
    style 事实存储 fill:#f8f8e8,stroke:#e2e24a,stroke-width:2px
    style 关系图 fill:#e8f8f8,stroke:#4ae290,stroke-width:2px
flowchart TB
    subgraph 数据库四原语架构
        direction TB
        
        subgraph 实体注册表["1. 实体注册表(Entity Registry)"]
            A1["• 规范 ID: 每个实体有唯一 ID"]
            A2["• 所有别名: 支持多种名称表示"]
            A3["• 外部 ID: LinkedIn、X、邮箱、电话等"]
            
            A1 --> A2 --> A3
        end
        
        解决问题1["解决的问题: 是否同一人?的单一真实来源"]
        
        subgraph 事件账本["2. 事件账本(Event Ledger)"]
            B1["• 每个信号的不可变事件记录"]
            B2["• 页面重写不丢失事件"]
            B3["• 时间线由此生成"]
            
            B1 --> B2 --> B3
        end
        
        解决问题2["解决的问题: 事件记录永不丢失,可追溯"]
        
        subgraph 事实存储["3. 事实存储(Fact Store)"]
            C1["• 带来源的结构化声明"]
            C2["• 来源、置信度、观察时间"]
            C3["• 冲突可见为同一字段的不同值"]
            
            C1 --> C2 --> C3
        end
        
        解决问题3["解决的问题: 冲突是结构化的,不是隐式文本"]
        
        subgraph 关系图["4. 关系图(Relationship Graph)"]
            D1["• 实体间的类型化边(typed edges)"]
            D2["• Person → Company(role: CTO, started: 2024-01)"]
            D3["• Person → Person(relationship: co-founded)"]
            D4["• Company → Deal(type: Series A, date: 2025-03)"]
            
            D1 --> D2 --> D3 --> D4
        end
        
        解决问题4["解决的问题: 支持图查询,我认识谁也认识 X?"]
        
        实体注册表 --> 解决问题1 --> 事件账本 --> 解决问题2 --> 事实存储 --> 解决问题3 --> 关系图 --> 解决问题4
    end
    
    style 实体注册表 fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style 事件账本 fill:#f8e8f8,stroke:#e24a90,stroke-width:2px
    style 事实存储 fill:#f8f8e8,stroke:#e2e24a,stroke-width:2px
    style 关系图 fill:#e8f8f8,stroke:#4ae290,stroke-width:2px

四原语的价值对比

图表 代码
graph TB
    subgraph 传统方式
        A[身份解析] --> B[文件合并操作]
        B --> C[需手动修复交叉引用]
        
        D[矛盾处理] --> E[文本问题]
        E --> F[依赖 LLM 注意到]
        
        G[并发处理] --> H[产生合并冲突]
        H --> I[人工解决]
        
        J[复杂查询] --> K[不可能的 grep 链]
    end

    subgraph 四原语方式
        A2[身份解析] --> B2[数据库操作]
        B2 --> C2[指向同一规范 ID]
        
        D2[矛盾处理] --> E2[结构化]
        E2 --> F2[两个不同值的同一字段声明]
        
        G2[并发处理] --> H2[事件追加到账本]
        H2 --> I2[事实 upsert]
        I2 --> J2[Markdown 重构]
        
        K2[复杂查询] --> L2[关系图遍历]
    end
graph TB
    subgraph 传统方式
        A[身份解析] --> B[文件合并操作]
        B --> C[需手动修复交叉引用]
        
        D[矛盾处理] --> E[文本问题]
        E --> F[依赖 LLM 注意到]
        
        G[并发处理] --> H[产生合并冲突]
        H --> I[人工解决]
        
        J[复杂查询] --> K[不可能的 grep 链]
    end

    subgraph 四原语方式
        A2[身份解析] --> B2[数据库操作]
        B2 --> C2[指向同一规范 ID]
        
        D2[矛盾处理] --> E2[结构化]
        E2 --> F2[两个不同值的同一字段声明]
        
        G2[并发处理] --> H2[事件追加到账本]
        H2 --> I2[事实 upsert]
        I2 --> J2[Markdown 重构]
        
        K2[复杂查询] --> L2[关系图遍历]
    end
graph TB
    subgraph 传统方式
        A[身份解析] --> B[文件合并操作]
        B --> C[需手动修复交叉引用]
        
        D[矛盾处理] --> E[文本问题]
        E --> F[依赖 LLM 注意到]
        
        G[并发处理] --> H[产生合并冲突]
        H --> I[人工解决]
        
        J[复杂查询] --> K[不可能的 grep 链]
    end

    subgraph 四原语方式
        A2[身份解析] --> B2[数据库操作]
        B2 --> C2[指向同一规范 ID]
        
        D2[矛盾处理] --> E2[结构化]
        E2 --> F2[两个不同值的同一字段声明]
        
        G2[并发处理] --> H2[事件追加到账本]
        H2 --> I2[事实 upsert]
        I2 --> J2[Markdown 重构]
        
        K2[复杂查询] --> L2[关系图遍历]
    end
graph TB
    subgraph 传统方式
        A[身份解析] --> B[文件合并操作]
        B --> C[需手动修复交叉引用]
        
        D[矛盾处理] --> E[文本问题]
        E --> F[依赖 LLM 注意到]
        
        G[并发处理] --> H[产生合并冲突]
        H --> I[人工解决]
        
        J[复杂查询] --> K[不可能的 grep 链]
    end

    subgraph 四原语方式
        A2[身份解析] --> B2[数据库操作]
        B2 --> C2[指向同一规范 ID]
        
        D2[矛盾处理] --> E2[结构化]
        E2 --> F2[两个不同值的同一字段声明]
        
        G2[并发处理] --> H2[事件追加到账本]
        H2 --> I2[事实 upsert]
        I2 --> J2[Markdown 重构]
        
        K2[复杂查询] --> L2[关系图遍历]
    end

MECE 目录原则

MECE = Mutually Exclusive, Collectively Exhaustive(相互独立,完全穷尽)

这是 GBrain 目录结构的单一最重要设计决策。

图表 代码
flowchart TB
    A[新知识片段到达] --> B[读取 RESOLVER.md 决策树]
    B --> C{类型判断}
    
    C -->|是人物?| D[people/]
    C -->|是公司?| E[companies/]
    C -->|是交易?| F[deals/]
    C -->|是会议?| G[meetings/]
    C -->|是概念?| H[concepts/]
    C -->|是原想法?| I[originals/]
    C -->|都不符合?| J[inbox/]
    
    D --> K[读取目标目录的 README.md]
    E --> K
    F --> K
    G --> K
    H --> K
    I --> K
    J --> K
    
    K --> L["回答两个问题:
1. 什么放这里?(正确定义)
2. 什么不放这里?(与邻居的区分)"] L --> M[创建/更新页面] style A fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px style M fill:#e8f8e8,stroke:#4ae290,stroke-width:2px style J fill:#fff8e8,stroke:#f5a623,stroke-width:2px
flowchart TB
    A[新知识片段到达] --> B[读取 RESOLVER.md 决策树]
    B --> C{类型判断}
    
    C -->|是人物?| D[people/]
    C -->|是公司?| E[companies/]
    C -->|是交易?| F[deals/]
    C -->|是会议?| G[meetings/]
    C -->|是概念?| H[concepts/]
    C -->|是原想法?| I[originals/]
    C -->|都不符合?| J[inbox/]
    
    D --> K[读取目标目录的 README.md]
    E --> K
    F --> K
    G --> K
    H --> K
    I --> K
    J --> K
    
    K --> L["回答两个问题:
1. 什么放这里?(正确定义)
2. 什么不放这里?(与邻居的区分)"] L --> M[创建/更新页面] style A fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px style M fill:#e8f8e8,stroke:#4ae290,stroke-width:2px style J fill:#fff8e8,stroke:#f5a623,stroke-width:2px
flowchart TB
    A[新知识片段到达] --> B[读取 RESOLVER.md 决策树]
    B --> C{类型判断}
    
    C -->|是人物?| D[people/]
    C -->|是公司?| E[companies/]
    C -->|是交易?| F[deals/]
    C -->|是会议?| G[meetings/]
    C -->|是概念?| H[concepts/]
    C -->|是原想法?| I[originals/]
    C -->|都不符合?| J[inbox/]
    
    D --> K[读取目标目录的 README.md]
    E --> K
    F --> K
    G --> K
    H --> K
    I --> K
    J --> K
    
    K --> L["回答两个问题:
1. 什么放这里?(正确定义)
2. 什么不放这里?(与邻居的区分)"] L --> M[创建/更新页面] style A fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px style M fill:#e8f8e8,stroke:#4ae290,stroke-width:2px style J fill:#fff8e8,stroke:#f5a623,stroke-width:2px
flowchart TB
    A[新知识片段到达] --> B[读取 RESOLVER.md 决策树]
    B --> C{类型判断}
    
    C -->|是人物?| D[people/]
    C -->|是公司?| E[companies/]
    C -->|是交易?| F[deals/]
    C -->|是会议?| G[meetings/]
    C -->|是概念?| H[concepts/]
    C -->|是原想法?| I[originals/]
    C -->|都不符合?| J[inbox/]
    
    D --> K[读取目标目录的 README.md]
    E --> K
    F --> K
    G --> K
    H --> K
    I --> K
    J --> K
    
    K --> L["回答两个问题:<br/>1. 什么放这里?(正确定义)<br/>2. 什么不放这里?(与邻居的区分)"]
    L --> M[创建/更新页面]
    
    style A fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style M fill:#e8f8e8,stroke:#4ae290,stroke-width:2px
    style J fill:#fff8e8,stroke:#f5a623,stroke-width:2px

标准目录结构

图表 代码
graph LR
    inbox["inbox/ (无匹配项的去处)"]
    people["people/ (人物主页)"]
    companies["companies/ (公司主页)"]
    deals["deals/ (交易页面)"]
    meetings["meetings/ (会议记录)"]
    concepts["concepts/ (概念页面)"]
    originals["originals/ (原创想法)"]
    
    RESOLVER["顶层 RESOLVER.md
编号决策树"] RESOLVER -->|"决策树
确定归属"| inbox RESOLVER --> people RESOLVER --> companies RESOLVER --> deals RESOLVER --> meetings RESOLVER --> concepts RESOLVER --> originals
graph LR
    inbox["inbox/ (无匹配项的去处)"]
    people["people/ (人物主页)"]
    companies["companies/ (公司主页)"]
    deals["deals/ (交易页面)"]
    meetings["meetings/ (会议记录)"]
    concepts["concepts/ (概念页面)"]
    originals["originals/ (原创想法)"]
    
    RESOLVER["顶层 RESOLVER.md
编号决策树"] RESOLVER -->|"决策树
确定归属"| inbox RESOLVER --> people RESOLVER --> companies RESOLVER --> deals RESOLVER --> meetings RESOLVER --> concepts RESOLVER --> originals
graph LR
    inbox["inbox/ (无匹配项的去处)"]
    people["people/ (人物主页)"]
    companies["companies/ (公司主页)"]
    deals["deals/ (交易页面)"]
    meetings["meetings/ (会议记录)"]
    concepts["concepts/ (概念页面)"]
    originals["originals/ (原创想法)"]
    
    RESOLVER["顶层 RESOLVER.md
编号决策树"] RESOLVER -->|"决策树
确定归属"| inbox RESOLVER --> people RESOLVER --> companies RESOLVER --> deals RESOLVER --> meetings RESOLVER --> concepts RESOLVER --> originals
graph LR
    inbox["inbox/ (无匹配项的去处)"]
    people["people/ (人物主页)"]
    companies["companies/ (公司主页)"]
    deals["deals/ (交易页面)"]
    meetings["meetings/ (会议记录)"]
    concepts["concepts/ (概念页面)"]
    originals["originals/ (原创想法)"]
    
    RESOLVER["顶层 RESOLVER.md<br/>编号决策树"]
    
    RESOLVER -->|"决策树<br/>确定归属"| inbox
    RESOLVER --> people
    RESOLVER --> companies
    RESOLVER --> deals
    RESOLVER --> meetings
    RESOLVER --> concepts
    RESOLVER --> originals

MECE 的应用边界

MECE 原则适用于目录,不适用于现实。

图表 代码
graph TB
    subgraph RealWorldEntities["现实世界的实体"]
        Alice["政治创始人 + 朋友
+ 捐赠者 + 媒体演员"] Bob["招聘候选人 + 投资人
+ 竞争对手 + 顾问"] end subgraph MECEDirectoryPrinciple["MECE 目录原则"] A2["people/ (主要归属)"] B2["关系页面展示多面"] C2[交叉链接] A2 -->|"页面的主要内容是人物身份"| B2 A2 --> C2 B2 --> C2 D2[MECE 防止重复页面] E2[但不防止重复关系] end
graph TB
    subgraph RealWorldEntities["现实世界的实体"]
        Alice["政治创始人 + 朋友
+ 捐赠者 + 媒体演员"] Bob["招聘候选人 + 投资人
+ 竞争对手 + 顾问"] end subgraph MECEDirectoryPrinciple["MECE 目录原则"] A2["people/ (主要归属)"] B2["关系页面展示多面"] C2[交叉链接] A2 -->|"页面的主要内容是人物身份"| B2 A2 --> C2 B2 --> C2 D2[MECE 防止重复页面] E2[但不防止重复关系] end
graph TB
    subgraph RealWorldEntities["现实世界的实体"]
        Alice["政治创始人 + 朋友
+ 捐赠者 + 媒体演员"] Bob["招聘候选人 + 投资人
+ 竞争对手 + 顾问"] end subgraph MECEDirectoryPrinciple["MECE 目录原则"] A2["people/ (主要归属)"] B2["关系页面展示多面"] C2[交叉链接] A2 -->|"页面的主要内容是人物身份"| B2 A2 --> C2 B2 --> C2 D2[MECE 防止重复页面] E2[但不防止重复关系] end
graph TB
    subgraph RealWorldEntities["现实世界的实体"]
        Alice["政治创始人 + 朋友<br/>+ 捐赠者 + 媒体演员"]
        Bob["招聘候选人 + 投资人<br/>+ 竞争对手 + 顾问"]
    end

    subgraph MECEDirectoryPrinciple["MECE 目录原则"]
        A2["people/ (主要归属)"]
        B2["关系页面展示多面"]
        
        C2[交叉链接]
        
        A2 -->|"页面的主要内容是人物身份"| B2
        A2 --> C2
        B2 --> C2
        
        D2[MECE 防止重复页面]
        E2[但不防止重复关系]
    end
方面说明
MECE 防止什么重复页面、知识腐烂、信息孤岛
MECE 不限制什么实体的多重身份、丰富的关系网络
实现方式页面主归属(people/)+ 类型化反向链接

丰富触发机制

每个信号(会议、邮件、推文、日历事件、联系人同步、对话提及)触及人物或公司时,丰富流水线自动触发。

图表 代码
flowchart TB
    A[任何信号到达] --> B["提取实体
(人物、公司、主题等)"] B --> C["检测实体重要度
(提及次数 + 来源多样性)"] C --> D{重要度等级} D -->|"Tier 3
一次提及 单一来源"| E[创建存根页面] E --> E1["slug: people/alice"] E1 --> E2 E2["tags: mentioned"] E2 --> E3[时间线: 首次提及记录] D -->|"Tier 2
3 次提及 不同来源"| F[Web + 社交丰富] F --> F1[Web 搜索: Alice Wang] F1 --> F2[社交搜索: @alice_xyz] F2 --> F3[提取: 头像、简介、公司等] F3 --> F4[更新页面,添加 Web 信息] D -->|"Tier 1
会议或 8+ 次提及"| G[完整流水线] G --> G1[公司深挖(新闻、融资、产品)] G1 --> G2[社交历史分析] G2 --> G3[学术成果搜索] G3 --> G4[构建完整时间线] G4 --> G5[建立所有关系链接] E3 --> H["大脑自动学习谁重要
无需显式告知'去查一下这个人'"] F4 --> H G5 --> H style A fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px style E fill:#fff8e8,stroke:#f5a623,stroke-width:2px style F fill:#f8f8e8,stroke:#e2e24a,stroke-width:2px style G fill:#e8f8f8,stroke:#4ae290,stroke-width:2px style H fill:#f8e8f8,stroke:#e24a90,stroke-width:2px
flowchart TB
    A[任何信号到达] --> B["提取实体
(人物、公司、主题等)"] B --> C["检测实体重要度
(提及次数 + 来源多样性)"] C --> D{重要度等级} D -->|"Tier 3
一次提及 单一来源"| E[创建存根页面] E --> E1["slug: people/alice"] E1 --> E2 E2["tags: mentioned"] E2 --> E3[时间线: 首次提及记录] D -->|"Tier 2
3 次提及 不同来源"| F[Web + 社交丰富] F --> F1[Web 搜索: Alice Wang] F1 --> F2[社交搜索: @alice_xyz] F2 --> F3[提取: 头像、简介、公司等] F3 --> F4[更新页面,添加 Web 信息] D -->|"Tier 1
会议或 8+ 次提及"| G[完整流水线] G --> G1[公司深挖(新闻、融资、产品)] G1 --> G2[社交历史分析] G2 --> G3[学术成果搜索] G3 --> G4[构建完整时间线] G4 --> G5[建立所有关系链接] E3 --> H["大脑自动学习谁重要
无需显式告知'去查一下这个人'"] F4 --> H G5 --> H style A fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px style E fill:#fff8e8,stroke:#f5a623,stroke-width:2px style F fill:#f8f8e8,stroke:#e2e24a,stroke-width:2px style G fill:#e8f8f8,stroke:#4ae290,stroke-width:2px style H fill:#f8e8f8,stroke:#e24a90,stroke-width:2px
flowchart TB
    A[任何信号到达] --> B["提取实体
(人物、公司、主题等)"] B --> C["检测实体重要度
(提及次数 + 来源多样性)"] C --> D{重要度等级} D -->|"Tier 3
一次提及 单一来源"| E[创建存根页面] E --> E1["slug: people/alice"] E1 --> E2 E2["tags: mentioned"] E2 --> E3[时间线: 首次提及记录] D -->|"Tier 2
3 次提及 不同来源"| F[Web + 社交丰富] F --> F1[Web 搜索: Alice Wang] F1 --> F2[社交搜索: @alice_xyz] F2 --> F3[提取: 头像、简介、公司等] F3 --> F4[更新页面,添加 Web 信息] D -->|"Tier 1
会议或 8+ 次提及"| G[完整流水线] G --> G1[公司深挖(新闻、融资、产品)] G1 --> G2[社交历史分析] G2 --> G3[学术成果搜索] G3 --> G4[构建完整时间线] G4 --> G5[建立所有关系链接] E3 --> H["大脑自动学习谁重要
无需显式告知'去查一下这个人'"] F4 --> H G5 --> H style A fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px style E fill:#fff8e8,stroke:#f5a623,stroke-width:2px style F fill:#f8f8e8,stroke:#e2e24a,stroke-width:2px style G fill:#e8f8f8,stroke:#4ae290,stroke-width:2px style H fill:#f8e8f8,stroke:#e24a90,stroke-width:2px
flowchart TB
    A[任何信号到达] --> B["提取实体<br/>(人物、公司、主题等)"]
    B --> C["检测实体重要度<br/>(提及次数 + 来源多样性)"]
    
    C --> D{重要度等级}
    
    D -->|"Tier 3<br/>一次提及 单一来源"| E[创建存根页面]
    E --> E1["slug: people/alice"]
    E1 --> E2
    E2["tags: mentioned"]
    E2 --> E3[时间线: 首次提及记录]
    
    D -->|"Tier 2<br/>3 次提及 不同来源"| F[Web + 社交丰富]
    F --> F1[Web 搜索: Alice Wang]
    F1 --> F2[社交搜索: @alice_xyz]
    F2 --> F3[提取: 头像、简介、公司等]
    F3 --> F4[更新页面,添加 Web 信息]
    
    D -->|"Tier 1<br/>会议或 8+ 次提及"| G[完整流水线]
    G --> G1[公司深挖(新闻、融资、产品)]
    G1 --> G2[社交历史分析]
    G2 --> G3[学术成果搜索]
    G3 --> G4[构建完整时间线]
    G4 --> G5[建立所有关系链接]
    
    E3 --> H["大脑自动学习谁重要<br/>无需显式告知'去查一下这个人'"]
    F4 --> H
    G5 --> H
    
    style A fill:#e8f4f8,stroke:#4a90e2,stroke-width:2px
    style E fill:#fff8e8,stroke:#f5a623,stroke-width:2px
    style F fill:#f8f8e8,stroke:#e2e24a,stroke-width:2px
    style G fill:#e8f8f8,stroke:#4ae290,stroke-width:2px
    style H fill:#f8e8f8,stroke:#e24a90,stroke-width:2px

为什么分层丰富重要

图表 代码
graph LR
    subgraph 不分层的问题
        A[每次提及] --> B[都调用完整 API]
        B --> C[高昂成本]
        C --> D[垃圾信息累积]
        
        E[需要人工记忆] --> F[手动触发]
        F --> G[容易遗漏]
        G --> H[知识不一致]
    end

    subgraph 分层丰富
        A2[首次提及] --> B2["Tier 3
存根页面"] B2 --> C2[低成本] D2[多次提及] --> E2["自动升级 Tier"] E2 --> F2["Tier 2: Web+社交"] G2[会议/高频] --> H2[Tier 1: 完整流水线] H2 --> I2[深度信息] I2 --> J2[自动演进] end
graph LR
    subgraph 不分层的问题
        A[每次提及] --> B[都调用完整 API]
        B --> C[高昂成本]
        C --> D[垃圾信息累积]
        
        E[需要人工记忆] --> F[手动触发]
        F --> G[容易遗漏]
        G --> H[知识不一致]
    end

    subgraph 分层丰富
        A2[首次提及] --> B2["Tier 3
存根页面"] B2 --> C2[低成本] D2[多次提及] --> E2["自动升级 Tier"] E2 --> F2["Tier 2: Web+社交"] G2[会议/高频] --> H2[Tier 1: 完整流水线] H2 --> I2[深度信息] I2 --> J2[自动演进] end
graph LR
    subgraph 不分层的问题
        A[每次提及] --> B[都调用完整 API]
        B --> C[高昂成本]
        C --> D[垃圾信息累积]
        
        E[需要人工记忆] --> F[手动触发]
        F --> G[容易遗漏]
        G --> H[知识不一致]
    end

    subgraph 分层丰富
        A2[首次提及] --> B2["Tier 3
存根页面"] B2 --> C2[低成本] D2[多次提及] --> E2["自动升级 Tier"] E2 --> F2["Tier 2: Web+社交"] G2[会议/高频] --> H2[Tier 1: 完整流水线] H2 --> I2[深度信息] I2 --> J2[自动演进] end
graph LR
    subgraph 不分层的问题
        A[每次提及] --> B[都调用完整 API]
        B --> C[高昂成本]
        C --> D[垃圾信息累积]
        
        E[需要人工记忆] --> F[手动触发]
        F --> G[容易遗漏]
        G --> H[知识不一致]
    end

    subgraph 分层丰富
        A2[首次提及] --> B2["Tier 3<br/>存根页面"]
        B2 --> C2[低成本]
        
        D2[多次提及] --> E2["自动升级 Tier"]
        E2 --> F2["Tier 2: Web+社交"]
        
        G2[会议/高频] --> H2[Tier 1: 完整流水线]
        H2 --> I2[深度信息]
        I2 --> J2[自动演进]
    end
方式问题GBrain 方式
依赖智能体记住更新最终会被遗忘自动触发,无需记忆
人工触发丰富容易遗漏每个信号都触发
无成本控制API 配额浪费分层策略,Tier 1 仅对重要实体
无演进机制始终是同一深度重要度提升后自动升级

相关内容

如果这篇文章对你有帮助,欢迎请我喝杯咖啡 ☕
Cygnus Yang 支付宝支付宝
Cygnus Yang 微信微信