过去一年,Coding Agent 正在迅速改变开发者写代码的方式。
Claude Code、Codex 已经可以理解代码库、定位 Bug、跨文件修改代码、运行测试,甚至独立完成复杂开发任务。它们越来越像一群真正参与项目的工程师。
但只要进入长期开发,一个反常的问题很快就会出现:
Agent 越来越会写代码了,却还是常常像第一次来到这个项目。
比如,一个开发者刚刚和 Codex 完成了一次权限系统改造。
在几轮协作中,Agent 已经知道:为什么项目采用现在的权限架构,哪些历史代码不能轻易修改,哪个方案此前已经尝试过但因为兼容性问题被放弃,修改数据库时又必须保证旧版本平滑升级。
这些都不是简单读一遍代码就能获得的信息,而是一次真实开发留下来的项目经验。
问题是 —— 第二天呢?
重新打开一个对话,Agent 可能又开始扫描同样的代码;昨天已经解释过的背景需要重新说明,失败过的方案可能再次被提出,刚排查完的问题也可能重新调查一遍。
对话足够长、早期信息被压缩时如此,从 Codex 换到 Claude Code 时也是如此。
于是,我们拥有了越来越聪明的 Coding Agent,却依然在反复做一件事情:
让它重新认识同一个项目。
当 Coding Agent 从一次性的编程工具走向长期协作者,它需要的不只是更大的上下文窗口,还需要一种持续积累的能力 —— 知道什么值得留下,也知道什么时候应该再次想起。
这正是 MemoraX Code 想解决的问题。
第二天回来,它还知道昨天发生了什么
如果 Agent 真正拥有长期记忆,最直接的变化不是多了一个 “Memory” 按钮,而是很多原本需要重复解释的事情开始消失。
前一天,开发者和 Codex 完成一个任务,并在过程中形成了一些关于项目的经验。
第二天重新打开一个全新的对话,开发者没有复制昨天的聊天记录,也没有再次解释完整的项目背景。
但当新任务再次涉及相关模块时,过去积累的经验会重新进入当前工作,并继续影响 Agent 的判断。
新对话,项目经验没有归零。
新对话自动使用上一轮任务形成的 Memory:https://mp.weixin.qq.com/s/-_2HqBK0iCr-bcKZMkernw
这种连续性也不需要绑定某一个 Agent。
开发者可以在 Codex 中完成一个任务,再切换到 Claude Code 处理另一个问题。此前已经形成的项目认知仍然可以继续发挥作用。
Agent 换了,项目记忆还在。
Codex 中形成 Memory,Claude Code 在后续任务中直接使用:https://mp.weixin.qq.com/s/-_2HqBK0iCr-bcKZMkernw
即使始终使用同一个 Agent,长任务中的对话也不可避免地会被整理和压缩 —— 这是 compaction 在真实系统中的常态。
但问题在于:被压缩掉的内容里,往往混着两类信息。
一类是无关细节,比如中间的无效尝试、调试输出或重复解释;另一类则是关键经验,例如 “修改该模块必须兼容旧版本数据库” 这样的约束,可能只出现过一次,却会在后续重构中起决定作用。
Compaction 解决的是 “如何不丢上下文”,但并不保证 “哪些经验应该被保留”。
这正是 MemoraX Code 试图补上的部分:让被压缩进历史中的关键信息,在后续任务中仍能被识别、提取,并在合适时机重新进入上下文。
被压缩的关键信息在新任务中被重新召回:https://mp.weixin.qq.com/s/-_2HqBK0iCr-bcKZMkernw
长期记忆并不是试图永久保存每一句对话。
恰恰相反,它真正需要解决的是:从持续发生的开发过程中,留下那些未来仍然值得被想起的东西。
Memory 不只是记住,更要学会怎么记
看到这里,一个自然的问题是:Agent 本身已经能保存历史对话,也能一次处理越来越多的信息,为什么还需要独立的 Memory?
因为真正困难的,并不是把更多历史保存下来,而是判断:
什么值得记住,什么已经过时,以及什么时候应该重新想起来。
MemoraX Code 为此构建了本地代码仓记忆与云端长期记忆:前者帮助 Agent 快速理解代码仓当前的结构、关键入口和历史演进;后者则持续承载跨任务、跨对话、跨 Agent 的项目经验和开发者习惯。
当新的任务到来时,系统不会把全部历史重新塞给模型,而是只找回当前真正相关的信息。
但我们认为,这仍然不是 Coding Memory 的终点。
今天很多 Memory 系统仍然高度依赖人工规则:工程师通过提示词和预先设计的策略,规定什么应该写入、如何整理、什么时候召回。
MemoraX Code 希望进一步把这些判断变成一种可以通过训练持续提升的能力。
围绕 Coding 场景,我们构造专门的记忆训练任务和长程开发轨迹,并建立针对 Memory 的评估与奖励机制。系统不仅判断 “一条信息有没有被记下来”,还会进一步学习:
它是否真的在后续任务中帮助 Agent 做出了更好的决策?
基于这些训练信号,Memory Model 可以持续学习什么值得写入、什么应该更新、哪些经验应该被提炼,以及在什么任务中应该重新出现。
支撑这一过程的,则是一套用来训练和测试 Agent 的基础系统,包括运行环境、任务执行、反馈打分、效果评估和分布式训练等能力。在架构设计上,这套训练体系与用户的私有记忆数据相隔离。可学习的 Memory 能力通过专门构造的训练与评测体系不断演进,再以更强的模型能力服务线上系统。
我们希望让 Memory 从规则驱动,逐渐走向数据与奖励驱动 —— 让 Agent 不仅拥有记忆,还能不断学会怎样更好地记。
Memory 到底有没有
让 Coding Agent 变得更好?
要判断 Memory 有没有真正让 Coding Agent 变得更好,最直接的方法,就是把它放进标准化的 Coding Memory Benchmark 里测试。
MemoraX 首先在近期受到高度关注的赛事 AML(Agent Memory Leaderboard)的 Coding Track 上,取得了62分的成绩,位列第一,相比较业界主流方案 Claude Mem 解题率提升 10%。
除了 Benchmark 测评外,我们还想进一步回答一个问题:
过去完成过的开发任务,能不能被自动沉淀成下一次可以复用的工程经验?
从 “记住发生过什么”,到 “学会下一次怎么做”
为此,MemoraX Code 支持Procedure Memory 的自动化构建。
它可以从历史 Coding 轨迹中,自动识别具有复用价值的解决过程,把一次任务里零散的分析、执行和验证步骤进一步提炼成结构化的工程经验,并最终以Skill的形式沉淀下来,供后续类似任务直接使用。
在一组实验中,MemoraX Code 从123 个历史任务片段中自动提炼出15 条工程经验,进一步归纳为4 类 Procedure Memory。
Procedure Memory 自动提炼:https://mp.weixin.qq.com/s/-_2HqBK0iCr-bcKZMkernw
这里留下来的不再只是:
“上一次发生了什么。”
而是进一步提炼:
面对这一类工程问题,过去哪些分析方式、执行步骤和验证方法被证明是有效的。
这也是我们理解的 Memory 从 “记录历史” 走向 “从历史中学习”。
学到的经验,能不能真的帮助下一次任务?
真正的验证发生在下一步。
我们把这些自动提炼出的 Procedure Memory,用到了一个新的、持续约 3 小时的复杂开发任务中。
Agent 依然需要自己理解需求和代码、修改实现、运行测试,并处理过程中不断出现的新问题。唯一的区别是,它可以使用过去开发中已经沉淀下来的工程经验。
结果显示:
综合得分:11.71 → 70.30
关键检查项通过数:2/13 → 10/13
复杂长程任务下 Procedure Memory 结果:https://mp.weixin.qq.com/s/-_2HqBK0iCr-bcKZMkernw
这意味着,Procedure Memory 带来的并不只是 “更快想起一些历史信息”。
过去已经验证过的工程经验,开始真正参与新的问题求解。
而且,这种提升并不是靠更多模型调用换来的。
按照实验所使用模型的 API 单价计算,没有 Procedure Memory 时,总调用成本约为31.48 美元;使用之后下降至24.37 美元,降低约 22.6%。
原因其实很直观。
没有历史经验时,Agent 需要重新理解问题、尝试方案、发现错误,再不断调整路径。很多模型调用,实际上消耗在了重新摸索过去已经探索过的事情上。
Procedure Memory 给 Agent 的不是现成答案,而是过去开发过程中已经验证过的解决问题的方法和路径。
Agent 仍然需要完成当前任务的理解、推理和执行,但不必每一次都从零探索。
Memory 不只是记录历史,它开始把历史变成未来可以复用的经验。
还有一个问题:它会不会 “自作聪明”?
Memory 并不是召回得越多越好。
一次前端样式修改,不应该突然出现几周前的数据库迁移经验;已经失效的项目决策,也不应该继续干扰现在的任务。
在内部测试中,MemoraX Code85.5% 的记忆触发行为与用户判断一致,81.2% 的记忆内容获得了正向反馈。
它衡量的是另一种能力:
不仅要记得住,还要尽可能想得对、出现得刚刚好。
目前,MemoraX Code 已经完成对 Codex、Claude Code、Deepseek Harness、OpenCode 四个主流 Coding Agent 的支持,其他平台也在继续适配中。安装后,开发者还可以在 Platform 中查看和管理自己的 Memory,包括修改和删除。
- MemoraX Code 官网:https://code.memorax.net
- MemoraX Code 记忆平台:https://platform.memorax.net
- MemoraX Github:https://github.com/memorax-ai/memorax-code
今天的 Coding Agent 竞争,大量注意力仍然集中在一次任务里:
谁写代码更快,谁解 Bug 更强,谁能够完成更加复杂的软件工程任务。
但真实项目不是一次性的。
同一个代码仓会被反复打开,同一类问题会再次出现,一个开发者也可能在不同 Coding Agent 之间不断切换。
当 Agent 真正进入长期开发以后,拉开差距的或许不再只是:第一次能走多远。
还有:第十次,是不是仍然需要从零开始。
模型能力决定一次能走多远,Memory 决定下一次从哪里开始。
MemoraX Code 正在解决这个问题。
热门跟贴