Mstar: Every Task Deserves Its Own Memory Harness¶
会议: NeurIPS 2026
arXiv: 2604.11811
OpenReview: https://openreview.net/forum?id=5rRtvbWTuR
代码: https://github.com/wbopan/mstar
领域: LLM Agent
关键词: 智能体记忆系统、程序搜索、反思式代码进化、长期记忆、具身规划
一句话总结¶
针对传统通用固定记忆架构跨任务泛化能力差的问题,Mstar 将智能体记忆外壳形式化为由 Schema、Logic 与 Instruction 组成的 Python 可执行程序,通过反思式代码进化与种群搜索自动发现任务专用的最优记忆架构。
研究背景与动机¶
基于大语言模型(LLM)的智能体系统依赖记忆外壳(Memory Harness)来写入、组织、检索和复用历史交互经验。然而,不同任务领域对知识结构的要求存在本质差异:长期对话智能体需要人员、事件与偏好的语义实体关联,以精准捕捉用户特定事实;具身智能体需要从历史轨迹中提炼可复用的行动规则与状态转换模式,以指导新环境中的动作决策;而法律、医疗等专业推理领域则需要强 schema 约束的关系数据库与按审查细则定制的证据链检索。
现有智能体记忆方案大多基于一套固定的先验假设构建通用记忆系统(如统一采用基于向量相似度的分块检索、或者硬编码的原子事实抽取管道)。这种通用化设计导致记忆架构在跨任务迁移时表现极不稳定——在对话任务上表现优异的系统,直接搬到具身规划或法律推理时往往迅速失效。更深层的矛盾在于:人工手动针对每个特定任务定制开发专属的数据结构、检索算子与交互提示词,不仅工程成本极为高昂,而且设计空间受限于工程师的直觉偏见,难以触达最优解;而现有的记忆优化工作往往仅局限于狭窄的预设超参数搜索或纯自然语言提示词优化,无法自主合成出全新的底层数据结构与程序级检索逻辑。
因此,本文的核心思路是将智能体记忆外壳的设计问题,重构为一个在可执行 Python 代码空间中的自动程序发现问题。核心 idea:将记忆外壳形式化为联合定义 Schema、Logic 与 Instruction 的可执行 Python 内存程序,利用反思式代码进化与种群式程序搜索,基于验证集反馈自动演化出针对特定任务定制的结构化记忆程序。
方法详解¶
整体框架¶
Mstar 将智能体记忆外壳抽象为一个具有标准化接口的可执行 Python 模块,该程序由 Schema(数据契约)、Logic(读写后端逻辑)和 Instruction(智能体交互协议)三大核心组件联合定义,并可在沙箱内调用标准工具包(Toolkit,包含 SQLite、ChromaDB 向量库、基础数据结构及单次调用的 LLM 端点)。整个系统通过「种群维护 → 验证评估与切片采样 → 反思代理代码变异 → 语法检查与自动修复 → 种群更新」构成的迭代循环,端到端演化出目标任务的最优记忆程序。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["多样化种子记忆程序库"] --> B["种群采样与代表性验证集评估"]
B --> C["1. 联合组件形式化<br/>统一定义 Schema/Logic/Instruction 接口"]
C --> D["2. 诊断反馈驱动的反思变异<br/>诊断低分轨迹并生成 V4A 代码补丁"]
D --> E["3. 语法约束检查与编译期修复<br/>运行类型/时间/调用预算自愈循环"]
E -->|检查通过| F["4. 基于温度的种群更新与选择<br/>平衡探索与利用更新程序池"]
E -->|失败超阈值| G["丢弃异常候选程序"]
F --> H["产出任务定制化最优记忆程序"]
关键设计¶
1. 联合组件形式化:以可执行代码统一定义 Schema、Logic 与 Instruction
以往智能体记忆优化大多将提示词、数据模式与底层存储算法割裂处理,导致各组件间无法紧密协同。Mstar 将记忆系统统一抽象为独立的 Python 模块,由三类紧密耦合的组件共同构成:
1. Schema:使用 Python 标准 @dataclass 强类型定义记忆输入载荷 KnowledgeItem 和检索查询参数 Query,外部 LLM 仅需生成与之对应的轻量 JSON 字典即可被解析实例化,消除了传统弱类型解析的格式错误;
2. Logic:定义 KnowledgeBase 类的核心读写操作,实现 write(item, raw_text) 和 read(query) 方法。在 Logic 内部,程序可自由支配 Toolkit 中提供的白名单算子,包括基于 SQLite 的结构化关系表操作、ChromaDB 向量相似度检索、堆/列表处理,以及在读写时单次调用 LLM 进行辅助抽取或二次总结;
3. Instruction:通过模块级常量字符串(INSTRUCTION_KNOWLEDGE_ITEM、INSTRUCTION_QUERY、INSTRUCTION_RESPONSE 与常驻上下文 ALWAYS_ON_KNOWLEDGE),精确约束任务智能体如何从原始交互轨迹中提炼知识、如何根据当前问题构建查询参数,以及如何依据检索上下文生成最终回答。
三者的联合定义使得代码生成模型可以同时调整数据结构与检索策略,实现表征与推理策略的端到端对齐。
2. 诊断反馈驱动的反思变异:以双验证集切片引导代码演化
直接在开放程序空间盲目搜索极易陷入局部最优或产生退化代码。为此,Mstar 设计了基于执行轨迹诊断的编码代理反思变异机制。在每轮评估中,系统将验证集解耦为固定的「静态验证集」与流转的「旋转验证集」:静态验证集作为适应度评估的客观基准计算标量得分 \(\mathcal{J}(P)\);旋转验证集则类似于小批量训练样本,在每轮迭代中重新聚类采样,提取智能体在读写阶段的详细调用轨迹与失败案例 \(\mathcal{F}=\{(q, y, \hat{y}, c, s) \mid s < \theta\}\)。
编码代理(Reflector Agent)接收当前程序源码、历史演化日志、失败轨迹中的错误输入输出及检索上下文,深度分析底层读写逻辑是否生效、关键词/向量匹配是否命中干扰信息、以及常驻提示词是否存在引导偏差。随后,编码代理生成精确的 V4A 格式代码补丁,既在逻辑层修正存储和检索算法(如引入同义词规范化、重叠词加权、多路排序融合),又在提示词层优化抽取准则与执行避坑指南。
3. 语法约束检查与编译期修复:构建健壮的自动化代码自愈闭环
由大模型生成的 Python 代码天然面临语法错误、未定义变量、运行时类型不匹配以及资源超限等风险。为防止低质量代码浪费昂贵的下游任务评估算力,Mstar 构建了一道编译与运行时质量检查防线。
在生成的补丁应用后,系统首先执行一系列严格的约束校验:检查是否严格定义了 KnowledgeItem、Query、KnowledgeBase 三个类及四项提示词常量;检查 KnowledgeItem 字段类型是否全为 JSON 兼容类型;检查 read() 返回字符量是否在 3,000 字符限制内,以及单次读写耗时是否在 60 秒超时窗口内;特别是检查是否严格遵守每个 write() 或 read() 调用至多发起 1 次 Toolkit LLM 调用的硬性预算。若任何项校验失败,系统会将完整的异常调用栈 Resubmit 给编码代理进行针对性修复(最多允许 \(k=3\) 次尝试),若超限仍未修复则直接丢弃候选程序,确保回流至种群池中的程序 100% 具备有效执行力。
4. 基于温度的种群更新与选择:兼顾探索与利用的高效程序空间遍历
记忆外壳搜索涉及长期交互轨迹回放与批量推理,程序评估开销远超传统超参数搜索。若采用贪婪单分支迭代,算法极易在早期劣质变异上停滞不前。Mstar 维护一个包含多个候选程序的种群池 \(\mathcal{P}\),以 3 个异构种子程序初始化(涵盖基于分块与余弦相似度的纯向量检索 Vector Search、全量文本拼接后由 LLM 摘要的 LLM Summarizer、以及双轨抽取教训与事实的 Experience Learner)。
在每次变异前,算法根据静态验证集得分 \(\mathcal{J}(P_i)\) 采用带温度系数 \(\tau\) 的 Softmax 概率采样父代程序: $$ \Pr(P_{i}) = \frac{\exp(\mathcal{J}(P_{i}) / \tau)}{\sum_{j} \exp(\mathcal{J}(P_{j}) / \tau)} $$ 该设计保证了高分程序获得更高的探索利用权重,同时为低分但潜在具有优良数据结构的原型保留跳出局部最优的非零概率。结合基于贪心设施选址算法(Facility-Location Objective)的代表性代表子集挑选机制,系统在仅需 20 轮进化的有限预算下即可快速收敛至高质量程序。
实验关键数据¶
主实验¶
在涵盖长程对话问答(LoCoMo)、具身规划(ALFWorld)、医疗决策问答(HealthBench)以及高风险专业法律与金融推理(PRBench)四大任务家族、共七个配置下,以 GPT-5.4 Mini 作为任务智能体、GPT-5.3-Codex 作为反思编码智能体进行评测,对比涵盖无记忆对照、检索式记忆、自演化记忆及提示词优化三大主流范式的 9 种竞争基线。
| 数据集 / 评测领域 | 评估指标 | Mstar (本文) | 最优基线 (Prev. SOTA) | 提升幅度 (Gain) |
|---|---|---|---|---|
| LoCoMo (长程对话) | Token F1 / LLM-Judge | 0.459 / 0.610 | 0.373 / 0.540 (Mem0) | +23.1% (F1) / +13.0% (L-J) |
| ALFWorld Unseen (具身未见) | 成功率 (Success Rate) | 0.881 | 0.857 (GEPA) | +2.8% (相对基线) |
| ALFWorld Seen (具身已见) | 成功率 (Success Rate) | 0.700 | 0.820 (GEPA + Vector Search) | -14.6% (次优) |
| HealthBench Data (医疗数据) | Rubric 得分 | 0.390 | 0.327 (GEPA + Vector Search) | +19.3% (相对基线) |
| HealthBench Emerg. (医疗急诊) | Rubric 得分 | 0.493 | 0.487 (Dynamic Cheatsheet) | +1.2% (相对基线) |
| PRBench Legal (专业法律) | Rubric 得分 | 0.660 | 0.568 (GEPA) | +16.2% (相对基线) |
| PRBench Finance (专业金融) | Rubric 得分 | 0.586 | 0.449 (GEPA) | +30.5% (相对基线) |
消融实验¶
在 LoCoMo 对话长记忆基准上对核心设计要素进行系统性消融对比,量化各演化维度与搜索策略的具体贡献。
| 配置变体 | Token F1 | 变化量 \(\Delta\) | 配置说明与分析 |
|---|---|---|---|
| Mstar 完整系统 | 0.459 | — | 联合进化代码 Logic 与提示词 Instruction,采用带温度种群采样 |
| − Instruction (仅进化代码) | 0.353 | -0.106 | 冻结 Instruction 提示词,仅允许代码及 Schema 自由演化 |
| − Code (仅进化提示词) | 0.256 | -0.203 | 冻结代码为初始 Vector Search 种子,仅进化系统 Prompt 常量 |
| Max parent selection (贪婪父代) | 0.381 | -0.078 | 每轮变异仅贪婪选取得分最高的单一程序作为父代 |
| − Diversity (线性单链搜索) | 0.318 | -0.141 | 移除种群池结构,退化为仅在当前单一最佳程序上线性变异 |
关键发现¶
- 代码进化的驱动力显著高于纯 Prompt 优化:消融结果显示,去掉代码演化能力(\(- \text{Code}\))导致 F1 剧烈暴跌 0.203(降幅达 44.2%),表明底层数据结构(如从无序文档块重构为 SQLite 关系表及关系三元组元数据)是攻克长上下文记忆瓶颈的决定性基石;而单独去掉 Prompt 演化同样导致 0.106 的显著下降,证明了表征与指令联合优化的必要性。
- 不同任务诱导出的最优记忆架构具有本质结构异质性:通过对演化后的代码结构进行降维聚类分析发现,ALFWorld 演化出的最优程序为基于纯 SQLite 的确定性动作动作缓存(无需向量检索,依靠精准目标、地点及状态关键词规则加权,辅以单次 LLM 规划合成);LoCoMo 演化出的最优程序为融合 SQLite 7 维元数据与 ChromaDB 语义向量的双路混合索引,并强制实施单对话至多提取 2 个分块的源多样性控制;而在 PRBench 法律与金融领域,程序则自发构建了覆盖多达 10–22 个专业细粒度字段、兼具向量检索与强 schema 过滤的大型混合推理系统。
- 跨任务直接迁移严重退化,验证「一任务一外壳」核心假说:跨任务迁移实验显示,将某一源任务上优化出的最佳程序迁移至其他目标任务时,其表现不仅远落后于目标任务的原生优化程序,甚至在 6 组迁移实验中有 5 组表现劣于未经优化的通用初始种子程序(Universal Seed),有力证实了通用静态记忆外壳的局限性。
亮点与洞察¶
- 将记忆架构形式化为可执行 Python 代码:打破了以往记忆系统仅在预设参数空间或纯自然语言提示词中调优的藩篱,赋予智能体自主引入数据结构、排序公式与算法过滤算子的图灵完备表达空间。
- 动静解耦的样本采样与反思变异机制:利用固定静态子集提供稳定的适应度评估标尺,利用动态轮换子集为 LLM 编码代理提供充满多样性的失败轨迹诊断上下文,兼顾了搜索评估的客观性与变异创新的丰富度。
- 编译修复与沙箱契约闭环:在代码生成后无缝嵌入类型推导、运行时耗时与 LLM 调用硬预算校验,确保了进化过程中每一个沉淀至种群的程序均具备生产级可执行性。
局限与展望¶
- 作者承认的局限性:当前演化流程高度依赖任务带有明确的量化反馈信号(如 F1、环境二值成功率或专家评审 Rubric),在缺乏可验证评分的弱监督或无监督交互场景中难以开展;此外,演化过程需要多次跑通任务轨迹,在交互代价极高或实时在线场景下搜索开销较为昂贵。
- 独立观察与深层局限:在主实验中,Mstar 在 ALFWorld Seen(已见场景)上的成功率(0.700)落后于 GEPA + Vector Search(0.820),且在 LoCoMo 的细分问题分析中,Mstar 在时序(Temporal)与因果(Causal)等依赖全局时钟推断的复杂问题上略有偏科,表明以总体验证集均分作为唯一进化目标时,容易忽视长尾复杂子类的性能收敛。
- 可改进方向:引入帕累托多目标优化机制,在演化过程中显式兼顾不同子类别的均衡表现与推理 Token 成本;探索轻量化代理模型进行离线快速初筛,进一步压缩搜索阶段的 API 调用开销。
相关工作与启发¶
- vs Mem0 / G-Memory / MemoryBank:传统检索式记忆系统依赖固定的向量数据库或预设图结构,无法根据特定任务特性调整数据表模式与过滤算法;Mstar 将整个记忆外壳作为程序进行端到端演化,能够按需自主合成 SQLite 索引、规范化逻辑与混合检索流程。
- vs GEPA / Prompt Optimization:GEPA 仅在自然语言系统提示词层级进行反射式变异,无法触及底层数据结构和程序算法逻辑;Mstar 将演化范式推广至可执行 Python 代码空间,并通过编译校验环解决了代码生成特有的语法与运行时崩溃问题。
- vs ExpeL / Reflexion / ADAS:以往自进化智能体主要在自然语言经验库或代理交互流图层级演化,运行时仍需大模型二次解释自然语言,带来较大的推理不确定性;Mstar 演化出的确定性 Python 代码具有高执行保真度,并能在测试推理期极大节省计算冗余。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次将智能体记忆系统设计形式化为联合演化 Schema、Logic 与 Instruction 的可执行程序搜索问题,思路极具启发性。
- 实验充分度: ⭐⭐⭐⭐⭐ 覆盖对话、具身规划、医疗与法律金融等 4 大任务族 7 个评测配置,包含消融、稳定性检验、程序聚类分析及跨域迁移实验,实证极其详实。
- 写作质量: ⭐⭐⭐⭐⭐ 形式化定义严谨清晰,系统架构与算法伪代码完备,附录提供了完整的演化程序对比与开销明细。
- 价值: ⭐⭐⭐⭐⭐ 为解决 LLM 智能体长程记忆适应性难题提供了崭新的程序合成范式,对推动下一代自演化智能体与记忆系统落地具有重大工程与学术参考价值。