# agentmem-bench **Repository Path**: wangyue2006/agentmem-bench ## Basic Information - **Project Name**: agentmem-bench - **Description**: 面向 openKylin 的智能体长期记忆自动化评测 Benchmark · 六维能力 × 五态判别 × 三层混合判分(2026 上海开源软件应用创新大赛 openKylin 赛题作品) - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-11 - **Last Updated**: 2026-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AgentMem-Bench [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![Gitee 仓库](https://img.shields.io/badge/Gitee-agentmem--bench-orange.svg)](https://gitee.com/wangyue2006/agentmem-bench) > 面向 openKylin 操作系统的智能体长期记忆自动化评测 Benchmark > 2026 上海开源软件应用创新大赛 · 开源 AI 工具赛道 · openKylin 赛题参赛作品 ## 一句话 把智能体的**对话、记忆记录、行动轨迹、文件产物**统一组织为证据链,对**六维记忆能力**自动评分,输出**可解释的多维指标与雷达图**,支持不同智能体(KylinBot / OpenClaw / …)批量对比。 ## 六维能力 → 用例模板 | 维度 | 考什么 | 用例机制 | |---|---|---| | 长期保持 retention | 该记的稳定记住 | 多轮种子注入 + 无提示远距探针 | | 记忆调用 recall | 后续交互正确调用 | 任务型探针(生成/执行时必须用到记忆) | | 动态更新 update | 新信息覆盖旧信息 | 种子 + 干扰(新版本)+ 探针验证用新不用旧 | | 相近区分 discrimination | 相似信息不混淆 | 高相似度对(文件名/路径/参数)+ 指认探针 | | 边界识别 boundary | 不该记的不记 | 一次性验证码/临时上下文 + 复述探针(应拒答) | | 任务复用 reuse | 执行任务时用历史 | 重复任务探针,验证直接复用而非重新问 | ## 五态判别(自动评分的输出状态机) `correct` 正确记忆 · `missed` 遗漏 · `confused` 混淆 · `false_persist` 错误持久化 · `misapplied` 错误复用 每个探针判分后落到五态之一;六维得分 = 该维度用例的 correct 占比(带权重),五态计数进入报告,用于区分"没记住"和"记错了"。 ## 评分引擎:三层混合判分 1. **规则层**(零成本,确定性用例):exact 精确匹配 / keyword 包含-禁含 / behavior 证据文件比对 2. **LLM-as-judge 层**(语义用例):裁判模型收到「探针问题 + 被测回答 + 判分标准 + 禁止项」,强制输出 JSON:`{"verdict":"correct|missed|confused|false_persist|misapplied","score":0-1,"reason":"可解释评分原因"}` 3. **一致性仲裁**:llm_judge 跑 3 次取多数决;不一致的样本标记 `ambiguous` 进人工复核队列(人工介入率是评审指标,报告需输出该比例) 裁判模型走 OpenAI 兼容 API(`OPENAI_BASE_URL`),默认指向本地 llama-server(数据不出机),云端模型可配置替换。 ## 证据链(evidence bundle) 每个被测 session 产出: ``` evidence/// ├── conversation.jsonl # 完整对话(种子/干扰/探针逐条带时间戳) ├── memory_snapshot/ # 智能体记忆库快照(导出的记忆条目/文件) ├── action_trace.jsonl # 工具调用与行动轨迹 └── verdict.json # 每探针的判分结果与 reason ``` ## 适配器接口 ```python class AgentAdapter(Protocol): name: str def session(self) -> Session # 每用例独立会话(隔离记忆污染) def send(self, text) -> Reply # 单轮输入,返回回复+工具调用 def export_memory(self, path) # 导出记忆库快照 def reset(self) # 清空记忆(baseline 对照) ``` CLI 支持导入多份智能体配置批量对比:`agentmem run --agents kylinbot.toml,openclaw.toml --dataset dataset/cases/ --report out/` ## 目录 ``` dataset/schema.json 用例数据结构(JSON Schema) dataset/cases/*.json 用例库(六维 × 多条) src/agentmem/ 评测引擎(runner/judge/metrics/adapters) examples/ 样例证据与样例评分结果 packaging/debian/ .deb 打包,进 openKylin 软件源 docs/design.md 方案说明文档 ``` ## 在 openKylin 上运行 ```bash sudo apt install ./agentmem-bench_1.0.0_amd64.deb # 或从 openKylin 软件源安装 agentmem run --agent openclaw --dataset /usr/share/agentmem/dataset agentmem report out/ --radar radar.png # 六维雷达图对比 ``` ## 与 openKylin 智能体操作系统的集成点 - 被测对象直接使用 openKylin 生态智能体(KylinBot / OpenClaw / Hermes Agent),适配其会话与记忆存储接口 - 评测器本身打包 .deb,进 openKylin 软件源,UKUI 桌面一键运行 - 证据采集对接 openKylin 智能体框架的运行产物(对话记录/记忆库/工具日志路径),而非侵入式改造智能体 --- ## 实测结果(openKylin 3.0 虚拟机 · 本地 qwen3.8-27B) 双智能体 × 12 探针真实评测(跨会话探针,裁判三票多数决): | 维度 | baseline(无长期记忆) | mem-agent(带记忆层) | |---|---|---| | 长期保持 | 0.75 | **1.00** | | 记忆调用 | 0.00 | **1.00** | | 动态更新 | 0.00 | **1.00** | | 相近区分 | 0.15 | **1.00** | | 边界识别 | 0.45 | 0.50 | | 任务复用 | 0.10 | **0.975** | 五态分布:baseline = correct 2 / missed 9 / error 1;mem-agent = correct 11 / missed 1。 baseline 在记忆调用/动态更新/相近区分上归零——跨会话后短期上下文清空,无记忆层即失忆; mem-agent 凭显式记忆提取/注入层全面领先。证据链见 `examples/evidence/` 与 `results-vm/`。 演示视频:`video/AgentMem-Bench演示视频-完整版.mp4`(3 分 27 秒,openKylin 桌面实机录屏 + 旁白)。