在过去的一年里,Coding Agent 正在快速改变开发者的编码方式。工具如 Claude Code 和 Codex 已能够理解代码库、识别 Bug、跨文件修改代码、执行测试,甚至能够独立完成复杂的开发任务。这些工具逐渐显得更像参与实际项目的工程师。然而,在长时间的开发过程中,一个显而易见的问题出现了:这些智能代理虽然在编写代码上表现出色,但它们在对待项目的熟悉度上仍然像是初次接触。举个例子,当一个开发者与 Codex 合作进行权限系统的改造时,经过几轮的协作,这个 Agent 知道了项目所采用的权限架构的理由、历史代码的改动限制、过去被放弃的方案及其原因,以及在修改数据库时如何确保旧版本能顺利升级。这些信息不是简单地通过读代码能获取,而是从真实的开发经历中积累的知识。然而,第二天,当开发者重新联系 Agent 时,它却可能再次扫描同样的代码;之前已经阐述的上下文可能需要重新介绍,以前曾失败的方案也可能再次被提及,早已解决的问题也可能会重新被调查。随着对话的持续,早期的关键信息经常被淹没,甚至在从 Codex 切换到 Claude Code 时同样存在这种情况。因此,尽管 Coding Agent 的智能不断提升,却依旧要反复做同样的事情——让它重新适应同一个项目。
当 Coding Agent 逐渐由一次性的编程工具转变为长期合作伙伴时,它所需要的并不仅仅是更大的上下文窗口,还要具备一种持续积累的信息能力——知道什么信息是重要的、应当被保留,以及何时需要回忆起来。MemoraX Code 就是为了应对这一需求而诞生的。它的设计目标是:在第二天回来时,Agent 仍能记得昨天的事情。如果 Agent 真的拥有了长期记忆,最直接的影响便是许多需要反复解释的事项将不再产生。想象一下,开发者在某一天与 Codex 完成了一个任务,并在过程中获取了一些关于项目的经验。第二天,当开发者重新开始一个全新的对话时,他无需复制前一天的聊天记录,也不需要重新解释整个项目的背景。但是,当新的任务涉及到相关模块时,以往积累的经验能够被带回到当前的工作中,从而继续影响 Agent 的决策,确保新对话不会回到起点。
这种持久性并不局限于某个特定的 Agent。开发者可以在 Codex 中完成一个任务,再切换到 Claude Code 处理另一个问题,而之前形成的项目理解能够继续发挥作用。即便换成新的 Agent,项目的记忆依然保留下来。Codex 中形成的记忆能够在 Claude Code 进行后续任务时直接使用。即使始终使用同一个 Agent,在长期任务中,调话也难免会被压缩和整理,然而压缩过程并不意味着信息的完全丧失。问题在于,在被压缩的内容中,混杂着两类信息:一类是无关的细节,比如无效的尝试和冗余的解释;另一类则是关键信息,例如“修改该模块必须兼容旧版本数据库”这样的约束,虽然可能只说明过一次,但在后续的重构中却具有决定性的重要性。压缩处理旨在解决“不丢失上下文”的问题,但并不能确保“哪些经验是应当被保留的”。这正是 MemoraX Code 尝试填补的空白:让那些在历史中被压缩掉的重要信息,在后续的任务中能够被识别、提取,在关键时刻重新引入上下文。
长期记忆并不是试图永久保存每次对话的细节,反而更注重于从持续的开发过程中留下那些未来依然有价值的信息。看到这里,一个自然的问题是,既然 Agent 已经能够保存历史对话,并一次处理越来越多的信息,为什么还需要一个独立的 Memory 系统?因为真正的挑战在于判断:何为值得记住的内容,何又是过时的信息,以及何时该再次想起。为此,MemoraX Code 建立了本地代码仓库记忆与云端长期记忆的架构:前者帮助 Agent 快速理解当前代码的结构、重要入口和历史演变,而后者则永久储存跨任务、跨对话以及跨 Agent 的项目经验与开发者习惯。面对新的任务时,系统不会将所有历史信息重新灌输给模型,而是会重点召回当前真正相关的信息。不过,我们认为,这仍然不是 Coding Memory 的终点。现代许多记忆系统依然高度依赖于人工设置:例如,工程师通过提示词和事先设计好的策略来决定什么应被记录、如何整理信息以及何时应被召回。MemoraX Code 希望进一步将这些判断转变为一种可以通过训练不断提升的能力。
身边的细思极恐:那些令人毛骨悚然的细节
每一场胜利背后,都是你全力以赴的故事!...
阿森纳考虑出售马丁内利,收到加拉塔萨雷4500万欧报价
每一场胜利背后,都是你全力以赴的故事!...