news 2026/9/17 10:28:58

Atlas记忆策略实战:让自定义Agent记住什么、忘掉什么

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Atlas记忆策略实战:让自定义Agent记住什么、忘掉什么

Atlas记忆策略实战:让自定义Agent记住什么、忘掉什么

【免费下载链接】atlasSource control for agents. Use multiple coding agents, track their changes and query them in one place项目地址: https://gitcode.com/GitHub_Trending/atlas115/atlas

Atlas 是一款面向编码 Agent 的开源记忆与版本控制工具:它让 Claude Code、Codex 等多个 Agent 共享同一套项目记忆,把决策、计划、文件变更自动沉淀下来,并在每一轮对话中把最相关的内容推送给 Agent。而"记忆策略"正是控制 Agent记住什么、忘掉什么的核心机制——这篇实战指南带你从零读懂它。

为什么 Agent 需要一个"记忆策略"

用过多 Agent 写代码的朋友应该都有同感:

  • 每次会话都从零开始:上次踩过的坑、定下的架构,新会话的 Agent 一无所知;
  • 切换 Agent 就丢线索:Claude Code 里做的决定,Codex 完全看不到;
  • 记住的越多,噪音越大:上下文塞满过期信息,反而让 Agent 跑偏。

Atlas 的思路是:记忆不是越多越好,而是要有策略地"记"和"忘"。它的记忆体系全部在本机运行(本地 MiniLM 嵌入模型 + HNSW 向量索引),代码、笔记、会话都不离开你的机器,密钥在落盘前就会被脱敏。

一、Atlas 记住了什么:共享记忆的四个来源

Atlas 的 Agent 记忆由四个部分自动汇入一个统一索引(引擎设计详见 README.md):

注入内容来源时机
@提及文件、目录、符号、笔记、历史会话,本地解析每一轮
共享 Agent 记忆活跃计划、决策、文件变更、失败记录每一轮
语义匹配本机嵌入你的消息,与项目记忆索引做相似度匹配每一轮
会话交接精选事实包 + 上一个会话的尾部(哪怕来自另一个 Agent)首条消息

也就是说,任何 Agent 写入的记忆,其他 Agent 都能读到——这正是 memory_policy.rs 顶部注释强调的"Claude Code 的记忆对 Codex 可见,反之亦然"。

二、记忆策略的"蒸馏":自动提炼偏好表

Atlas 里最实用的功能,是 Memory 面板中的Preferences(偏好策略表)。它不需要你手写规则:Atlas 内置了一份 12 项常见偏好的"探针目录"——版本控制、主题、测试习惯、包管理器、提交信息格式、语言与框架、架构约束、沟通风格等(探针定义见 memory_policy.rs),然后:

  1. 把探针变成自然语言查询,做本机嵌入;
  2. CLAUDE.mdAGENTS.md、Claude 的memory/*.md等记忆文件逐句比对;
  3. 相似度达到阈值(0.30)的语句被提炼成一行可编辑的策略。

整个过程不调用任何 LLM,纯语义匹配,快且免费。你还能按"软偏好 / 强规则"(strong/soft)、"偏好 / 代码库行为"、"语义 / 关键词"匹配类型进行过滤——视图实现见 memory-policy-view.tsx。

三、自定义"记住什么":直接编辑策略值

策略表里每一行的取值都是可编辑的:双击 Value 列修改,按 Enter 保存,Atlas 会把这段文字原位写回到源记忆文件里(CLAUDE.md/AGENTS.md/ Claude 记忆目录),下次蒸馏时新规则立即生效。写回路径有白名单保护,只能改 Agent 记忆文件,防止误写其他文件,逻辑在 memory_policy_update。

实践中推荐三个动作:

  • 改写模糊偏好:把"喜欢简洁的代码"改成"函数不超过 40 行,注释用英文"——Agent 对可执行规则更敏感;
  • 提升规则强度:含 must / never / always 的语句会被自动标为 strong(强规则,见 classify),关键约束请用这类措辞;
  • 一键发给 Agent:行尾的对话气泡可把整条偏好直接送入 Agent 聊天(sendToAgentChat),让它立刻按新策略干活。

四、自动"忘掉什么":整合与剪枝机制

只记不删,记忆迟早变成垃圾场。Atlas 的遗忘机制在 consolidate.rs 中实现,遵循"空闲时整合"的节奏(Orient → Gather → Consolidate → Prune):

  • 置信度剪枝:从会话中提炼出的记忆带有置信度,低于50%的直接丢弃(CONFIDENCE_FLOOR = 0.5);
  • 数量上限:按"最新优先"只保留最多200条提炼记忆(MAX_RETAINED = 200),老的不达标就自动退场;
  • 相似度地板:检索时余弦相似度低于 0.30 的命中不会进入上下文——低相关记忆等于被"忽略";
  • 降权兜底:图谱记忆(关键词/子串匹配)权重被压到 0.1,永远盖不过向量命中的强语义结果,从架构上保证陈旧内容抢不到 C 位。

如果你只想彻底清空一个项目的记忆重来,删掉<project>/.atlas/memory/目录即可,下次打开自动重建(官方排障建议)。

五、进阶:跨项目"晋升"全局记忆

单个项目里学到的偏好,怎么变成全局习惯?Atlas 有明确的晋升规则(README.md):一条UserPreferenceConstraint类记忆,置信度 ≥ 0.8 且在 ≥ 2 个不同项目中出现,才会晋升到~/.atlas/memory/的全局存储,并写进人类可读的MEMORY.md(控制在 200 行以内)。

这等于给了记忆一道"防过拟合"的闸门:只在某个项目有效的经验不会污染其他项目,真正反复验证过的偏好才会"记一辈子"。

总结:把 Agent 的记忆变成可管理的资产

你的目标Atlas 对应机制
让 Agent 记住偏好记忆文件 + 偏好策略表自动蒸馏、可编辑写回
让规则"必须遵守"用 must/never 措辞,标为 strong 强规则
自动忘掉噪音置信度 <50% 剪枝、200 条上限、相似度地板 0.30
跨项目通用经验≥0.8 置信度 + 2 项目出现 → 晋升全局记忆
隐私安全全部本机嵌入与检索,密钥落盘前脱敏

Atlas 的记忆策略本质上是一套"记什么、多确信才记、何时忘掉"的完整闭环。上手只需三步:写清楚CLAUDE.md/AGENTS.md里的偏好 → 打开 Memory 面板的 Preferences 检查蒸馏结果 → 用强措辞修正关键规则。你的 Agent 从此不再失忆。

【免费下载链接】atlasSource control for agents. Use multiple coding agents, track their changes and query them in one place项目地址: https://gitcode.com/GitHub_Trending/atlas115/atlas

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 10:28:23

STM32与ESP-01S手写AT指令和MQTT报文接入云平台

STM32 和 ESP-01S 这套组合&#xff0c;做物联网课设、毕业设计、设备联网改造都绕不开。很多人拿到 ESP-01S 后第一反应是找现成云平台 SDK&#xff0c;或者直接套 MQTT 库&#xff0c;结果一换芯片、一换平台就抓瞎。我这里记录的是手打代码的方式&#xff1a;STM32 只负责串…

作者头像 李华
网站建设 2026/9/17 10:23:31

Word+MathType论文公式居中编号右对齐:制表位与自动编号实战

论文写到最后&#xff0c;格式往往比内容还折磨人。导师一句“公式居中、编号右对齐”&#xff0c;能让不少人卡上一整天。我这些年帮人调过不少论文模板&#xff0c;本科毕设、硕士论文、期刊投稿都有&#xff0c;用 Word 配合 MathType 来做公式居中编号右对齐&#xff0c;是…

作者头像 李华
网站建设 2026/9/17 10:22:32

SQL UNION联合查询详解:纵向合并结果集的核心用法与性能优化

SQL入门系列讲到这里&#xff0c;单表查询和连接查询的基本功就算打完了。这一讲我们聊UNION联合查询——一个我工作中用得非常频繁、但很多人一开始都会搞混的集合操作。它的使用场景特别直白&#xff1a;你手上有好几张结构相同的表&#xff0c;按年份拆的、按部门拆的、按区…

作者头像 李华