Claude Code 记忆机制

专题:Claude Code源码拆解 -- 记忆机制

Ethan··1 分钟
0 阅读

Claude Code 记忆机制

一、存什么
用户画像:用户的角色、习惯编程语言等与用户个体相关的信息
行为反馈:用户强调的不做什么、可以做什么。存储结构为「一段描述 + 为什么 + 如何做」
项目动态:正在进行什么、做什么东西、截止日期。截止日期按绝对日期存储
外部指针:去哪里找东西,比如 Redis 日志在哪、Grafana 看板在哪

二、不存什么
git blame、git log 等随时间可能已经变动的内容
grep、read、write 能重新获取的内容
CLAUDE.md 和 system prompt 本身不记

三、怎么存
每条记忆的元数据为 name + description + type 三个字段。物理存储上,每条记忆对应一个独立的 .md 文件,以文件名命名。同时维护一个 memory.md 索引文件,加载到系统提示词中,只记录每个记忆文件的名称和摘要信息,大小不超过 200 行和 25KB,防止上下文膨胀。

四、怎么召回
召回使用便宜模型,分三步执行:
读取每个记忆文件的前 30 行内容
模型根据这些内容判断需要召回哪些记忆
拿取被选中记忆的完整内容
并行优化:召回过程使用 Sonnet 等便宜且更快的模型,在用户提问时并行执行,不阻塞主模型(如 Opus)的调用。

五、记忆更新 (https://www.51cto.com/article/842482.html
image.png
image.png
image.png

分享:

评论

评论区加载中,请稍候…