MemoryLake
返回全部文章
Tutorial2026 年 11 月 12 日·10 分钟阅读

Claude Code 中的 /doctor 有什么作用?检查会对 CLAUDE.md 做出哪些更改、prompt-audit 会标记哪些问题,以及如何查找消耗上下文的 Skills (2026)

如果 Claude Code 执行指令的速度比以前慢,或者你的会话填充速度超出了预期,Anthropic 的文档建议首先运行一个命令。在 Claude Code 提示符下输入 /doctor 会运行“诊断问题并能修复问题的设置检查”。

这与你可能记得的终端命令 claude doctor 不同,它的功能不仅仅是检查安装情况。该检查还会读取你的 CLAUDE.md 文件,而第二种模式 /doctor prompt-audit 则会审查你编写的每个指令文件,查找过时或冲突的指南。在得到你的许可之前,这两者都不会更改任何文件。Anthropic 表示:“Claude 会先报告其发现,并在更改任何内容之前请求确认。”

本指南涵盖了检查的内容、它对 CLAUDE.md 的建议、prompt-audit 的区别、/skill-doctor 如何显示每个 skill 的上下文成本、这三者与 claude doctor 的关系,以及在修剪时应保留哪些内容。

/doctor 和 claude doctor 是不同的命令

有两个名称几乎相同的命令:

  • claude doctor:在终端中运行,仅用于诊断。Anthropic 表示:“要在不启动会话的情况下进行只读安装诊断,请在终端中运行 claude doctor。”
  • /doctor:在会话内部运行,是完整的检查。命令参考将其描述为“诊断安装、设置、扩展和 CLAUDE.md 问题,并在你确认后由 Claude 应用修复方案”。

Claude Code 更新日志标记了会话内版本变更的时间:“/doctor 现在是一个完整的设置检查,可以诊断并修复问题;/checkup 是它的别名”。因此,/checkup 和 /doctor 运行的是相同的内容。

检查涉及的内容

Anthropic 的 skills 文档列出了五个领域。

安装健康状况。 重复或残留的安装、PATH 问题、无法解析的设置文件,以及你的发布频道是否有新版本可用。

扩展。 检查会将“未使用的 skills、MCP 服务器和插件”与其“上下文成本”进行比较,并查找运行缓慢的钩子 (hooks)。

CLAUDE.md 文件。 与已签入文件重复的本地 CLAUDE.md 文件、Claude 可以从代码库中推导出的已签入内容,以及保留的始终加载的指南(Claude 会提议将其迁移到按需加载的 skills 和嵌套的 CLAUDE.md 文件中)。

权限。 提议将 auto 模式设为默认权限模式,并预先批准你经常拒绝的只读命令。

使用情况。 在 Pro、Max、Ultra、Team 和 Enterprise 计划中,根据过去七天的测量结果,/usage 会推荐一些更改以降低计划使用量。Anthropic 表示:“Claude 会提议它可以自行完成的更改,并将其余部分作为建议报告,例如供你运行的命令。”使用情况检查需要 Claude Code v2.1.305 或更高版本,并且在连接 Remote Control 时,检查会跳过此项。

检查对 CLAUDE.md 的建议

检查中关于 CLAUDE.md 的部分非常重要,因为已签入的 CLAUDE.md 指南是始终加载的。

Anthropic 的记忆 (memory) 文档解释了它修剪什么以及保留什么。检查“会对已签入的 CLAUDE.md 提出修剪建议:它会剪掉 Claude 可以从代码库中推导出的内容,例如目录布局、依赖列表和架构概览;并保留陷阱 (pitfalls)、基本原理 (rationale) 以及与工具默认设置不同的约定”。

这种划分非常有用。目录树或依赖列表是 Claude 在需要时可以随时从存储库中读取的内容。而关于为什么必须先运行迁移的说明,或者团队遵循的工具无法假设的约定,是无法从代码中推导出来的。检查将第一种视为成本,将第二种视为价值。

为什么大小很重要

Anthropic 对 CLAUDE.md 的指导非常直接:“目标是每个 CLAUDE.md 文件少于 200 行。较长的文件会消耗更多上下文并降低指令遵循度。”

来自同一文档的一些相关限制:

  • 警告。 “如果你的某个指令文件超过了推荐长度,你在启动时以及运行 /status 时会看到警告。”
  • 总大小。 当每个文件都在长度限制内,但它们在会话开始时的总大小超过限制时,你也会看到警告。
  • 硬性上限。 “Claude Code 会跳过超过 4 MiB 的文件。”
  • 导入对减小体积没有帮助。 拆分为 @path 导入“有助于组织,但不会减少上下文,因为导入的文件会随导入它们的 CLAUDE.md 一起加载”。

如果问题是嵌套的 CLAUDE.md 在处理到一半时似乎被 Claude 忽略了,那是另一个独立的文件限制。我们的指南 为什么 Claude 会忽略子目录 CLAUDE.md 的结尾 涵盖了这一内容。

修剪后的指南去哪了

检查不仅仅是删除。对于仅在某些时候起作用的始终加载的指南,它会提议将其移动到“按需加载”的 skills 和嵌套的 CLAUDE.md 文件中。路径范围规则 (Path-scoped rules) 是另一个有文档记录的选项:它们“仅在 Claude 处理匹配的文件时”加载。

prompt-audit 会标记什么

检查 (checkup) 审查你的设置。prompt-audit 审查你的写作。Anthropic 表示:“要审计你的指令而非设置,请在 Claude Code 提示符下运行 /doctor prompt-audit。”

其记忆文档描述了它查找的内容:“Claude 会查找诸如为旧模型编写的指令、对不存在的文件或命令的引用,以及相互矛盾的文件等问题。”

其中的每一项都是真实的失败模式:

  • 为旧模型编写的指令。 引入该功能的更新日志条目将审计描述为检查“为旧模型编写的提示模式”。
  • 过时的引用。 移动的文件路径或重命名的脚本可能会让 Claude 去寻找不存在的东西。
  • 矛盾。 Anthropic 指出,“如果两条指令相互矛盾,Claude 可能会随机选择其中一条”。

后来的版本更改了报告的顺序:“过时路径、过时命令和矛盾的指令文件现在排在报告前面,而 Claude Code 记录的思考关键字会被保留”。

覆盖范围

“默认情况下,审计涵盖你的 CLAUDE.md、CLAUDE.local.md 和 AGENTS.md 文件,以及 .claude/ 和 ~/.claude/ 下的 rules、skills、commands、subagents 和输出样式。”

要审计单个文件或文件夹,请传递其路径。Anthropic 的示例是 /doctor prompt-audit .claude/skills/deploy。

它会更改什么

在得到你的要求之前,什么都不会改变。“你会得到一份带有建议编辑的调查结果报告,在你要求 Claude 应用它们之前,文件中的任何内容都不会改变。”

要求

审计“通过捆绑的 /claude-api skill 运行”。如果该 skill 在 skillOverrides 中被关闭或通过 disableBundledSkills 禁用,则该功能不可用,且需要 Claude Code v2.1.283 或更高版本。

/skill-doctor 如何显示每个 skill 的成本

Skills 自身也有上下文成本。Anthropic 的 skills 文档指出:“skill 列表中的每个 skill 都会在每一轮对话中增加你的上下文,无论 Claude 是否使用过它。”

/skill-doctor 就是针对此项的报告。Anthropic 表示,它显示“你的每个 skill 的成本以及使用频率,以便你决定关闭哪些”。

报告包含的内容:

  • 会话中除捆绑 skills 和企业级 skills 之外的 skills。
  • 对“从未被调用过”的 skills 进行标记,并说明在哪里关闭它们。
  • 你最近未使用的插件。

Anthropic 关于从哪里开始的建议:“在它告诉你可以在哪里关闭的 skills 中,从上下文成本最高的开始”。

在交互式会话中,报告会在 /plugin 管理器的 Stats 选项卡中打开。使用 -p 参数,Claude Code 会将其打印为文本。它需要 v2.1.252 或更高版本以及 feature-flag 获取功能。通过手机或浏览器的 Remote Control 连接时,此功能不可用。请在运行会话的机器终端中运行它。

应该运行哪一个

  • 感觉某些功能损坏或启动缓慢: 在终端运行 claude doctor,进行只读安装诊断。
  • 会话填充过快或指令被忽略: 运行 /doctor 进行全面检查,包括 CLAUDE.md 修剪。
  • 指令可能过时或矛盾: 运行 /doctor prompt-audit,获取关于你编写内容的报告。
  • 安装了大量 skills: 运行 /skill-doctor,查看每个 skill 的上下文成本和使用情况。

修剪时保留什么

检查自带的规则是最好的指南:剪掉 Claude 可以从代码库中推导出的内容,保留“陷阱、基本原理以及与工具默认设置不同的约定”。

保留的部分是代码无法告诉 Claude 的内容:测试不稳定的原因、两个脚本必须运行的顺序、审查者总是要求的约定。这些也是在单个存储库的 CLAUDE.md 之外也重要的部分,例如当你启动具有类似规则的新项目或在另一个工具中工作时。

如果 Claude 自身保存笔记,这些笔记存在于自动记忆 (auto memory) 中,它有自己的索引和限制。我们的指南 什么是 Claude Code 的自动记忆 解释了它与 CLAUDE.md 的区别。

人们常犯的错误

只运行 claude doctor 就停止了。 它只检查安装。CLAUDE.md 和扩展检查在 /doctor 中。

为了节省上下文将 CLAUDE.md 拆分为导入。 导入的文件会随导入它们的文件一起加载。

为了减到 200 行以内而删除基本原理。 检查保留基本原理和陷阱是有原因的。

一次性接受所有建议的编辑。 请逐一审查,因为在你要求之前,什么都不会改变。

保留所有已安装的 skill。 列表中的每个 skill 都会在每一轮对话中增加你的上下文。

解决方案:清理 Claude 每个会话加载的内容

第 1 步:运行检查

在会话中输入 /doctor,并在批准任何操作之前阅读每个领域的调查结果。

第 2 步:审计你编写的内容

运行 /doctor prompt-audit,优先修复过时路径、过时命令和矛盾之处。

第 3 步:关闭不使用的 skills

运行 /skill-doctor,从上下文成本最高的未使用 skills 开始处理。

第 4 步:保存保留的基本原理

将你保留的陷阱、原因和约定复制到一个可以跨存储库复用的地方。

在 MemoryLake 中设置

检查擅长区分 Claude 可以从代码中读取的内容和你唯一知道的内容。第二组内容(如陷阱、原因和团队约定)值得保存在一个可以在多个项目和多个工具中使用的地方。

MemoryLake 是此类项目知识(如约定、决策及其背后的原因)的记忆层,保存在你维护的一个地方,并可供你连接的助手(如 ChatGPT、Claude Code 和 Codex)使用。

你用自己的语言亲自编写条目。不会从你的 CLAUDE.md 文件、rules、skills、自动记忆、~/.claude 文件夹或任何供应商的存储中读取、写入或删除任何内容。检查和 prompt-audit 按照 Anthropic 描述的方式工作,你仍然可以决定应用哪些编辑。

第 1 步:创建 API 密钥

登录并从控制面板生成密钥。像对待其他凭据一样,将其存储在存储库之外。

MemoryLake 控制台显示 API 密钥屏幕,在此处创建并复制新密钥以供 agent 使用
MemoryLake 控制台显示 API 密钥屏幕,在此处创建并复制新密钥以供 agent 使用

第 2 步:上传你的第一批记忆

从你在解决方案第 4 步中保存的内容开始:检查告诉你要保留的陷阱、原因和约定。每个条目一项内容。

MemoryLake 工作区显示已上传的第一批文档,列出了每个成为可搜索记忆的文件
MemoryLake 工作区显示已上传的第一批文档,列出了每个成为可搜索记忆的文件

第 3 步:连接你的 AI 和 agents

连接 Claude Code 和你使用的任何其他助手。相同的条目在每个连接的项目和工具中都可用。

MemoryLake 集成屏幕列出了可以连接到记忆层的 AI 客户端和 agent 框架
MemoryLake 集成屏幕列出了可以连接到记忆层的 AI 客户端和 agent 框架

这在实践中改变了什么

第一个区别是一个更精简、无需担心的 CLAUDE.md。你从始终加载的上下文中修剪掉的原因仍然被记录在案。

第二个是跨项目的复用。你到处遵循的约定不必复制到每个存储库中。

第三个是在其他工具中使用相同的知识。Codex 或 ChatGPT 也可以利用这些条目。

Claude Code 中 /doctor 的最佳实践

使用 /doctor,而不仅仅是 claude doctor。 CLAUDE.md 和扩展检查发生在会话中。

保持 CLAUDE.md 在 200 行以内。 较长的文件会消耗更多上下文并降低指令遵循度。

保留基本原理,剪掉可推导的内容。 这是检查自带的规则。

在模型变更后运行 prompt-audit。 它会查找为旧模型编写的指令。

优先修复矛盾。 Claude 可能会在两条冲突的指令中随机选择一条。

按成本修剪 skills。 从消耗上下文最多的未使用 skills 开始。

应用前先审查。 在你要求之前,什么都不会改变。

结论

Claude Code 中的 /doctor 是一个完整的设置检查:它查看安装健康状况、扩展、CLAUDE.md 文件、权限和使用情况,并提议仅在你确认后应用的修复方案。对于 CLAUDE.md,它会剪掉 Claude 可以从代码库推导出的内容,并保留陷阱、基本原理和约定。终端中的 claude doctor 是只读安装检查。

/doctor prompt-audit 审查你的指令文件是否存在过时指南、陈旧引用和矛盾,而 /skill-doctor 显示每个 skill 的上下文成本及其使用频率。结合使用它们,可以保持每个会话加载的内容精简,并将你决定保留的推理保存在可以复用的地方。

常见问题

Claude Code 中的 /doctor 有什么作用?

它会对安装健康状况、扩展、CLAUDE.md 文件、权限和使用情况进行设置检查,并提议由 Claude 在你确认后应用的修复方案。

/doctor 和 claude doctor 有什么区别?

终端中的 claude doctor 是只读安装诊断。会话中的 /doctor 是可以提议并应用修复方案的完整检查。

/doctor prompt-audit 检查什么?

它查找为旧模型编写的指令、对不存在的文件或命令的引用,以及相互矛盾的文件。

/doctor 会自动更改我的 CLAUDE.md 吗?

不会。Anthropic 表示 Claude 会先报告其发现,并在更改任何内容之前请求确认。

/skill-doctor 显示什么?

显示每个 skill 的上下文成本及其使用频率,并标记未使用的 skills 以及在哪里关闭它们。

CLAUDE.md 文件应该多长?

Anthropic 建议每个 CLAUDE.md 文件的目标长度在 200 行以内。

/checkup 和 /doctor 是一样的吗?

是的。Claude Code 更新日志将 /checkup 列为 /doctor 的别名。