别再说 Claude Code 上下文不够用了,是你没管好

别再说 Claude Code 上下文不够用了,是你没管好

用 Claude Code 做开发,上下文管理这块早晚得踩几个坑:聊久了前面的规则就忘了,后台跑着任务不敢随便打断,/clear/compact 分不清手滑就翻车。

这篇把所有和上下文、会话管理相关的命令按功能理清楚,别名、边界、坑点、适用场景全说明白,看完不会再混用。

一、清空会话:/clear

/clear 的作用就是清空当前会话的聊天记录、工具输出和临时约定,给你一个干净的对话环境。项目里的代码、CLAUDE.md 规则、装过的 Skill、登录状态这些,一概不动,不用担心清个对话把项目搞坏。

三个容易搞错的点

  1. /reset/new 全是它的别名 三个命令其实效果一致,都是清空当前会话。不存在"/new 是新建独立会话"的功能,想新开独立会话要用 /branch,后面会讲。

  2. 不会杀掉后台任务 不用担心清个对话把跑了一半的构建搞挂。ClaudeCode 的后台任务是独立进程托管的,清上下文和跑任务是两套机制,互不影响。

  3. 清空了也能找回来 不是清了就彻底没了,本地会持久化存储历史记录,用 /resume 命令按会话 ID 就能恢复。

适用场景:任务彻底切换、对话聊乱了 AI 开始丢信息、想刷新一下思考状态,都可以用。

配套的 /resume(别名 /continue)就一句话:专门用来找回历史会话,清错了、想翻旧记录,都靠它。

二、上下文快满了别硬扛:/compact 才是正解

如果任务还没做完,对话越堆越长,不用直接清空,用 /compact 就行。

它的逻辑很简单:AI 把当前所有对话、日志、文件读取记录压缩成一份结构化摘要,用摘要换掉原来冗长的完整记录,核心信息基本都能保留。

正常会留下技术方案、任务进度、关键参数约定这些重要内容,中间反复试错的过程、冗余的运行日志、被推翻的旧方案细节会被丢掉。

手动指定保留内容

压缩的时候可以告诉它哪些东西要留着,不用每次压缩都一刀切,比如:

bash 复制代码
/compact 保留讨论的技术方案、当前Bug的复现路径和排查进度,测试日志和试错过程都可以清掉

要注意压缩是不可逆的,原来的对话细节找不回来;但后台运行的任务不会中断,跑任务的时候也能正常压缩。

关于自动压缩

自动压缩会在上下文接近满载时触发,具体阈值官方没有精确公开。自动压缩是通用化总结,不会区分你什么内容重要,很容易把关键细节给精简没了。所以最好自己盯着点,上下文到六七成的时候手动压一次。

三、动手之前先看数:别瞎清瞎压

拿不准该清还是该压,先跑两条命令看看状态。

1. /context

直接显示当前上下文的总使用率,还能拆开看系统提示、文件索引、对话历史、工具输出各占了多少 Token。加 all 参数(/context all)可以展开逐项明细。

我自己的判断标准:

  • 30% 以下:正常用就行,不用处理
  • 60%~80%:可以准备手动压缩了
  • 90% 以上:如果任务逻辑还清晰就赶紧压;要是已经聊乱了,直接清空重来反而更快

另外它还能帮你定位膨胀原因:如果是日志占得多,压缩就管用;如果是文件索引占得多,就得去优化 .claudeignore,把没用的文件排除掉。

2. /usage

看当前会话一共耗了多少 Token、对应费用、跑了多久、调用了多少次工具。旧版叫 /cost,现在统一成 /usage 了,老命令也还能兼容。

3. /status

看会话 ID、消息条数、累计消耗、当前工作目录这些基础信息,配合 /resume 恢复会话的时候常用。

四、从源头避免上下文乱:分叉和回退

分叉和回退这两个功能,用好了从一开始就能避免单条对话越堆越长。

1. /branch 和 /fork:并行干活必备

/branch 是真正的"新开一条独立会话"------完整复制当前的全部上下文,生成一条全新的会话,你自己切过去继续操作。

/fork 也是复制上下文,但区别在于:fork 出来的会话会交给后台子代理去跑,不用你自己切过去。适合把耗时任务甩给后台,主会话留着聊需求。

/clear(也就是 /new)最核心的区别:

  • /clear:在原会话里清空历史,会话 ID 不变,没有新会话产生
  • /branch / /fork:生成新的会话 ID,带着当前所有进度和记录另开一档

最常用的场景:后台要跑耗时的构建、回测,就 fork 一个专门跑任务的会话,主会话留着聊需求、改方案,主线上下文不会被一堆日志污染。

2. /rewind(别名 /checkpoint、/undo):走偏了就倒回去

/rewind 是回退到历史某一轮对话,那一轮之后的对话记录、文件修改、工具调用全都会丢弃,相当于时光倒流到出错前。

可以指定回退步数,比如 /rewind 3 就直接回退 3 轮,也可以在界面上点对应轮次的按钮定点回退。

适用场景:AI 思路跑偏了、连续试错好几轮都不对、改代码改坏了想整体退回去,都能用。

3. /btw:临时插问神器

临时聊其它问题,共享主会话的所有上下文和代码认知,但聊天记录不会写到主会话历史里,主会话的后台任务也完全不受干扰。

适合临时确认个参数、查一段代码,问完就关,不会把主对话拉得很长。

五、几个日常也会用到的命令

还有几条命令日常也会用到,一起整理在这里。

1. /memory

就是快速打开编辑项目根目录下的 CLAUDE.md 文件,不是什么独立的记忆系统,本质就是个项目级的规则配置文件。

/clear/compact 最大的区别:

  • 后面两个操作的是单条会话的临时上下文,关了会话就失效
  • /memory 修改的是项目里的实体文件,永久生效,所有新开会话都会自动加载,清多少次会话都不会丢

适合把项目技术栈、编码规范、目录约定、常用命令模板、输出风格这些固定规则写进去。别把临时调试参数、单次任务方案往里写,会一直留在所有新会话里,反而添麻烦。

2. /rename

给当前会话改名字。并行会话多的时候特别有用,跑任务的、聊方案的、调 Bug 的各标清楚。

3. /export

把当前对话导出成纯文本或者 Markdown 文件,重要的方案讨论、调试过程可以导出来备份,或者整理成开发笔记。

4. /diff

交互式展示当前项目的代码变更,对比修改前后的差异,写完代码自查、做评审的时候是核心命令。

5. /plan

进入规划模式,AI 先列技术方案和执行步骤,确认了它再动手写代码,避免上来就瞎写、反复返工。

一张表速查:本文涉及命令全对比

命令 核心动作 当前任务是否中断 历史是否可找回 是否影响项目文件 生效范围 适用时机
/clear(别名 /reset /new 清空当前会话对话历史 否,后台任务继续运行 是,可通过 /resume 恢复 完全不影响 当前会话 切换任务、上下文彻底混乱
/resume(别名 /continue 恢复指定历史会话 无影响 - 完全不影响 目标历史会话 找回清空的旧会话、切换历史对话
/compact 历史浓缩为语义摘要 否,继续当前任务 否,原始细节丢失 完全不影响 当前会话 同任务继续,上下文快满
自动压缩 系统自动执行通用摘要 完全不影响 当前会话 上下文接近填满时自动触发
/rewind(别名 /checkpoint /undo 回退到指定轮次,丢弃后续 否,从断点继续 否,后续内容删除 同步回退对应轮次的文件修改 当前会话 AI 跑偏,回到正确节点重来
/branch 复制上下文,切换到新会话 否,原会话保留 是,两条都保留 默认共享同一目录,可能冲突 全新会话 自己切过去并行干活
/fork 复制上下文,交给后台子代理 否,原会话继续 是,两条都保留 默认共享同一目录,可能冲突 后台子代理 把任务甩给后台,主会话不动
/btw 侧边临时聊天,不写主历史 否,主线继续 关闭后通常无法在会话中直接恢复 完全不影响 临时侧边窗口 临时插问,不想污染主对话
/context 查看上下文使用率与构成 无影响 - 完全不影响 当前会话 拿不准该清还是该压时先观测
/usage 查看累计 token 消耗与费用 无影响 - 完全不影响 当前会话 评估长对话成本
/status 查看会话基础状态信息 无影响 - 完全不影响 当前会话 排查会话问题、获取会话 ID
/memory 编辑持久化规则文件 CLAUDE.md 无影响 是,永久保存 修改项目内文件 整个项目所有会话 固化核心规则,重开也不丢
/rename 重命名当前会话 无影响 - 完全不影响 当前会话 多会话管理,打标签分类
/export 导出对话为文件 无影响 - 生成导出文件 当前会话 沉淀笔记、备份对话

最容易搞混的几组命令,一句话说清怎么选

  1. /clear/branch 原地清空重来用 /clear;带着当前进度另开一条并行干别的用 /branch

  2. /compact/clear 继续同一个任务用 /compact;切到完全不相关的新任务用 /clear

  3. /compact/rewind 对话长但都是有效内容,想精简一下接着干用 /compact;后面几步走错了,想退回去重来用 /rewind

  4. /btw/branch 临时问一两个小问题,问完就完事用 /btw;要展开讨论、改代码,需要留记录用 /branch

  5. /clear/resume 想清空当前对话换干净环境用 /clear;想找回之前的旧会话用 /resume

长耗时开发的实操工作流

针对"后台跑耗时任务,同时还要聊方案改代码"的场景,这样用上下文基本不会乱:

  1. 启动长任务前 :先执行 /fork task-run 分叉一个任务专用会话交给后台,后台任务全放里面跑,主会话保持干净,专门聊需求、理方案。
  2. 任务运行中 :临时小问题用 /btw 快速确认,不污染主会话;深度方案讨论、架构设计留在主会话。
  3. 上下文膨胀时 :先用 /context 看占用率,占用率过高的时候手动 /compact,顺便指定好要保留的核心内容。
  4. 任务切换时 :单个模块做完了,就 /clear 清空主会话开下一个。重要规则提前写进 CLAUDE.md,清空了也不用重复交代。
  5. AI 走偏时 :只偏了两三轮就用 /rewind 退回去;已经乱了好多轮,直接 /clear 重来反而更快。
  6. 日常管理 :用 /rename 给会话打标签,重要讨论用 /export 导出备份,找旧会话用 /resume

最后:几句大白话总结

任务做完换题了 → /clear

任务没做完,只是对话太长 → /compact

AI 跑偏了,只想退几步重来 → /rewind

想同时干两件事不打架 → /branch/fork

临时插句话不添乱 → /btw

拿不准先看看 → /context

核心规则想永久留着 → 写进 /memory

旧会话想找回来 → /resume

相关推荐
牛奶1 小时前
AI 能赚钱了——但赚的不是你
人工智能·ai编程·nvidia
ZJPRENO5 小时前
美团 LongCat-2.0 完整发布解读(2026.6.30 正式发布)
ai编程
leeyi5 小时前
MCP 工具集成:外部工具变 Eino Tool
aigc·agent·mcp
沉默王二6 小时前
国产版Codex?阿里QoderWork有点东西,设计出来的Codex+Claude Code学习网站好看啊(附教程,超简单)
openai·agent·ai编程
Coffeeee6 小时前
Prompt要花心思写,与 AI 对话的七个技巧
人工智能·aigc·ai编程
刘棕霆7 小时前
27—AI Skill 测评如何避免确认偏误:盲测对比与解盲分析
aigc·ai编程·测试
Flynt7 小时前
配置Chrome DevTools MCP,我在Windows上折腾了两个晚上
ai编程·claude·mcp