Files
memory-gateway/docs/architecture.md

6.0 KiB
Raw Blame History

Architecture

整体目标

构建一个面向 SOC case 研判辅助的记忆系统 POC用于提升 AI agent 在以下环节的效果:

  • 告警研判
  • 历史 case 检索
  • 上下文补全
  • 结论生成
  • 高价值记忆沉淀

总体架构图

                            ┌────────────────────────────┐
                            │        知识源 / 数据源      │
                            │ KB / Playbook / 月报 / 报告 │
                            │ Ticket / Intel / 历史 Case │
                            └─────────────┬──────────────┘
                                          │
                                          │ ingest / normalize
                                          ▼
                           ┌──────────────────────────────┐
                           │         Pipeline 层           │
                           │ connectors / transforms / jobs│
                           └─────────────┬────────────────┘
                                         │
                                         │ extracted inputs
                                         ▼
                           ┌──────────────────────────────┐
                           │          Skills 层            │
                           │ ingest / classify / retrieve  │
                           │ summarize / commit / prune    │
                           └───────┬─────────────┬────────┘
                                   │             │
                     query/write   │             │ write notes / long-term
                                   ▼             ▼
                    ┌────────────────────┐   ┌────────────────────┐
                    │   Memory Gateway   │   │   Obsidian Vault   │
                    │ MCP / REST / Auth  │   │ Human-maintained   │
                    └─────────┬──────────┘   └────────────────────┘
                              │
                              ▼
                    ┌────────────────────┐
                    │     OpenViking     │
                    │ context / memory   │
                    │ resources / skills │
                    └─────────┬──────────┘
                              │
                    ┌─────────┴──────────┐
                    ▼                    ▼
          ┌──────────────────┐   ┌──────────────────┐
          │ Session / Online │   │    EverMemOS     │
          │ retrieval        │   │ long-term memory │
          └──────────────────┘   └──────────────────┘
                              ▲
                              │
                              ▼
                    ┌────────────────────┐
                    │ AI Agent / Harness │
                    │ Nanobot / Hermes   │
                    │ OpenClaw / others  │
                    └────────────────────┘

分层说明

1. 知识源层

外部系统和已有资料:

  • KB
  • Playbook
  • 月报
  • 报告
  • Ticket system
  • 情报系统
  • 历史 case

特点:

  • 来源多样
  • 结构不一致
  • 不能直接全部当记忆使用

2. Pipeline 层

负责:

  • 数据接入
  • 格式标准化
  • 提取元数据
  • 过滤噪声

边界:

  • 不做最终检索
  • 不做最终长期沉淀判断

3. Skills 层

负责:

  • 抽取高价值记忆
  • 分类为 knowledge / case / process / session
  • 检索相关上下文
  • 生成 case 总结
  • 写回 OpenViking / Obsidian / EverMemOS

这是整套系统的流程编排层。

4. Memory Gateway 层

负责:

  • 给 AI agent 提供统一入口
  • 屏蔽 OpenViking 细节
  • 提供 MCP / REST 接口
  • 处理鉴权和协议兼容

5. OpenViking 统一上下文层

负责:

  • 保存 memory
  • 保存 resources
  • 组织 skills
  • 按 namespace 管理不同类型上下文

6. Obsidian 层

负责人工可维护的知识沉淀:

  • 高质量 case note
  • playbook
  • 月报 / 报告摘要
  • 关键实体说明

7. EverMemOS 层

负责后台长期记忆整理:

  • episode -> long-term memory
  • 去重
  • 合并
  • 更新
  • 衰减

多 Agent 共享方式

多 agent 不直接彼此共享临时内存,而是通过统一上下文层协作:

  • 公共稳定知识走 soc/knowledge
  • 历史案例走 soc/case
  • 当前任务走 session/<session_id>
  • agent 私有偏好走 agent/<agent_id>

这样可以做到:

  • 公共知识共享
  • 当前会话隔离
  • 不同 agent 框架可复用同一体系

检索质量控制原则

为避免“所有东西全塞进去”导致检索质量下降,必须坚持:

  • 原始资料不直接全部进入长期记忆
  • 只保留高价值摘要、模式、结论、证据
  • session / process memory 默认短期保留
  • 历史 case 和 playbook 优先于泛知识
  • Obsidian 只放人工维护内容,不放全量原文

第一阶段默认方案

第一阶段推荐组合:

  • OpenViking统一 context / memory 层
  • Memory Gateway统一访问入口
  • Skills检索、总结、沉淀
  • Obsidian人工可维护知识沉淀
  • EverMemOS后台长期记忆整理

推荐原因:

  • 模块边界清晰
  • 最适合 POC 小步快跑
  • 最容易控制系统复杂度
  • 最容易对不同 agent 框架复用