Claude Code 修改仓库文件时,真正变化的是上下文,而不是历史
📅 2026/7/21 15:25:49
👁️ 阅读次数
📝 编程学习
在 Claude Code 里改文件,最容易被误解的一点,是很多人会下意识把它想成 IDE 里的实时视图,以为文件一保存,Claude 已经读过的那份内容就会自动变成新版本。实际并不是这样。Claude Code 更像一个不断增长的会话账本,文件内容只有在 Claude 主动读取时,才进入上下文。读取动作本身会追加到会话历史里,后面即使同一个文件被修改,前面那次读取记录也不会被回写、覆盖或者偷偷替换。官方文档对这一点说得很直接,文件内容只在 Claude 读取时进入上下文,读取会追加到对话,编辑已读文件不会反向修改历史,Claude Code 会追加一个<system-reminder>来提示文件发生变化,Claude 需要时再重新读取。(Claude)
这套设计看起来有点绕,但放到大模型推理机制里就很自然。Claude Code 每一次响应都不是在一个真正持续运行的大脑里发生,而是一次新的 API 请求。模型并不会在两次请求之间保存私有记忆,所以 Claude Code 需要把系统提示、项目上下文、之前的消息、工具结果、最新输入一起重新发送给模型。官方文档把这个过程讲得很清楚,每次发送消息时都会产生新的 API 请求,新内容被追加在末尾,大部分请求前缀和上一轮相同,prompt caching 正是靠复用这部分没有变化的前缀来节省处理成本。(
编程学习
技术分享
实战经验