Deja Vu本地记忆系统:项目经验跟随代码仓库同步迁移


开源Deja Vu让AI编程代理拥有项目记忆能力,通过仓库内文件保存上下文,让Claude Code、Codex、Cursor等工具减少重复理解代码的时间。

它用轻量化Markdown和JSONL构建本地记忆系统,探索AI助手长期协作的新方式。

AI代理记忆系统改变代码协作方式

很多开发者使用AI写代码时都会遇到一个小麻烦:今天聊过的项目背景,明天重新打开AI又要重新解释。AI像刚认识这个项目的新人,每次见面都要重新看身份证。

Deja Vu针对这个问题设计了一套仓库级记忆方案。它把项目经验保存到代码仓库里面,让AI代理每次进入项目时,可以快速找到过去的重要决定。

这个项目的核心理念很简单:让AI记住真正有价值的信息,把聊天里的杂音过滤掉。代码修改原因、架构选择、特殊限制条件,这些内容才值得长期保存。

开发者不用搭建数据库,也不用购买额外服务。

Deja Vu把记忆放在Git可以管理的普通文件里,让项目历史跟随代码一起移动。

Deja Vu文件结构保存项目长期经验

Deja Vu主要依靠三个文件工作:

  1. 第一个是AGENTS.md,它负责告诉AI代理如何使用记忆,例如什么时候读取信息,什么时候更新内容。
  2. 第二个文件是memory/summary.md,它保存项目的重要事实,比如当前目标、技术限制、已经确定的方案。它更像项目说明书,而不是每天聊天记录。
  3. 第三个文件是memory/impressions.jsonl,它保存一些快速提示信息。AI先扫描这些小线索,再决定是否需要读取更详细内容。

这种设计有一个很有意思的地方:AI不会每次打开项目就把全部历史翻一遍。它先判断相关程度,需要时再加载更多信息。

想象一下,一个程序员加入大型项目,他不会第一天就阅读五年的所有会议记录,而是先看项目地图,再查看和当前任务有关的部分。Deja Vu采用了类似思路。

项目经验跟随代码仓库同步迁移

传统AI聊天模式的问题在于,知识停留在一次对话里面。窗口关闭后,很多重要决定也跟着消失。

Deja Vu尝试把项目经验变成代码仓库的一部分。只要仓库还在,新的AI会话依然可以获得过去积累的信息。

这对于长期开发特别有价值。例如,一个项目曾经解决过一个奇怪的兼容问题,未来修改相关代码时,AI可以提前知道这里存在历史原因。

很多软件Bug并不来自代码本身,而来自没人记得为什么这样写。几年后的开发者看到一段特殊代码,可能会觉得奇怪,然后顺手优化,结果把隐藏逻辑一起删除。

项目记忆的价值就在这里:帮助AI和人类同时理解代码背后的故事。


分层加载机制减少AI上下文空间消耗

大型代码项目的信息量非常庞大。如果每次让AI读取全部文档、全部提交记录,会消耗大量上下文空间。

Deja Vu采用分层加载方式。简单任务只查看提示信息,复杂任务再读取详细记录,让AI把注意力放在真正相关的位置。

这种方式符合一个现实规律:人的记忆也不会每天重新学习整本百科,而是在需要时调用相关经验。

AI代理未来可能越来越像团队成员。它需要知道团队规则、代码习惯、历史决定,同时还需要避免被无关信息淹没。

Deja Vu提供了一种轻量路线:让记忆存在项目里,让规则透明可见,让不同AI工具共享同一套上下文。


本地化记忆方案规避云端数据隐私风险

现在很多AI产品都在探索长期记忆功能,但云端记忆往往涉及数据管理、隐私和迁移问题。Deja Vu选择另一条路线,把记忆交给开发者自己控制。文件可以查看,可以修改,也可以通过Git记录变化。

这种方式让AI记忆变得更像代码资产。团队成员可以审核AI保存了什么,也可以删除错误信息。

当然,这种方法也有局限。如果项目非常复杂,仅靠Markdown和JSONL可能需要更好的检索机制。