Claude Code 记忆机制
专题:Claude Code源码拆解 -- 记忆机制
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)的调用。




评论
评论区加载中,请稍候…