【Claude】Claude Code 响应质量下降排查(无报错但变笨)已解决 【Claude】Claude Code 响应质量下降排查无报错但变笨已解决关键词Claude Code、响应质量、变笨、上下文衰退、context rot、/model、/effort、/context、/compact、CLAUDE.md、fallback model一、问题现象它变傻了但没有报错没有任何红色错误消息但 Claude Code 的表现开始让你皱眉记性变差刚说过的要求它转头就忘重蹈覆辙刚修好的 Bug它又给改回去了答非所问回答越来越泛逻辑越来越松散推理变弱面对复杂问题给出的方案明显不如之前有深度前半小时还挺好越到后面越离谱——这是最典型的描述。这种情况不触发任何报错却严重影响开发效率。很多人的第一反应是是不是模型降级了是不是 Anthropic 偷偷改了什么——几乎都不是。官方对此有明确说明Claude Code 不会悄悄更改模型版本。质量下降的原因通常是会话状态的问题而不是模型本身。二、根因分析四个最常见原因原因一上下文衰退Context Rot——最高频这是变笨的头号杀手。Claude Code 有一个约 200K Token 的上下文窗口。随着会话推进这个窗口会被各种内容塞满历史对话记录所有轮次的 QA读入的文件内容工具调用的输出系统提示、MCP 工具定义、CLAUDE.md。当窗口接近满载时早期内容会被挤出或压缩降质模型能看到的有效信息越来越少注意力越来越分散——这就是上下文衰退Context Rot。诊断/context或带详细明细/context all如果显示使用率超过 70-80%上下文衰退很可能已经发生。修复/compact # 压缩历史轮次释放窗口或者到了某个完整的任务节点/clear # 开新会话彻底重置原因二模型设置错误可能你或某个配置文件之前设置了一个较小的模型现在用的不是你以为的模型。诊断/model确认当前模型是否是你期望的。常见的陷阱之前为了省配额临时切到 Haiku然后忘了切回来ANTHROPIC_MODEL环境变量里设了一个小模型配置文件model字段里留着过时的值。检查顺序env | grep ANTHROPIC_MODEL cat ~/.claude/settings.json | grep model cat .claude/settings.json | grep model原因三推理努力级别Effort Level不够不同模型有不同的默认推理努力级别effort影响回答的深度和质量。诊断/effort查看当前级别。如果在做复杂的架构设计、深度调试可以提高到更高级别/effort high或者用ultrathink提示词前缀触发最高级别思考Opus 类模型ultrathink: 请帮我分析这个并发竞态条件的根因每个模型的默认 effort 级别不同在/effort里可以看到当前值。原因四自动模型回退Fallback悄悄发生了Claude Code 在以下情况可能悄悄切换到备用模型--fallback-model在可用性错误后接管如果你启动时指定了--fallback-model主模型遇到可用性错误后会切到这个后备——会在对话记录里显示通知但不是错误消息Bedrock / Vertex AI 启动检查发现默认模型不可用自动切换到可用模型Fable 5 上的自动回退切换到默认 Opus 模型。诊断回看对话记录找有没有类似Falling back to...的通知行。三、进阶排查其他可能因素CLAUDE.md 过时或过大项目的CLAUDE.md文件内存文件会在每次会话里自动加载到上下文并影响 Claude 的行为。问题场景CLAUDE.md 里的指令已经过时比如旧的代码风格要求、已重构的模块描述CLAUDE.md 太大占满了大量上下文空间/context all里看 memory 那一行有矛盾的指令让 Claude 无所适从。诊断/doctor会标记超大的内存文件和子代理定义。修复精简 CLAUDE.md删除过时内容把不常用的指令移到路径范围规则只在相关目录加载。MCP 工具定义占用过多上下文大量 MCP 工具定义不仅占上下文空间还可能引导回答偏向工具相关的方向。检查/context all里看 MCP tools 那一行的 Token 占用。修复/mcp disable 不需要的服务器名四、标准排查流程按以下顺序检查通常前两步就能定位问题1. /context all → 使用率 70% → /compact 或 /clear 2. /model → 不是你以为的模型 → /model 切换回来检查 ANTHROPIC_MODEL 和配置文件 3. /effort → 级别不够 → /effort high 或 ultrathink 前缀 4. /doctor → 有超大 CLAUDE.md 或 MCP 警告 → 精简文件/mcp disable 5. 回看对话记录 → 有 fallback 通知 → 确认主模型状态五、重新表述优于在线纠正一个关键的使用技巧当 Claude 给了一个不对的答案不要直接用下一条消息纠正它。在线纠正不对你应该...的问题错误的尝试还留在上下文里后续回答可能被锚定到那个错误的方向让问题越来越绕。正确做法/rewind # 或按 Esc 两次回退到那条坏答案之前用更多细节、更清晰的约束重新表述提示词。从干净状态出发比在错误上修补效果要好得多。六、预防胜于救火习惯效果每完成一个子任务就/compact保持上下文新鲜防止衰退开始新任务前/clear完全清零从干净状态出发定期/context自检提前发现窗口压力保持 CLAUDE.md 精简减少固定占用给有效内容更多空间只加载需要的 MCP减少工具定义的 Token 消耗用ultrathink触发深度推理复杂任务获得更高质量回答七、总结Claude Code 变笨但无报错95% 的情况源于以下四个原因之一上下文衰退Context Rot→/context自检 →/compact或/clear用了错误的模型小模型、fallback→/model确认推理努力级别不够→/effort high或ultrathinkCLAUDE.md 过时/过大或MCP 占用太多→/doctor 精简。记住模型本身没变是你的会话状态出了问题。从/context all开始排查通常一分钟内就能找到根因。参考Claude Code 官方《错误参考》响应质量似乎低于平常章节、上下文管理文档、扩展思考文档、社区上下文衰退分析。