← 回到书房

27

Jev-Mem: System-One-Controlled Agentic Memory for Efficient AI Agents

Dongming Jiang, Yi Li, Bingzhe Li · 2026

Editorial reading guide · 编者导读

为什么值得读

它让“记忆系统”多出一个值得单独研究的对象:决定经验何时、以什么角色参与工作的控制器。把生成与有界判断分开,有望缩短高频决策路径,也让判断可以被检查。不过接口返回合法数值、图发生了变化和答案变好仍是三种证据。读这篇时,最有用的追问是把它们逐一接起来。

Source-backed paraphrase

论文在解决什么

Jev-Mem 将高频的记忆判断交给 typed System-One controller:先保存 observation,再判断如何关联;检索时按问题分配预算、检查证据并决定是否继续。负责生成答案的 System Two 与保存节点的 memory plane 各有职责。它提出了一种控制记忆使用的方法,而调用固定 Jev 接口并不意味着模型从用户经历中更新参数。

Source-backed paraphrase

关键抓手

  1. 保存与选择分开:四类 memory type 是可重叠的注释;原文、时间和 provenance 留在同一个 canonical observation 中,选择性主要发生在关系构建和检索阶段。(§§3.1–3.2;Appendix B.2)
  2. 先发现候选,再判断关系:向量、关键词、实体与时间信号缩小待判断集合;Jev 为有界候选提供语义与因果等预测,代码负责阈值、建边和预算。(§3.2)
  3. 检索有反馈:routing、anchors、evidence assessment 与 graph expansion 形成循环;足够回答、继续寻找无益和资源耗尽是不同停止理由。(§3.3;Eqs. 11–27)
  4. 周期维护保留原始证据:重复、冲突、obsolete 与表示选择是维护信号;需要文字抽象时才可交给 System Two。论文并未把这条维护路径定义成模型参数遗忘。(§3.2;Appendix B.3)

Source-backed argument map

论证怎样成立

找到高频的小判断

记忆管理常需要分类、关系、相关性或停止判断,输出空间有界;逐 token 生成可能给这些动作增加开销。

§§1–2.2

把控制与存储分开

System One 对给定状态与问题提供 typed outputs;共享节点与多种关系组成 data plane,System Two 承担回答和必要的文本抽象。

§3.1;Figure 2

用保留与受控探索连接读写

写入保留 observation 并有选择地建关系;读路径逐轮判断证据、扩展候选并受预算限制。

§§3.2–3.3;Eqs. 5–27

观察整套系统的质量和耗时

LoCoMo 表格同时报告 judge score、build time 与 query latency;这些系统级比较还不足以隔离 Jev 模型本身的贡献。

§4;Tables 1–2

Source-backed method notes

方法与监督

Typed judgment is not personal training

官方文档中的 Jev 接收 state 与 Choice / Score / Noul。Noul 表达对命题的估计,不直接表示某条记忆的价值大小;分布集中程度也不是任务正确率。2026-09-22 的 Models 文档明确不提供按客户数据 fine-tuning / LoRA,同一权重服务各账户。

TypeSafe Introduction、Models、Confidence、Noul(官方接口旁读,非论文训练结果)

The shipped profile matters

固定 commit 的 config/jev_mem.json 启用 Jev 读写而关闭 admission;裸 JevMemConfig 的默认值不同。profile 使用 candidate_top_k=10、evidence_sufficient_threshold=0.95、continue_threshold=0.15、consolidation_interval=20。候选上限限制模型关系判断数量,不代表本地 candidate discovery 复杂度恒定。

config/jev_mem.json;memory/jev_mem_config.py;memory/jev_mem_policies.py:69–93(源码观察)

A stopped search can still lack evidence

充分性需同时满足 sufficient 阈值和 missing/contradiction 约束;continue_useful 很低也会结束,资源预算另可截断。当前代码记录 stopping reason 与 fallback events,模型失败后 routing、traversal、stopping 采用不同处理。

§3.3;memory/jev_mem_retrieval.py:21–198;memory/jev_client.py:265–270

Evaluation requires explicit answer and timer choices

当前 LoCoMo CLI 默认 best_of_n=3、llm_judge,候选答案选择使用 expected 参考答案;作者文档建议单答案评价显式 best-of-n 1。processing_time 在 retrieval 前开始、answer evaluation 后落值,controller latency_seconds 又在生成前结束。两者不能不加说明地替代论文 query latency。

jev_mem/benchmarks/locomo.py:390–392;memory/test_harness.py:115–170、323–412、465–558;docs/evaluation.md

Paper-reported findings

报告了什么

  • Table 1 报告 LoCoMo overall judge score 为 Jev-Mem 0.777、MAGMA 0.700;Jev-Mem Temporal 为 0.637,低于 MAGMA 0.650。是作者报告的回答评价,本站未复现。(§4;Table 1)
  • Table 2 报告 Jev-Mem build 158 s、query 0.93 s;Nemori build 1044 s,MAGMA query 1.47 s。这些时间是作者报告,本站未复现。(Table 2)

AMS audit · 本站复核与实验

AMS 复核与实验

以下为本站对固定代码、公开记录或原创场景的检查;适用范围以所链接的方法与记录为准。

检查对象与观察

  • 在两次 build 之后只改 obsolete 判断值,0.05 与 0.95 的 consolidate 都留下 n1/n2 及对应向量;记录的判断不同,关系拓扑相同。
  • 满足合并阈值且有拼接回调时生成 n3,原始 n1/n2 正文保持不变;派生节点记录 source_memory_ids=[n2,n1]。

本站已记录的结果

  • 这条源码路径实现了非破坏性整理。若目标是使旧事实退出当前使用范围,仍需要实际读取路径的独立定义与测试;本次未观察真实误答。
展开复核方法与推论

Real source, supplied decisions

直接加载固定 checkout,执行原 builder/policy 与真实 NetworkX/NumPy 后端;SDK carrier、controller 和摘要回调被明确替换。MockEncoder 不代表语义编码。

research/jev-memory-contract-study/protocol.md;results.json.source

Execution and saved-receipt verification

完整 --check 复跑源函数;--verify-checked 与 12 项 unittest 仅检查保存结果及篡改反例,不需要 upstream 或第三方库。

research/jev-memory-contract-study/study.py;test_study.py

沿判断找到状态变化

返回 obsolete、创建关系、增加 summary 和移除旧记录是可区分的事件;本轮只对已执行的事件作结论。

results.json.cases / observations / before / after

Evidence boundary

仍未证明什么

  • v1 结果表只有 LoCoMo;仓库有 LongMemEval runner,但文档明确不是论文已报告的第二套结果,且其 lenient scorer 不是官方指标。
  • 缺少能隔离 Jev、候选生成、关系结构、预算与停止策略各自贡献的完整组件消融,也未提供足以把当前 commit 默认参数绑定到论文结果的运行 manifest。
  • 当前 profile 使用 jev-latest;固定源码 commit 不等于固定 hosted model 版本。真实比较需要记录具体模型版本、请求配置与运行时间,不能只保存代码。
  • 官方模型文档列出日期比较、间接推理、噪声上下文、对抗内容等弱项;英语表现最好,中文与中英混合 memory 负载需要另测。独立命题输出不保证逻辑互补。
  • Jev 是 hosted inference;node_state 会带入记忆正文、时间与实体等字段。本文不使用私人数据,没有执行 Jev、answerer、judge、真实 embedding 或论文 benchmark。
  • 固定源码观察与有界 synthetic execution 不能证明真实检索误用、删除所有持久化副本、模型权重遗忘或论文结果无效。

Source audit · observation and consequence kept distinct

原文内部张力

正文与表格的结果并不完全一致

v1 §4.2 将 Temporal 写为 0.650 并称持平最好;Table 1 的 Jev-Mem 是 0.637。Multi-Hop / Open-Domain / Single-Hop 在正文为 0.625 / 0.610 / 0.797,在表格为 0.623 / 0.618 / 0.802。

定位:§4.2;Table 1;PDF 物理页 8

编者 consequence:本站数字引用明确采用表格;不能把正文的最优性描述不加核对地带进综述。差异本身不能确定哪一组对应作者原始运行。

设计中的 temporal Choice 与当前实现

§3.2 描述 implicit temporal order 的 Choice;检查的 relation_questions 只有 semantic、causes、caused_by 与必要的 entity identity。写入路径另以本地 sequence / proximity 创建时间边。

定位:§3.2 · https://github.com/libingzheren/Jev-Mem/blob/81574eb23f3fd8d1a6c4d54a1e7d6f2dd539e9bb/memory/jev_questions.py#L66 · https://github.com/libingzheren/Jev-Mem/blob/81574eb23f3fd8d1a6c4d54a1e7d6f2dd539e9bb/memory/memory_builder.py#L194

编者 consequence:论文设计和当前代码分别保留身份;未建立历史运行版本对应关系,不能据此反推论文实验采用了哪条实现。

Editorial synthesis / question

编者判断

把旧信息的角色写进执行语义 · Editorial inference — not tested by the paper

保留历史原文与撤销它对当前任务的适用性可以同时成立。若 obsolete 或 contradiction 应影响当前选择,需要定义作用对象、适用时间、检索过滤与派生摘要如何更新。

这是编者设计推论;当前源码的非破坏性维护不是完整遗忘实现,也不等于已经观察到真实回答误用。

把模型与执行器分别换掉 · Editorial inference — not tested by the paper

先固定图、候选、context 预算和 answerer,只比较规则、通用模型结构化输出与 Jev;随后才单独开放写入组织变化。这样能辨认语义判断与结构改变分别带来了什么。

这一真实 controller 比较尚未执行;本站有界源码实验使用指定判断值,不测模型语义能力。

继续追问

控制器已经判断旧信息 obsolete 之后,执行器改变了哪些节点、关系和可见范围;这种变化是否真正让下一次任务用对了记忆?

Editorial transfer · 编者设计建议

读完,可以怎样借用

基于既有精读与本条明确标注的证据范围整理;下面针对新场景的迁移对照尚未执行。

Agent Memory Study editors · 2026-09-22

什么时候有用
记忆系统需要高频判断哪些关系值得建立、证据是否已足够,或新信息是否改变旧记录的适用性。
可以借哪一步
将有界语义判断暴露成显式输入和 typed outputs,由代码定义预算、状态变化与来源保留;同时记录停止原因及模型调用失败后的实际路径。
先做什么对照
在同一任务和候选池上替换 controller,逐例对齐判断、提交的变化、下一次检索和最终引用;加入仅当前任务有效的更正,检查旧范围是否仍然成立。
带走时的边界
目标系统迁移未执行;保留证据不自动保证当前使用正确,结构化返回也不证明预测已经校准。

阅读依据:Jev-Mem §§3.1–3.3、Appendix B;固定公开代码的 write / consolidation / retrieval 路径。

Editorial protocol · proposed, not run

可复核的下一步

Proposed · not run

固定证据池之后,Jev 的判断增加了什么?

在相同候选、图与回答预算下,Jev 是否减少误连、漏证据和过早停止,并改善最后的回答?

Method
冻结原创 corpus/query、目标答案与各模型版本,先仅替换 controller(规则、通用模型 typed output、Jev),使用单答案评价;分别记录控制推理、检索、生成和 judge 时间。再独立放开写入组织,避免同时换掉全部组件。
Public / synthetic fixtures
延迟才有价值的经历、重复事实、仅限本次的偏好更正、事件时间与观察时间不同、话题相近但证据缺失、正文诱导控制器抬高优先级;另分中文和中英混合负载。
Controls
相同 candidate pool / graph / answerer;排除 gold-aware answer selection;记录 fallback,分开证据充分、继续无益与资源停止;保留仍适用的旧范围。
Measures
关系误连、应取未取、停止时缺证据、最终引用与回答、实际状态变化及分段 latency;不把检索命中或结构化字段合法当作 agent 成功。
Limitations
未运行,涉及外部模型及费用时需要独立执行范围。小型 source contract test 不替代这项比较。

Attributed public perspectives and tests

署名观点与测试

Public test · Agent Memory Study editors · 2026-09-22

给定判断之后,当前代码怎样改变记忆?

Method
每例重新构造后端。3 例比较 admission;7 例先保存两条 observation,再对照一次 consolidate 的节点、向量成员、关系、正文与来源。运行时保留 UUID,仅在 receipt 规范化;fresh check 比较完整结果。
Environment
Python 3.12、NumPy 2.5.3、NetworkX 3.6.1 与 tqdm;上游源码留在外部 checkout。没有模型、权重下载或服务调用。
Fixture
10 个原创英文输入与显式配置,包含迁居、发布、清单和温室记录。输入文本只承载执行测试;不代表自然语言理解评价。
Controls
Admission 关闭/type 全零、打开/低分与打开/高分;obsolete 0.05/0.95;merge 有无回调、冲突门槛与选择概率门槛。
Raw result
10 例 fresh 执行与保存结果一致。obsolete 两例均为 2→2 节点且保留两个向量成员;允许且提供回调的 merge 为 2→3,n3 保存 n2/n1 两个来源;其他 merge 对照为 2→2。
Derived result
指定判断会形成记录、关系或派生表示;obsolete 高分在此路径没有移除旧记录,merge 也没有替换原文。判断值与删除/失效的执行语义需要分别解释。
Limitations
未执行 Jev、语义 encoder、query engine、answerer、judge、磁盘 save/load、模型训练或参数遗忘。定向案例不能估计真实错误率或否定论文数字。

Evidence basis:固定官方 Jev-Mem commit 81574eb23f3fd8d1a6c4d54a1e7d6f2dd539e9bb;AMS 原创 synthetic fixtures。

Boundary:原函数与真实内存后端上的定向对照;Jev 判断和摘要回调为指定输入,不是模型准确率或 benchmark 复现。

Shared readings

放到一起读

谁在管理记忆?快判断、慢推理与旧信息的退场 →

沿着 observation、关系候选、检索反馈与非破坏性维护,定位每个控制判断的执行去处。

论文结果未复现;源码执行只检验指定判断后的行为,不测试 Jev 预测准确率。

串读定位:§§3.1–3.3、Appendix B;Tables 1–2;固定源码及本站实验

概括之后,往事还记得准吗? →

原节点、派生摘要、控制判断与实际使用分别留证据。

保存并存不证明推论或来源辨识获益;给定判断不是模型 inference。

串读定位:AMS 既有共读与给定判断的源码对照;本轮未重读全文

带走这份公开研究

Markdown ↓JSON ↓

含当前正文、出处、阅读范围与接续线索;链接的全文不随包附带。

已打开 Jev-Mem: System-One-Controlled Agentic Memory for Efficient AI Agents