用 Claude Code 在一个项目里干活时间长了,会发现一个有意思的现象:
早期我得手把手告诉它「部署前要用 xxx 命令跑测试,然后用 xxx 命令部署,部署完之后用 xxx 命令查看日志」。但用了几周之后,我只要说一句「部署到线上」,它自己就知道完整的部署流程,连监控的命令都不用我提。
这并不是模型变聪明了,而是 Claude Code 实现了一套记忆系统维护开发经验和用户的偏好。
它会默默记录你的开发偏好、遇到过的问题,下次会话启动时这些东西就被自动注入回上下文,所以模型就拥有了长期的、持续更新的记忆。
不要小看这个能力,这种持久化记忆是成熟 AI 产品的关键能力,是用户忠诚度的核心。
一个工具用熟了之后,它越来越懂你,你换个工具就得从头再教一遍:偏好、惯用命令、项目部署方式、遇到过的问题,全得重新讲。用户迁移到其他工具要付出较高的代价,用户粘性自然就高了。
本文就拆解 Claude Code 看它是怎么实现的,挑出 5 条最值得借鉴的工程做法逐个讲,你以后自己写 Agent 时可以参考。
整体机制概览
讲细节之前先说清楚 auto memory 到底是什么。它不是一个特殊的工具,你不会看到类似 memory_save 这样的工具。
它是一套机制,本质上就是两件事:写入记忆和读取记忆。这两件事听起来简单,细节上却很有讲究。
比如什么内容适合作为记忆跨会话保留?记太多会浪费 token,记少了记忆系统就形同虚设了。
还有,记忆怎么保存,以什么结构保存?什么时候读取记忆?记忆内容怎么注入到上下文?这些都需要仔细考虑。
下面我们来看看 Claude Code 是怎么做的。