SEO技术

SEO技术

Products

当前位置:首页 > SEO技术 >

探索 Claude Code 内部记忆机制

96SEO 2026-05-04 16:41 18


Zui近这段时间,整个 AI 开发圈子里简直像过节一样热闹。自从 Claude Code 的源码意外流出后无数开发者像饿狼扑食一样扑了上去。各种解读、教程、细节分析层出不穷,甚至有人把它用 Python、Go、Rust 重新实现了一遍。这真有一种“一鲸落,万物生”的壮观景象。

探索 Claude Code 内部记忆机制

之前我也曾深入研读过它的系统提示词,并尝试复刻过其中的记忆系统逻辑。但今天我想抛开那些表面的 Prompt 技巧,带大家潜入源码的深海,去kankan Anthropic 到底是如何用一种极其务实、甚至有些“复古”的方式,构建了这套让无数人惊叹的记忆机制。

当我们翻开源码,第一感觉可Neng不是惊艳,而是困惑。因为 Claude Code 并没有像我们预想的那样,搞一个统一的 Memory Service 加上向量数据库来大包大揽。相反,它走了一条完全不同的路:文件系统优先,分层极其清晰,召回时机明确,而且计算代价完全可控。

拒绝“黑盒”:为什么是文件而不是数据库?

在深入细节之前,我们必须先理解 Claude Code 的核心哲学。在它的设计里记忆被拆解成了四个完全独立的维度:长期记忆、当前轮相关记忆、会话压缩摘要、以及子代理的独立记忆。

这种拆分并非多此一举。源码中明确界定了长期记忆的四种类型,它们dou有一个共同点:无法直接从当前的代码状态中推导出来。比如用户的个人习惯、项目的背景故事、团队的协作约束、甚至是外部系统的 API 入口。这些信息Ru果不显式地存下来下次对话时模型就会像失忆了一样。

反过来代码结构、文件路径、Git 历史记录、当前正在处理的临时任务,这些内容被严格禁止进入长期记忆。为什么?因为它们本来就有一个“权威来源”——也就是代码库本身。Ru果把这些也塞进记忆,就会出现“双份真相”的尴尬局面:代码里写的是 A,记忆里记的是 B,模型在决策时就会左右摇摆,不知所措。

所以记忆系统的职责被限定得死死的:只保存“代码之外的信息”和“会跨轮次影响决策的信息”。

四层架构的精妙之处

源码中清晰地展示了这四层结构,每一层dou有其独特的使命:

第一层:Auto Memory / Team Memory 这是负责跨会话保存信息的基石。它的目录逻辑设计得非常严谨,专门用来存储那些需要持久化的知识。

第二层:Relevant Memories 这一层完全不关心长期存储,它唯一的任务就是判断:用户现在问的这个问题,应该把哪几条历史记忆临时捞出来塞进上下文里?

第三层:Session Memory 这层服务的是长会话的压缩,不负责跨会话的记忆。它位于当前 session 下的 summary.md 文件中,专门用来应对超长对话。

第四层:Agent Memory Ru果子代理需要持久化自己的经验,它Ke以在 user、project 或 local 三种作用域下拥有独立的目录。

一旦把这四层拆开,hen多之前纠结的设计选择瞬间就变得顺理成章了。

写入的艺术:两步走协议与 Frontmatter 的魔力

hen多人好奇,Claude Code 到底是怎么把记忆真正落盘的?这里有一个非常硬核的工程判断。

源码里定义了一套严格的写入约束,我们Ke以把它kan作是一个“两步走协议”:

第一步: 先把记忆内容写入到它自己的独立文件中,并且必须包含 Frontmatter 格式。

第二步: 在一个名为 ENTRYPOINT_NAME 的索引文件中,添加一个指向刚才那个文件的指针。这个索引文件本身不承载正文,每一行就是一个简单的链接格式:`- — one-line hook`。

这个设计kan似简单,实则蕴含了三个极其重要的工程智慧:

第一,索引与内容分离。 hen多团队初期为了省事,把所有记忆dou堆到一个大文件里。这在前期确实简单,但到了后期就是一场灾难。Claude Code 从一开始就坚持每条记忆单文件化。这意味着当你需要geng新某一条信息时只需要修改那一个小文件,而不会引起全量重写,也不会触发巨大的 Git Diff。

第二,强制摘要。 Frontmatter 里强制要求有一个 description 字段。这个字段不是摆设,它直接参与了后续的召回。hen多团队Zuo知识库时只写正文不写摘要,Zui后只Neng靠 embedding 模型硬扛。Claude Code 反其道而行之,它要求在写入阶段就必须产出一条高质量的摘要。召回的质量在写入的那一刻就Yi经注定了。

第三,完全基于文件系统。 这可Neng是Zui“反潮流”的一点。数据库方案Zui大的问题往往不在于性Neng,而在于可观察性。一旦出了问题,你需要查 schema、查索引、查 embedding 版本、查写入日志,排障效率极低。而用文件方案,你Ke以直接去目录里kan文件,团队同步时直接走 Git,调试成本低到令人感动。

当然文件方案也有代价。文件一多,扫描成本会上升;索引文件过长也会逼近 prompt 的 token 上限。但 Claude Code 通过动态召回机制巧妙地兜住了这个问题,这其实是一套组合拳。

双通道写入:实时与后台的博弈

在具体的写入链路上,Claude Code 展现了一种非常有趣的“双通道”策略。

第一条链路是主模型实时写入。系统提示词里Yi经明确告诉了模型:记忆目录在哪、允许写什么、怎么写文件、什么时候写。这意味着 Claude Code 对模型的假设hen明确:模型Ke以自己判断“这条信息值不值得保存”,然后直接调用写文件工具落盘。写入不是一个外置的神秘 API,就是普通的文件操作。这条路的好处是反馈延迟极低,用户刚说完“记住这个偏好”,主模型当轮就Neng写,不用等后台任务。

Ru果主模型这一轮没动手写,系统会在对话结束时触发后台抽取器。这里有一段非常关键的逻辑:它会检查是否Yi经有内存写入操作。Ru果主模型Yi经写过后台抽取器就会直接跳过。这防的是“双写”。hen多系统Zuo异步归档时忘了这件事,Zui后要么生成重复记忆,要么覆盖用户刚刚确认的内容。

而且,后台抽取器的权限被收敛得极死。它只准Zuo归档,绝不允许顺手验证代码,也不许修改业务文件,geng不许借机跑工具链。权限Ru果不锁死,后台代理迟早会从一个简单的归档器膨胀成第二个不受控的主代理。

KAIROS 模式:像写日记一样记录

源码中还隐藏着一个geng有意思的模式,叫Zuo KAIROS。它不要求模型实时维护 MEMORY.md,而是采取了一种geng符合人类直觉的策略:新记忆先按天追加到日志文件里。

规则hen简单:随着工作的进行,把任何值得记住的东西以时间戳列表的形式追加到当天的日志文件中。这是一个只追加的过程。然后会有一个独立的夜间流程,把这些日志蒸馏成 topic files 和 MEMORY.md。

这条策略非常适合长驻 Agent。当会话存活时间hen长时频繁重写主题文件和索引的代价hen高,冲突也多。先写日志,晚上再慢慢整理,吞吐geng稳,模型也不容易在白天工作时把记忆目录写乱。

召回机制:没有向量库的精准打击

Ru果说写入是“存”,那召回就是“取”。Claude Code 的召回机制分成两种:静态注入和动态召回。

hen多系统只Zuo前者,结果上下文越来越肥;或者只Zuo后者,导致基本的行为约束丢失。Claude Code 两条腿走路。

静态注入解决的是“全局框架”问题。它会构造一个稳定的上下文,包含项目规则、用户偏好、团队共享记忆索引。这适合放那些“大方向会持续生效”的内容。

但静态注入解决不了所有问题。长期记忆正文一多,全部塞进 prompt 代价太高。于是动态召回登场了。每轮用户发言后系统会启动一个相关记忆预取。这个预取不会阻塞主流程,等到条件满足时再消费。

Zui让人惊讶的是这里没有用向量库!它的检索逻辑非常朴素但有效:

先决定搜索哪个目录。

读取索引文件。

根据当前的 query,在索引的 description 字段里Zuo关键词匹配。

把匹配到的文件内容读出来变成 attachment。

这套方案的好处是显而易见的:轻量、快速、不需要起向量服务。缺点也hen明确:召回质量强依赖 frontmatter 的 description。写入时 description 写差了后面召回一定差。但这恰恰倒逼了写入质量的提升。

四处入口:记忆是如何注入上下文的?

hen多人kan Agent 源码时老在问“上下文是在什么地方拼进去的”。这个问题本身就有误导性。在 Claude Code 里记忆的注入入口不止一个,它们各司其职。

第一处是 System Prompt。 这里进来的主要是“记忆系统的使用规则”,比如什么时候读、什么时候存、什么时候验证失效。这是行为层指令。

第二处是 getUserContext 构造的 claudeMd。 这里进来的是 CLAUDE.md、rules、MEMORY.md 这种比较稳定的文本。这是稳定背景层。

第三处是 Relevant Memory Attachment。 被召回的正文不会直接拼到 claudeMd,而是先变成 attachment,再包装成系统提醒。这意味着这些记忆是临时的、按轮次加载的、带 freshness header 的。它的优先级和普通用户消息不同。

第四处是 Session Memory Compact。 当上下文过长后系统会把会话前半段替换为一条 summary message。这是上下文续命层。

这四处入口分工明确,规则、稳定背景、临时相关信息、压缩摘要,各走各的通道,互不干扰。这也解释了为什么 Claude Code 的行为相对稳定。

压缩策略:在 Token 边缘的极限求生

hen多人一听“记忆系统”,第一反应是长期 memory 压缩。但实际上,Claude Code 里Zui成熟的压缩逻辑,落在 session memory 上。

当上下文真的不够用时系统会优先尝试会话压缩。它的动作顺序非常讲究:

它不会图省事把所有旧消息dou抹掉,而是保留一段“Zui近窗口”。窗口大小是默认定义好的。这个策略解决了一个痛点:摘要永远会损失细节,Zui近一段工作现场Zui好保留原始消息,模型续Zuo时不至于失真。要是所有内容dou只剩 summary,模型会失去工具调用上下文、局部错误信息、Zui近的计划变geng。

geng硬核的是源码里还有一段防御逻辑:Ru果Zui近保留窗口里出现了 tool_result,系统必须把匹配的 tool_use 也补进来;Ru果 assistant 消息因为流式输出被拆成多个块,thinking 和 tool_use 也要一起补齐。否则 compact 后发给 API 的消息链会断,直接报错。

这一段代码说明作者绝对踩过坑,或者至少认真想过 API 侧的不变量。hen多开源 Agent 框架在消息压缩这里写得hen草率,Zui后线上 bug dou长一个样:tool result 找不到 parent,thinking 丢了message 合并失败。

就算 summary.md Yi经是摘要,compact 时还会再Zuo一次 section 级裁剪。这套逻辑谈不上优雅,语义理解也谈不上深入,但它有一个优点:非常稳。系统真的到了上下文极限时保底截断总比把整个 compact 失败掉强。工程里hen多时候要的是“退化可接受”,不是“完美压缩”。

此外Ru果发生过裁剪,系统会额外附一句话,告诉模型和人类完整 session memory 文件路径在哪。排障时你Ke以直接打开原始 summary.md,不用猜裁掉了什么。

工程启示:简单才是终极的复杂

kan完这套设计,我们不难出它的工程代价与收益。

收益在于:

分层彻底。 长期记忆、当前轮召回、会话摘要、子代理记忆,各自有自己的存储形态和注入入口。系统复杂度是被隔离开的。

文件优先。 排查方便,审计方便,人工纠错方便。hen多团队高估了数据库和向量库的必要性,低估了可观察性的重要性。

动态召回轻量化。 对 CLI Agent 这种高频交互场景,走轻量 manifest + side query 的性价比极高。它把复杂度留给模型的小规模选择,而不是重型检索基础设施。

压缩时的保底机制。 压缩时保 recent window,并修补 tool_use/tool_result 不变量。这一点极少有团队一开始就写对。

代价在于:

对写入质量的高要求。 Frontmatter 的 description 质量变成关键依赖。这个字段一旦写烂,召回效果会大幅波动。它省掉了 embedding 的复杂度,也把一部分压力前置给写入质量。

状态机复杂度。 双通道写入意味着状态机会geng复杂。主模型Ke以写,后台 extractor 也Neng写。虽然代码里有跳过逻辑,但这类架构天然比单通道geng需要小心。

粗粒度的截断。 Session memory 的 section 截断是粗粒度的。它靠字符数近似 token,再按行截断,这属于保底工程,不属于精细压缩。Neng用,谈不上漂亮。

索引容量压力。 MEMORY.md 仍然有索引容量压力。即便动态召回Yi经分担了hen大一部分负担,入口索引的组织质量依然重要。

我们Ke以学到什么?

Ru果把这套思路迁移到我们自己的 Agent 系统,有几条建议值得借鉴:

第一,先拆问题,再选技术。你要先决定自己在解哪件事:跨会话长期记忆、当前轮检索、超长对话压缩、团队共享经验。不要一上来就建一个统一的 Memory API。

第二,先用文件,再考虑数据库。只要你的系统规模还没逼到那个份上,文件系统几乎总是geng划算。它便宜、透明、好调试。hen多团队用数据库,是因为觉得那样“geng像正经系统”,这个判断其实没什么含金量。

第三,把召回质量的责任前移到写入阶段。Claude Code 用 description Zuo manifest 检索这件事,给我的启发hen大。与其指望后面靠复杂召回算法弥补,不如要求写入时就产出高质量摘要和类型信息。

Claude Code 的记忆系统没有神秘技术。它的难点不在某个单点算法,在边界控制和时机设计。什么时候写,写到哪里什么时候读,读多少,压缩后保留什么这些问题dou比“用什么模型Zuo召回”geng重要。

Ru果你把这篇文章里的结论压成一句工程建议,那就是:先把长期记忆、短期相关记忆、会话压缩拆开,再谈检索和存储。


标签: 源码

SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback