Gajae-Code自主记忆功能指南:如何让AI跨会话记住你的项目决策与踩坑经验
【免费下载链接】gajae-codeGajae Code MVP项目地址: https://gitcode.com/gh_mirrors/ga/gajae-code
Gajae Code(一个开源的 AI 编码助手)内置了**自主记忆(Autonomous Memory)**功能:开启后,它会自动从你过去的会话中提取持久知识——技术决策、反复出现的流程、踩过的坑——并在每次新会话开始时注入一段精简的记忆摘要。你不需要手动做任何事,AI 就能跨会话"记住"项目上下文,越用越懂你的代码库。
为什么你需要 AI 跨会话记忆?
用过 AI 编码助手的朋友都有同款烦恼:
- 🤯重复交代背景:每次新开会话,都要重新说明"我们为什么选了这个方案";
- 🔁反复踩坑:上次会话里刚修好的环境陷阱,这次又原样踩一遍;
- 📉上下文丢失:压缩(compaction)之后,早期讨论的决策细节被淡化。
自主记忆功能就是来解决这些问题的。它把每个会话中"值得长期保留的信号"自动沉淀成项目级记忆库,让新会话的 AI 带着历史经验开工。
一键开启:如何启用自主记忆
该功能默认关闭。启用方式非常简单,两种方式任选其一:
| 方式 | 操作 |
|---|---|
| 图形界面 | 运行/settings,打开 memories 开关 |
| 配置文件 | 在config.yml中加入下面的片段 |
memories: enabled: true改完配置后重启 Gajae Code,记忆流水线就会在后台自动开始工作。完整说明见官方文档 docs/memory.md。
它是如何记住东西的?两阶段后台流水线
理解这个功能的关键,是它背后的两阶段提取流水线(在启动时或手动触发时运行):
阶段一 · 逐会话提取
模型会通读每个"已稳定"的历史会话(太新的、太老的、进行中的会话会跳过),提炼出可长期复用的内容:技术决策、约束条件、已解决的故障、重复出现的工作流。每次提取产出一块原始记忆和一份简短摘要。
阶段二 · 跨会话整合
第二遍模型调用把所有原始记忆汇总,写出三个落盘产物:
| 产物 | 作用 |
|---|---|
MEMORY.md | 精选的长期记忆文档 |
memory_summary.md | 新会话启动时注入的紧凑摘要 |
skills/ | 可复用的操作手册(playbook),每个一个子目录 |
所有输出在写盘前都会经过密钥扫描,避免把敏感信息写进记忆文件。相关编排逻辑在 packages/coding-agent/src/memories/index.ts,SQLite 任务队列在 packages/coding-agent/src/memories/storage.ts。
新会话开始时,AI 看到了什么?
会话启动时,如果当前项目已有记忆摘要,它会被以Memory Guidance块的形式注入系统提示词。注入规则由模板 packages/coding-agent/src/prompts/memories/read-path.md 定义,核心行为约束有:
- 把记忆当作启发式参考,不是仓库当前状态的权威来源;
- 记忆影响的每个决策,都要先拿当前仓库证据佐证再行动;
- 记忆与仓库现状或你的指令冲突时,优先信仓库和你,旧记忆视为过期。
这套设计让记忆"有帮助但不越权"——AI 记得住,但不会一本正经地拿过期记忆误导你。
/memory 斜杠命令:查看、清空、重建记忆
你可以随时用/memory命令掌控自己的记忆库:
| 子命令 | 效果 |
|---|---|
/memory view | 查看当前会话注入的记忆内容 |
/memory clear或/memory reset | 删除全部记忆数据与生成的产物 |
/memory enqueue或/memory rebuild | 强制下次启动时立即执行整合 |
💡 技巧:发现 AI 记忆"跑偏"时,先
/memory view看看注入了什么,再用/memory rebuild触发重新整合,通常能修正大多数问题。
高级配置:调优记忆行为
除主开关外,以下配置项可以让记忆流水线更贴合你的使用习惯(详见 docs/memory.md 的配置表):
| 配置项 | 默认值 | 说明 |
|---|---|---|
memories.maxRolloutAgeDays | 30 | 超过此天数的会话不再处理 |
memories.minRolloutIdleHours | 12 | 最近活跃超过此时长的会话会被跳过 |
memories.maxRolloutsPerStartup | 64 | 单次启动最多处理的会话数 |
memories.summaryInjectionTokenLimit | 5000 | 注入系统提示词的记忆摘要 Token 上限 |
模型选择上也做了分层:阶段一提取用default角色模型,阶段二整合用更省量的smol角色(未配置时逐级回退),既保证质量又控制成本。提取与整合所用的提示词模板都在 packages/coding-agent/src/prompts/memories/ 目录下,可自行查阅。
常见问题速答(FAQ)
问:记忆会影响当前会话的判断吗?答:会提供参考,但被明确约束为"启发式上下文"。一旦记忆与仓库现状冲突,AI 以仓库为准。
问:记忆是共享的吗?会泄露到别的项目?答:记忆是**项目级(project-scoped)**且纯本地私有的运行态数据,不上传、不作为公开接口暴露。
问:如何开始用?答:三步走——开启memories.enabled→ 正常使用几天 → 用/memory view验收沉淀结果。
总结
Gajae Code 的自主记忆功能把"AI 跨会话记住项目"从口号变成了开箱可用的能力:两阶段流水线自动提取与整合知识,MEMORY.md+ 摘要 + 技能手册三层产物各司其职,/memory命令让你随时查看和重建。开启开关、用上一周,你会发现每次新会话的 AI 都少问一遍"我们之前是怎么定的"——这正是 AI 编码助手长期陪伴一个项目的正确姿势。🦞
【免费下载链接】gajae-codeGajae Code MVP项目地址: https://gitcode.com/gh_mirrors/ga/gajae-code
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考