RAMPART:基于注册表的智能体记忆系统,具备优先级感知的运行时转换能力
摘要
RAMPART 是一种面向基于 LLM 的智能体的编译期内存模型和纯内存块注册表,通过五种可组合的原语管理上下文组装,支持优先级排序与淘汰策略。在多个 7B 至 14B 参数规模模型上的实验表明,块分组、相关性门控和模式淘汰能够显著提升任务成功率并降低提示词 token 开销。
arXiv:2606.04628v1 论文类型:新论文
摘要:RAMPART 是一种面向基于 LLM 的智能体的编译期内存模型和纯内存块注册表。上下文组装是一种可编程的运行时操作,内容从结构化注册表中按照明确的排序、包含和淘汰策略编译生成。五种可组合的原语(promote、gate、write、evict、rollback)在编译前作用于具名可寻址块,且不消耗任何提示词 token。来源标签和不可淘汰的所有权标志实现了一种具备块级所有权的权限化内存模型。使用 Qwen3-8B Q4 进行的受控探针实验表明,编译期的放置位置以及块与任务查询之间的结构关系会影响任务成功率:当任务位于注册表之后时,性能断崖出现在约第七个块位置;当任务位于注册表之前时,则出现在约第十二个块位置。将关键块与内容相邻的邻居分组,并将整个分组作为一个单元进行提升,可在单块放置失败的位置将任务成功率提升数十个百分点。在 Qwen2.5-7B、Llama-3.1-8B、Mistral-7B-v0.3 和 Qwen3-14B 上的跨模型复现实验表明,内容启动效应在不同模型系列中出现在相同的绝对位置,幅度随模型能力的增强而变化。在最难的注册表规模下,块分组将 Mistral 的平均通过率提升了约五倍;在注册表中段区域,使用该干预措施的较小模型甚至可以超越未使用该措施的较大模型。相关性门控在恢复 83% 提升条件成功率的同时,将提示词开销降低了 67.8%。模式淘汰将模式存在时 100% 的调用率降至 0%,这一特性是基于策略的方法在构造上无法保证的。共享注册表协调机制将智能体间通信简化为一次方法调用,协调 token 开销为零。
查看缓存全文
缓存时间: 2026/06/05 02:16
# RAMPART:基于注册表的智能体记忆系统,支持优先级感知的运行时转换
来源:https://arxiv.org/html/2606.04628(2026年3月)
###### 摘要
RAMPART 是一种面向基于 LLM 的智能体的编译时记忆模型和纯内存块注册表。上下文组装是一种可编程的运行时操作,内容在显式策略下从结构化注册表中编译,策略涵盖排序、包含和驱逐。五种可组合的原语(promote、gate、write、evict、rollback)在编译前作用于具名可寻址块,且不消耗任何提示词 token。溯源标签和不可驱逐的作者标志实现了具有块级所有权的权限化记忆模型。使用 Qwen3-8B Q4 进行的受控探测表明,编译时的放置位置以及块与任务查询之间的结构关系会影响任务成功率,当任务跟随注册表时,性能下降的临界点约在第七个块位置,当任务位于注册表前面时,临界点约在第十二个块位置。将关键块与内容相邻的邻块归为一组并作为整体提升,可在单块放置失败的位置将任务成功率提高数十个百分点。在 Qwen2.5-7B、Llama-3.1-8B、Mistral-7B-v0.3 和 Qwen3-14B 上的跨模型复现表明,内容启动效应出现在不同家族模型的相同绝对位置,幅度随模型性能而变化。在最难的注册表规模下,块分组将 Mistral 的平均通过率提升了约五倍;在中等注册表区间,经过干预的较小模型可以优于未经干预的较大模型。相关性门控将提示词 token 成本降低了 67.8%,同时恢复了提升条件下 83% 的成功率。Schema 驱逐在驱逐后产生 0% 的调用率,而 schema 存在时调用率为 100%——这一特性是基于策略的方法在设计上无法保证的。共享注册表协调将智能体间通信缩减为一次方法调用,且不消耗任何协调 token。
## 1 引言
向基于 LLM 的智能体提供程序性知识的主流模式是 markdown 指令文件,Anthropic 已将其标准化为 SKILL.md 规范\[18 (https://arxiv.org/html/2606.04628#bib.bib20),2 (https://arxiv.org/html/2606.04628#bib.bib1),1 (https://arxiv.org/html/2606.04628#bib.bib2),15 (https://arxiv.org/html/2606.04628#bib.bib16)\]。在最简单的部署模式中(在智能体框架中普遍存在),SKILL.md 文件在智能体初始化时从磁盘读取,拼接到系统提示中,并在后续所有任务执行期间保持静态不变。Anthropic 的实现增加了三级渐进式披露机制:文件元数据在启动时加载,完整指令主体仅在技能触发时注入,辅助资源则按需加载\[18 (https://arxiv.org/html/2606.04628#bib.bib20)\]。一旦加载完成,指令的排序、包含内容和具体内容在整个会话期间均固定不变。
然而,Liu 等人的研究表明,在多文档问答和键值检索任务中,语言模型的性能随输入位置呈 U 形曲线\[6 (https://arxiv.org/html/2606.04628#bib.bib6)\]。这一效应甚至在指令微调之前的基础模型中就已出现。Du 等人的后续研究表明,即使无关 token 被完全遮蔽、模型仅关注证据和问题,上下文长度本身也会降低性能,在 30K token 时算术任务的准确率下降幅度可达 50%\[4 (https://arxiv.org/html/2606.04628#bib.bib4)\]。由于每次任务执行都从相同的提示词开始,在某次运行中发现的启发式经验在没有人工干预和文件编辑的情况下无法用于后续运行。由于指令文件从磁盘读取,文件 I/O 带来了延迟和文件系统耦合,在消费级硬件上代价尤为高昂——这类硬件上基于 CPU 的量化推理速度仅为每秒三到八个 token。
使用数据库支持的块存储的系统(最典型的是 Letta\[7 (https://arxiv.org/html/2606.04628#bib.bib7)\])解决了轨迹记忆和 I/O 问题,但需要带向量搜索的关系型数据库用于归档检索,这增加了基础设施开销,在轻量级本地环境中提高了部署门槛,并且每当智能体将信息从外部存储分页回上下文时都会引入每次检索的查询延迟。Letta 的工作上下文是一个单一的非结构化文本块,其三个部分位置固定、不可重排。单块提升、基于相关性的选择性包含以及优先级排序编译均不存在。使用基于文件的技能库的系统\[18 (https://arxiv.org/html/2606.04628#bib.bib20),15 (https://arxiv.org/html/2606.04628#bib.bib16)\]既未解决排序问题,也未解决轨迹记忆问题。在现有系统中,上下文组装从未被作为显式可编程操作处理,所有方法要么采用完整拼接,要么采用基于相似性的检索\[20 (https://arxiv.org/html/2606.04628#bib.bib18)\]。
我们提出 RAMPART——一种实现为纯内存块注册表的编译时记忆模型,具备优先级感知的上下文编译、带溯源标签的智能体自写入以及位置敏感排序,作为上下文控制的系统抽象。编译时模型将上下文组装视为可编程步骤,而非拼接操作。内存注册表体现了其部署特性:无数据库、冷启动后无磁盘 I/O、延迟以方法调用为界。块注册表是指令管理、工具 schema 管理和技能组合的统一原语,具备块级可寻址性、动态排序和会话本地地址随机化。相关性门控类似于基于嵌入的检索,但作为预编译过滤器运行,在模型生成第一个 token 之前就决定哪些内容进入上下文,而非将检索到的内容注入到不断增长的提示词中。在内存设计的背景下,分页和检索循环不存在,确定性编译使得每次推理调用前的组装上下文均可被检视。
块溯源标签和不可驱逐的作者标志实现了具有块级所有权的权限化记忆模型,类似于操作系统中基于能力的访问控制。因此,编译步骤暴露了两个此前从未被视为可编程的变量——每个块的绝对位置以及块与任务查询之间的结构关系——我们在下文将证明这两者对指令遵循具有可测量的影响。
我们还形式化了共享注册表协调模式:注册表实例之间持有直接引用,通过写入块而非组合消息来协调,将注册表间协调缩减为一次函数调用,且不消耗任何提示词 token 成本。
现有的 SKILL.md 和 CLAUDE.md 文件无需修改即可导入,使 RAMPART 无需迁移现有知识库即可被采用。受控探测表明:RAMPART 能够直接控制编译时放置,位置变化会产生可测量的任务成功率差异;相关性门控将提示词 token 成本降低 67.8%,同时恢复了提升条件下 83% 的成功率;结构性 schema 驱逐在驱逐后使调用率降为 0%,而 schema 存在时调用率为 100%。在三个独立实验室的指令微调模型上进行的跨模型复现表明,诊断性扫描揭示的内容启动结构出现在不同模型家族的相同绝对注册表位置,幅度随模型在基准测试上的能力而分级。块分组干预将 Mistral-7B-Instruct-v0.3 在最难注册表规模下的每位置平均通过率提升约五倍;同族规模对比表明,在中等注册表区间,经过库干预的较小模型 Qwen3-8B 优于未经干预的较大模型 Qwen3-14B——在该区间,较弱的首因效应和较弱的内容启动效应原本会使较小模型无法完成检索。
## 2 RAMPART 系统设计
### 2.1 定义
**指令块(IB)** 是 RAMPART 的原子可寻址单元。每个块是一个元组 $(id,\ \textit{content},\ \textit{priority},\ \textit{source},\ \textit{author},\ \textit{removable},\ \textit{run},\ \textit{created},\ \textit{accesses},\ \textit{embedding})$,其中 $id$ 是会话本地的 UUID4,$\textit{content}$ 是编码行为指令、工具 schema 或学习启发式的自然语言字符串,$\textit{source} \in \{\text{seed}, \text{agent}, \text{orchestrator}\}$ 记录溯源信息,$\textit{author}$ 是写入该块的注册表实例的 UUID,$\textit{removable}$ 控制其他注册表实例是否可以删除该块,$\textit{embedding} \in \mathbb{R}^{384}$ 是在冷启动时由轻量级句子编码器(例如 all-MiniLM-L6-v2,22 MB,256 token 输入限制)一次性计算得到的稠密向量。
**块注册表(BR)** 是一个有序的进程内映射 $\text{BR} = \text{OrderedDict}[\text{UUID} \to \text{IB}]$。排序是显式且可变的,是编译后上下文字符串中编译时位置的唯一决定因素。冷启动后不发生任何磁盘 I/O。每个注册表实例在构建时被分配一个全局唯一的标签和 UUID。加载接受一个源描述符列表,每个描述符包含路径和可选的块名称列表。解析后,每个块获得一个新的 UUID4 作为其运行时标识符。语义名称单独保留。这种会话本地地址随机化类似于操作系统中的地址空间布局随机化(ASLR)——通过语义名称引用块的间接提示词注入攻击无法针对特定运行时地址,因为 UUID 是不可预测的,且在每次会话加载和快照恢复时都会改变。这为间接提示词注入提供了明确的防护:嵌入在检索内容中的恶意指令若试图通过名称驱逐或修改特定块,将会失败,因为该块的运行时地址是注入内容未知的 UUID。
**种子库** 是一个以命名空间标识符为键的独立内存存储。库在应用程序启动时填充一次,之后不再修改。工作注册表从中选择性提取,在不产生启动后文件 I/O 的情况下将指令库与活动上下文分离。
### 2.2 种子文件格式
种子文件使用带 YAML 前置信息的 markdown 格式。每个块是一个具名章节,前置信息中包含名称、优先级和可选标签列表,后跟作为正文的指令文本。没有前置信息的文件被视为以文件名主干命名的单一匿名块,使现有 SKILL.md 文件可以零摩擦导入。格式注册表将文件扩展名映射到解析器可调用对象,用户可在冷启动前注册额外的解析器。
默认嵌入模型(all-MiniLM-L6-v2)的输入截断为 256 token,因此超过约 200 个词的块在相关性索引中仅由其前 256 个 token 表示。这有两个实际影响。第一,块内容应以细粒度编写,每个块包含一个概念、规则或工具定义。这与位置敏感性论点一致,即较小的块能更精细地控制编译预算内的内容。第二,拥有较长块的用户应通过配置选择更大的嵌入模型。表1 (https://arxiv.org/html/2606.04628#S2.T1) 列出了可选方案。余弦评分步骤与模型无关,更换嵌入模型只需更改配置即可。
稠密嵌入上的余弦相似度无法区分词汇相似但意图相反的块,例如一个指示"始终使用某种格式"的块和一个指示"永不使用某种格式"的块。细粒度的块编写方式——每个块一个概念、规则或工具定义——不仅能提高门控精度,还能在编译前的结构层面识别语义矛盾,从而缓解这一问题。门控函数本身是可配置的可调用对象。需要更精细区分的用户可以替换为交叉编码器、更大的嵌入模型或基于 LLM 的相关性评判器,而无需修改编译流水线。
**表 1:** RAMPART 的嵌入模型选项。速度在 CPU 上测量。API 模型需要网络调用和 API 密钥。
### 2.3 指令、工具 Schema 与技能文件
RAMPART 的块机制同等适用于当前智能体框架静态加载的三类内容。
**指令管理**是主要应用场景。领域规则、人格定义、安全约束和学习启发式各自是一个块。编译步骤仅组装与当前任务相关的块。
**工具 schema 管理**替代了将所有可用工具定义加载到每个系统提示中的常见模式。每个工具定义是一个块,其正文以自然语言描述工具的签名和行为,前置信息中包含名称、优先级和标签列表。相关性门控仅选择与当前任务语义相关的 schema 并将其提升。不需要某个工具的任务永远不会看到该工具的 schema。这提供了一种结构性安全特性:排除工具 schema 的编译上下文使该工具在结构上对模型不可访问,无需任何策略执行层。
表2 (https://arxiv.org/html/2606.04628#S2.T2) 对比了 RAMPART 与 SKILL.md 模式在关键特性上的差异。
**表 2:** RAMPART 与基于文件的技能系统在关键特性上的对比。
### 2.4 上下文编译
上下文编译返回一个对象,包含组装后的提示词字符串、按编译顺序排列的语义名称列表、因超出允许上下文长度而未纳入的名称,以及总 token 数。编译分四个阶段执行:相关性门控(可选的余弦过滤)、注册表的有序遍历、token 预算截断,以及对已包含块的访问计数递增。
编译预演仅执行阶段一和阶段二,返回相同的元数据,但不产生输出也不修改状态。排除列表使调用方可以检查哪些内容被截断,并决定是否提升某个块、增加允许的最大 token 数或调整相关性阈值。因此,相同的预算和相同的注册表,不同的排序,会产生不同的提示词。
表3 (https://arxiv.org/html/2606.04628#S2.T3) 报告了当前 31 个块的种子(启用嵌入计算)的实测延迟。在 $N=200$ 个块时,编译达到 $12.5\,\mu\text{s}$。查找相关块在 $N$ 上近似常数,耗时 4–6 ms,因为每次查询的嵌入计算主导了余弦评分循环。在 $N=31$ 个块时,从文件冷启动(含嵌入计算)耗时 $230\,\text{ms}$,这是会话启动时的一次性成本。所有三种操作在实测 8.5 秒每推理调用的情况下均不到智能体循环总时间的 0.6%。
**表 3:** RAMPART 在配备参考 RT 5080 硬件的参考笔记本电脑上的操作延迟。从文件启动包含所有块的嵌入计算。数值为 1000 次重复(编译、查找相关)或 10 次重复(从文件)的均值 $\pm$ 标准差。
### 2.5 块排序、调用方自写入、溯源与驱逐
注册表排序是编译时位置相似文章
仅靠基准测试不够:RAMP——生产系统中代理模型的运行时评估
RAMP是一个基于生产环境的LLM代理评估框架,可揭示静态基准测试无法察觉的显著能力退化,显示任务完成率在串行工作流中从100%骤降至20%。该框架在真实的编译器构建工作负载上评估了15个主流模型,涉及复杂的工具链交互和分阶段恢复机制。
智能体记忆不仅仅是基于用户事实的RAG
文章认为,简单的基于RAG的智能体记忆系统在生产中会失败,原因包括过时的偏好、遗漏的关键词和提示注入等问题,并主张采用分层记忆架构,具备主动选择、确定性回退、治理和测试等功能。
Memory-R2: 面向长程记忆增强型LLM代理的公平信用分配
Memory-R2 引入了 LoGo-GRPO,这是一种结合了局部与全局分组相对优化的训练框架,为长程记忆增强型LLM代理提供更公平的信用分配,从而在多种骨干网络上提升准确率和推理延迟。
先个性化再存储:面向长周期智能体的个性化记忆基准测试与学习
本文介绍了PerMemBench,这是首个用于评估基于LLM的智能体中个性化记忆系统的基准测试,并提出了一个会话级存储门控框架,该框架根据个体用户上下文调整记忆策略。
构建 Agentic GraphRAG 系统:从知识图谱和本体论到作为 AI 智能体 MCP 服务器的统一记忆
作者认为 GraphRAG 本质上是一个数据建模问题,而非单纯的检索算法,并提出了一种包含五个组件的架构,利用本体论、知识图谱和 MCP 服务器为智能体提供统一记忆。