目录

openKylin 智能体记忆提取与精准遗忘系统

面向 openKylin 的智能体记忆管理参赛作品。系统将工具调用、对话、手动配置和经用户同意的行为数据统一接入,完成偏好与知识的结构化沉淀、统一检索、敏感信息识别和可审计的精准遗忘;同时结合 mmap 页缓存和系统审计,探索操作系统能力对智能体记忆链路的支撑。

作品简介

智能体的记忆需要随交互不断积累,也必须在涉及个人信息、凭据或用户撤回意愿时被准确清除。本作品以 MemoryManager 为统一入口,围绕以下闭环设计:多源数据接入与清洗、偏好提取和版本管理、知识图谱与检索增强、短中长期记忆流转、敏感内容防护,以及自然语言驱动的精准遗忘与审计。

核心亮点

  • 多源融合:统一处理工具执行结果、Agent 对话、用户配置及经同意的行为数据。
  • 分层记忆:短期记忆(STM)、中期记忆(MTM)和长期记忆(LTM)按热度与生命周期流转,支持统一检索。
  • 偏好与知识协同:提取用户操作习惯、输出风格和安全策略偏好,并以结构化知识、向量、关键词和图谱召回支撑 RAG。
  • 精准遗忘:识别 PII、凭据和自定义敏感模式;遗忘操作在确认清单后执行,并留下可追溯审计证据。
  • OS 级机制:提供mmap 页缓存、journald/auditd 审计等机制的运行时证据状态。
  • 桌面与 Agent 联动:通过 D-Bus与 QwenPaw 前端,提供记忆写入、检索与遗忘的可视化演示。

系统架构

工具调用 / Agent 对话 / 用户配置 / 已同意行为数据
                     │
                     ▼
          清洗、标准化、去重与敏感预标记
                     │
                     ▼
 STM(JSONL + HNSW)→ MTM(SQLite + FTS5)→ LTM(Neo4j / Kuzu)
                     │
                     ▼
   向量、关键词与图谱并行召回 → 融合排序 → RAG 上下文构建
                     │
                     ▼
       QwenPaw / Dashboard / D-Bus

系统的内核与系统服务层提供敏感写入观测、版本化存储、资源控制和审计能力。每项 OS 机制均报告 ACTIVEDEGRADEDFAILED 等运行时状态;只有行为探针和关键状态读回成功时,才会标记为 ACTIVE

功能与 OS 级机制

模块 主要能力
多源数据整合 Schema 校验、格式归一、向量与哈希去重、质量检查
偏好记忆 操作习惯、输出风格与安全策略的提取、版本管理、跨场景复用
知识记忆 工作流、案例和模板的结构化存储,冲突处理与跨语言检索
统一检索 向量、图谱、关键词三路召回,融合排序与上下文组装
精准遗忘 PII、凭据、自定义模式检测;按确认范围清理并生成审计记录
mmap 与页缓存 以原子快照和内存映射支持版本化读取与热数据访问
审计 将记忆读写、版本切换和遗忘操作接入 journald / auditd 证据链

项目结构

memory/                 记忆接入、分层存储、检索和遗忘核心
agent/                  QwenPaw 集成、记忆管理器与演示服务
knowledge_graph/        图谱存储与查询
neuro_symbolic/         神经符号推理与检索协同
os_layer/               mmap、审计等 OS 机制
scripts/                演示、启动与辅助脚本
tests/                  自动化测试
docs/                   设计、部署、测试与交付文档

环境要求

  • openKylin 2.0 SP2 或兼容 Linux 环境。
  • Conda 环境 memory,Python 3.11。
  • 完整图谱能力需要本机可访问的 Neo4j;不可用时由嵌入式图谱Kuzu能力降级承接。
  • mmap、auditd 与 D-Bus 集成依赖主机内核、系统服务和运行权限。详细依赖请参阅部署说明手册

快速开始

在竞赛演示环境中执行。启动前请确认本机 Neo4j 与 LLM 服务已按 .env.example 中的配置就绪:

conda activate memory
cd /data/usershare/mxokdzntjytqyjzywjz
test -f .env || cp .env.example .env
SKIP_SEED=1 bash scripts/start_demo.sh

SKIP_SEED=1 表示不写入预置演示记忆,以空白状态启动。需要展示预置样例时,去掉该环境变量即可。

启动完成后:

  • Dashboard:复制终端输出的完整本地链接 http://127.0.0.1:8091/memory-dashboard.html#token=... 并在浏览器打开。
  • QwenPaw Agent:http://127.0.0.1:8088/

演示服务与 Agent 使用同一次性访问令牌。请勿将带有 #token= 的完整地址写入截图、日志或公开材料。

更多启动、验证和停止服务的操作,参见启动指南

配置说明

本地配置使用 .env,其中可能包含 LLM、图数据库和数据目录等运行参数。仓库仅提供.env.example模板:

  • 根据本机实际服务填写 LLM 与图数据库配置。
  • .env、令牌、密码和运行期数据库均不应提交到版本库或演示材料。
  • 敏感模式可在 config/sensitive_patterns.json 中维护;详细字段与部署参数见部署说明手册

测试与评测

conda activate memory
python -m pytest tests/ -q
python evaluation/benchmark_runner.py

自动化测试覆盖记忆接入、检索、遗忘、审计和演示接口等行为。评测入口使用 test_data/ 中的测试数据;指标口径、OS 机制取证方式和结果说明见测试与证据报告

参赛材料

文档方面已交付概要设计说明书(该项目说明书第二章)、详细设计说明书(该项目说明书第三章、第五章)、部署说明手册与完整测试报告(该项目说明书第四章),配套一键安装脚本与演示脚本。

以下材料均位于仓库根目录或在提交前放置到根目录:

材料 状态
源代码 本仓库根目录
作品简介与运行说明 本 README
详细设计说明书 项目说明书.docx(第三、五章)
部署说明手册 项目说明书.docx(第四章)
测试与证据报告 项目说明书.docx(第四章)
参赛承诺书 参赛承诺书.pdf
演示 PPT 演示PPT.pptx
演示视频 演示视频.mp4
项目说明书 项目说明书.docx

已知运行条件

  • scripts/start_demo.sh 面向竞赛演示目录 /data/usershare/mxokdzntjytqyjzywjz 编写;在其他路径部署时,请参照部署说明调整启动环境。
  • OS 深度能力不是仅凭配置即生效:缺少 BTF/BCC、系统服务、权限或桌面会话条件时,相关能力会显示为降级或不可用状态,不影响基础记忆功能的演示。
  • 图数据库和 LLM 服务需要按本机配置启动;其可用性会影响图谱检索和生成能力。

开源与安全说明

项目代码按仓库现有开源许可与依赖许可使用。提交前请核查并排除 .env、访问令牌、密码、个人数据、运行日志和数据库文件;演示中使用的数据应为可公开的测试或脱敏数据。

关于
74.0 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号