Claude Code 变慢还疯狂烧额度怎么办?关 Auto Memory、精简 CLAUDE.md 和 /usage 排查顺序

维护咨询 大模型部署 问题解决 技能定制 大模型训练

站长交流微信: aixbwz

如果你最近在 Claude Code 里遇到这几种情况,问题不一定先出在模型本身,而很可能出在你给它塞进了太多会话启动上下文:

  • 明明只是一个小改动,却突然变得很慢。
  • 同样类型的任务,5 小时窗口掉得比以前快很多。
  • /compact 之后还是很快又涨回去,甚至出现反复压缩。
  • Claude 老是引用一些你不想继续保留的旧“记忆”。

这篇教程适合你:

  • 你在用 Claude Code 做日常开发,但最近明显感觉变慢、变贵、变“糊”。
  • 你已经写过 CLAUDE.md,但现在怀疑它越来越大,反而拖累会话。
  • 你想先把可控的上下文问题排干净,再判断是不是服务端波动或模型版本变化。

说明:本文里的 CLAUDE_CODE_DISABLE_AUTO_MEMORYautoMemoryEnabled/usage/context/compact/clear/memory/doctorclaude --safe-modeMAX_THINKING_TOKENS 等命令和配置,均为基于官方文档验证。当前写作环境未安装 claude CLI,本文不把文档核验冒充成实机测试。

Claude Code 上下文排查总览
Claude Code 上下文排查总览

先判断这是不是“上下文膨胀”而不是别的问题

现象 更像哪类原因 先做什么
小任务也突然很慢,回复前要想很久 启动上下文过大,或 extended thinking 太重 先看 /usage/context
明明没干多少活,5 小时窗口掉得很快 CLAUDE.md、auto memory、MCP、subagent 或长上下文在吃 token 先减启动负担,不要先猜套餐
/compact 后又立刻涨回去 刚压完又读了大文件或大输出,触发 refilling 改成小块读文件,必要时 /clear
Claude 总拿旧偏好、旧结论说事 auto memory 带入了过时信息 /memory 审计,必要时临时关闭
同一仓库不同目录里,规则越来越乱 多层 CLAUDE.md / .claude/rules/ 冲突 先收口主规则,再拆路径规则

核心原因是什么

Claude Code 的官方文档把“跨会话知识”拆成两类,而且它们都会在新会话开始时参与上下文:

  • CLAUDE.md:你自己写的长期说明。
  • Auto memory:Claude 根据你的纠正和偏好自己记下来的笔记。

这两点很关键:

  • CLAUDE.md 会在每次会话启动时加载,官方建议每个文件尽量控制在 200 行以内。
  • Auto memory 默认开启,而且 MEMORY.md 的前 200 行或前 25KB 会在每次会话开始时加载。

也就是说,只要你的 CLAUDE.md 越写越大、auto memory 越积越多,哪怕你只是让 Claude 改 1 行代码,起跑线就已经很重了。

第一步:先用 /usage/context 看当前会话是不是已经过胖

以下命令为基于官方文档验证

/usage
/context

你要重点看的是:

  • 当前会话是不是在一开始就已经占掉很大一截上下文。
  • 最近 24 小时 / 7 天里,是否某类来源占比特别高:
  • skills
  • subagents
  • plugins
  • MCP servers
  • 你以为是“小任务”,但其实会话里已经带着上一个大任务留下来的长上下文。

如果你看到的是“同一会话越聊越贵”,先不要急着改模型,先继续排下面两层:Auto memoryCLAUDE.md

第二步:把 Auto Memory 暂时关掉,确认旧记忆是不是罪魁祸首

官方文档给了三种关法,以下都属于基于官方文档验证

方法一:在会话里直接用 /memory

/memory

这个命令可以:

  • 查看当前会话实际加载了哪些 CLAUDE.md / CLAUDE.local.md / rules 文件。
  • 打开 auto memory 目录。
  • 直接切换 auto memory 的开关。

如果你最近老看到 Claude 说“我会把这个记到 memory 里”,或者它总拿旧假设干扰当前任务,这一步最先做。

方法二:在项目设置里先关

把下面这段放进项目的 .claude/settings.local.json,更适合个人临时排查:

{
  "autoMemoryEnabled": false
}

如果你想团队统一关闭,也可以放在项目共享设置里,但更稳妥的做法通常是先个人验证,再决定是否全员收紧。

方法三:启动时直接禁用

macOS / Linux:

CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude

PowerShell:

$env:CLAUDE_CODE_DISABLE_AUTO_MEMORY = "1"
claude

如果你关掉 auto memory 之后,同样的轻任务明显顺了很多,基本就说明你原来的问题有相当一部分来自旧记忆和启动负担。

第三步:把 CLAUDE.md 缩回“长期事实”,别把整套流程都堆进去

官方文档给得很直白:CLAUDE.md 是每次启动都要读的上下文,目标大小建议控制在 200 行内。

更适合放进 CLAUDE.md 的内容是:

  • 构建命令
  • 测试命令
  • 项目目录结构
  • 命名约定
  • “总是这样做”的稳定规则

不适合继续堆在 CLAUDE.md 里的内容是:

  • 只对某一类文件有用的规则
  • 很长的 PR review 流程
  • 某个数据库迁移的完整步骤
  • 某个一次性排障手册

如果你现在的 CLAUDE.md 已经开始像操作手册,就该拆了。

一个更稳的收口方式

项目根目录 CLAUDE.md 只保留最小常驻规则:

# Project Rules

- Run `npm test` before finishing code changes.
- API handlers live in `src/api/handlers/`.
- Use 2-space indentation.
- Do not edit deployment secrets.
Claude Code 变慢还疯狂烧额度怎么办?关 Auto Memory、精简 CLAUDE.md 和 /usage 排查顺序-China AI Hub
Claude Code 变慢还疯狂烧额度怎么办?关 Auto Memory、精简 CLAUDE.md 和 /usage 排查顺序
此内容为付费阅读,请付费后查看
19.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费阅读
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容

七天热门