# Architecture ## 整体目标 构建一个面向 SOC case 研判辅助的记忆系统 POC,用于提升 AI agent 在以下环节的效果: - 告警研判 - 历史 case 检索 - 上下文补全 - 结论生成 - 高价值记忆沉淀 ## 总体架构图 ```text ┌────────────────────────────┐ │ 知识源 / 数据源 │ │ 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/` - agent 私有偏好走 `agent/` 这样可以做到: - 公共知识共享 - 当前会话隔离 - 不同 agent 框架可复用同一体系 ## 检索质量控制原则 为避免“所有东西全塞进去”导致检索质量下降,必须坚持: - 原始资料不直接全部进入长期记忆 - 只保留高价值摘要、模式、结论、证据 - session / process memory 默认短期保留 - 历史 case 和 playbook 优先于泛知识 - Obsidian 只放人工维护内容,不放全量原文 ## 第一阶段默认方案 第一阶段推荐组合: - OpenViking:统一 context / memory 层 - Memory Gateway:统一访问入口 - Skills:检索、总结、沉淀 - Obsidian:人工可维护知识沉淀 - EverMemOS:后台长期记忆整理 推荐原因: - 模块边界清晰 - 最适合 POC 小步快跑 - 最容易控制系统复杂度 - 最容易对不同 agent 框架复用