EvoMap
Claude Code 本地化:Skills、记忆与持久化

Claude Code 本地化:Skills、记忆与持久化

2026年4月24日
197 次阅读
Claude Code skills CLAUDE.md persistent memory capability engineering

嗨!一切都还好吗?我是 Lena。

几周前,我坐在我常去的咖啡店里,想让 Claude Code 记住我上一周解释过的东西。它没记住。我得把整段上下文再打一遍,我还记得自己就那样盯着屏幕发呆想——等等,那些东西都去哪儿了?

那一刻把我带进了一个没想到的兔子洞。因为 Claude Code 里的"local",并不是我以为的那个意思。而我以为我理解了的东西和实际在发生的事情之间的那条缝——是……确实值得写下来的。

在本地运行 Claude Code 到底意味着什么

本地 CLI 执行 vs 云端托管的 session

当你在本地运行 Claude Code 时,CLI 住在你自己机器上——但真正的模型推理仍然发生在 Anthropic 的云上。你的终端在和 API 说话;干重活的不是你的笔记本。

是本地的:你的文件系统、你的项目结构、你的命令历史、Claude 创建的输出文件。不是本地的:模型权重、算力,以及 Claude 在 session 之间"知道"的任何东西。

这个区分很重要,尤其是如果你在搭 agent workflow,并期待某种持久智能会在本地累积起来。它不会——至少不是自动的。

在 Linux、Mac、Windows 上安装 Claude Code

截至 2026 年 3 月,Claude Code 通过 npm 分发,需要 Node.js 18+。各平台上的安装方式一样:

Bash
npm install -g @anthropic-ai/claude-code

然后认证:

Bash
claude login

在 Linux 上,如果安装后找不到 claude 命令,你可能需要把 npm 的全局 bin 目录加进 PATH。Windows 用户跑 WSL2 的话就把环境当 Linux 看。原生 Windows PowerShell 支持是存在的,但在文件路径处理上有一些边界情况——在假设你的配置"应该没事"之前,值得先看看 Anthropic 的 Claude Code 文档。

本地 Skills 和记忆

CLAUDE.md 和项目级 skill 文件

这一段我读了两遍。

Claude Code 会在每个 session 的开头,从你项目根目录读一个叫 CLAUDE.md 的文件。把它当成一份"交接备忘"——你把指令写在那里,每次你打开这个项目,Claude 都会把它捡起来。

Markdown
# My Project Context

- This is a Next.js 14 app using TypeScript
- Always use pnpm, not npm
- Component files live in /src/components
- Prefer functional components with explicit return types

这不是记忆。这是"上下文注入"。这个区别很微妙,但它改变了你看待这个工具的方式。Claude 不是在 ​记得​——它是在 ​读​。每一个 session 都是。

你也可以在子目录里放 CLAUDE.md。Claude Code 会根据你当前在项目里工作的位置,加载相关的那一份。如果你 codebase 的不同部分有不同的惯例,这个机制有用。

本地上下文怎么跨 session 累积

我开始留意后发现:上下文不会自己累积。会累积的是 CLAUDE.md 这份文件本身——前提是你每个 session 之后都手动去更新它,把你学到的东西或者走通的 pattern 写进去。

这是手工活。你就是那个记忆层。

有些人会写小脚本,把 session summary 自动 append 到 CLAUDE.md。那是一个合理的 workaround。但开箱状态下,这个文件是静态的,直到你去编辑它。

在今天的 Claude Code 里,"记忆"是什么意思

截至 2026 年初,Claude Code 没有像一些更新的 agent 框架那样的原生持久记忆。没有一个后台进程在悄悄构建你偏好的知识图谱。

存在的是这些:

  • CLAUDE.md,用来存项目级上下文
  • 单个 session 里的对话历史
  • Claude 创建或修改的文件——它们能持久,是因为它们就是文件

最后这一点其实比听起来更厉害。如果 Claude 生成了一个可复用的 utility function 并保存到你的 repo 里,那个能力现在就进了版本控制。这是以可能最可靠的方式在持久。

本地执行是否让能力持久化变得更容易?

优势——持久化文件、版本控制、本地 skill 库

在本地跑给你在搭持久能力上带来真实的优势——只是不是我一开始以为的那种。

什么会持久怎么持久
Claude 写的代码保存到你的文件系统,被 git 跟踪
项目惯例写在 CLAUDE.md 里
可复用的 pattern作为真实文件保存到你的 repo 里
Workflow 脚本Shell 脚本、Makefile 等等,Claude 帮你一起写

版本控制是这里的杀手锏。Claude 帮你搭的每一个 pattern 都会变成一个 commit。你的 git 历史就变成一条累积能力的时间线。这是真正的持久化——只是不是自动化的。

局限——仍然是单 agent,仍然没有 agent 间继承

Claude Code 作为一个 agent 跑在一个 session 里。没有任何内建机制,让一个 Claude Code session 把它学到的东西分享给另一个 session——哪怕那另一个 session 是在同一个项目、另一个终端窗口里的。

这是硬边界。你没办法让 Project A 上的 Claude Code 自动通知 Project B 上的 Claude Code。学习不会传播。每个 session 都是从你手动写进 CLAUDE.md 的东西,和项目里已有的文件重新开始。

对团队来说,这造成了一个有意思的挑战。如果一个开发者把你们共享 codebase 的 CLAUDE.md 打磨得很好,其他人就得用同一份文件。协作是人牵线的,不是 agent 牵线的。像 LangGraph 的多 agent 协调 pattern 这些项目在探索跨 agent 协调会长什么样,但 Claude Code 目前还没把它原生实现进去。

本地状态和网络层可复用资产之间的那条缝

这条缝我一直在想。本地状态是你的——它住在你的文件系统、你的 git repo、你的 CLAUDE.md 里。这些都很好。但它不参与任何比这更大的东西。

网络层的可复用资产意味着:Claude 在帮你的过程中学到的东西,能以某种被验证过的形式,成为别的 agent 在做类似问题时可以用的资源。本地 Claude Code 坐在这条缝的一边。那条缝会不会闭上、怎么闭上,是我还在看的东西。

本地 agent 作为能力工程的起点

在发布到网络之前,先在本地搭可复用的 pattern

有一个 framing 对我有帮助:本地 Claude Code 是一个适合 打磨 pattern 的地方——在它们准备好被分享到任何地方之前。

你迭代、你打磨、你把能跑通的版本编码进文件和 CLAUDE.md。当一个 pattern 站得住脚——一个 prompt 模板、一个代码生成 workflow、一种 debug 路径——它就是已经文档化过、可测试的。那是任何未来的"能力分享系统"的原材料。

OpenAI 的 Swarm 项目 做过轻量级多 agent 协调的实验,其中一个 takeaway 是:定义良好的单 agent 行为,是有效协作的前提。本地优先不是局限——它是工作真正发生的地方,在它被规模化之前。

为什么"本地优先"不等于"只有本地"

我早期犯的错误大概是:把"本地"当成一个永久状态,而不是一个起点。

本地执行给你控制、速度,以及和你真实文件系统的整合。那是你做细活的地方——把"一个好的 workflow 到底长什么样"慢慢搞清楚。一旦那件事想通了,怎么分享它——和队友、和别的项目、和别的 agent——就变成了一个独立的、有意思的问题。

Google 发布的 A2A(Agent-to-Agent)协议规范 是把"agent 之间怎么跨系统沟通能力"正式化的其中一次尝试。Claude Code 会不会和这些正在成型的标准整合,是一个值得继续关注的问题。

边界和 trade-off

几件我希望有人在开始前告诉过我的事:

CLAUDE.md​ 有上下文上限。 如果它太长,它会开始把其他有用的上下文挤出窗口。让它保持聚焦。定期修剪。

本地文件的好坏取决于你的 git 卫生。 如果你没有在持续地 commit Claude 的输出,当你换机器或者重置环境时,那种"持久化"就消失了。

API 还是有 rate limit。 在本地跑不会让你免于使用约束。重度 agentic session——尤其是带文件操作和工具使用的那种——比对话式使用更容易撞到上限。Anthropic 的 rate limit 文档 里有当前 tier 的详情。

Claude Code 的工具使用在每个 session 里是沙盒化的。 文件读写、终端命令在这个 session 内有效。除非结果落到某个文件里,否则什么都不会带到下一轮。

这些边界我也不敢说我完全都摸清了。但这是我现在对它的理解。

FAQ

  1. 我要怎么在本地安装 Claude Code?

通过 npm 安装:npm install -g @anthropic-ai/claude-code,然后跑 claude login 来认证。需要 Node.js 18 或以上。在 Linux / WSL 上,确认你的 PATH 包含 npm 的全局 bin 目录。

  1. Claude Code 有持久记忆吗?

没有那种"自动"意义上的持久记忆。每个 session 都是从头开始。持久性来自 CLAUDE.md(由你手工维护)和 Claude 在你项目里创建、并被提交到版本控制的文件。

  1. CLAUDE.md 是什么,它怎么工作?

它是一个放在你项目根目录(或者可选地放在子目录)的普通 markdown 文件。Claude Code 在每个 session 的开头会读它。你用它来记录项目上下文、惯例和偏好。把它当成一份交接备忘,而不是一个记忆系统。

  1. Claude Code 的 skills 可以在项目之间迁移吗?

不能自动迁移。你可以手动把你的 CLAUDE.md 和任何可复用文件从一个项目拷贝或者改写到另一个项目,但没有内建的跨项目能力分享。这是当前这种"本地优先"架构有意义的一条边界。

  1. 对 agent workflow 来说,本地 Claude Code 比云端托管好吗?

看你在优化什么。本地给你直接的文件系统访问、在项目特定上下文上更快的迭代,以及对你文件完整的控制。云端托管(比如 Claude.ai Projects)给你更容易的分享和协作。对本地 codebase 复杂的个人开发 workflow,本地通常赢。对团队 workflow 或者非技术用户,云端的功能可能更重要。

Previous Posts:

Previous Posts:

相关文章