Document
📑 目录
💬 引用
原文:Anthropic 官方博客,作者 Thariq(Claude Code 工程师)
原文链接:https://claude.com/blog/using-claude-code-session-management-and-1m-context01新功能:
新功能:/usage 命令
/usage
新增斜杠命令,用于查看你在 Claude Code 中的使用情况。该功能是基于用户反馈开发的。
02
核心概念
上下文窗口
- 大小: 100 万 token
- 包含: 系统提示词、对话历史、所有工具调用/输出、所有读取的文件
- 硬性上限: 必须主动管理
上下文腐烂(Context Rot)
💬 引用
"随着上下文增长,模型性能会下降——因为注意力被分散到越来越多的 token 上,旧的、无关的内容开始干扰当前任务。"压缩(Compaction)
当接近上下文限制时,任务会自动被总结为更小的描述,然后在新上下文窗口中继续工作。也可以手动触发。
03
每一步的会话管理选项
当 Claude 完成一个任务后,你有 5 个选择:
| 操作 | 命令 | 用途 |
|---|---|---|
| 继续 | (自然流程) | 保留当前所有上下文 |
| 回退 | 双击 Esc 或 /rewind |
跳回到之前任意消息,丢弃之后的所有内容 |
| 压缩 | /compact |
总结对话,替换历史记录 |
| 清空 | /clear |
完全清空上下文,从头开始 |
| 子代理 | (自动/显式调用) | 为噪音任务生成独立上下文 |
04
什么时候应该开新会话
经验法则: 开始新任务时,开新会话。
例外: 当上下文仍然有价值的关联任务(比如刚写完一个功能,要给这个功能写文档)。如果重新开始,Claude 需要重新读取文件——更慢,也更费钱。
05
回退 vs 纠正
不要只是说"这样不行"——应该用回退。
更好的做法:
1. Claude 读取了 5 个文件,尝试方案 A → 失败
2. /rewind 回到读取文件之后
3. 用你学到的信息重新提示:"不要用方案 A,foo 模块没有暴露那个接口——直接用方案 B。"
专业技巧: 用 "从这里开始总结" 配合 /rewind 来创建一个交接消息——就像"未来 Claude"给"过去 Claude"写的便条,告诉它什么行不通。
06
压缩 vs 清空:关键区别
/compact
/compact 聚焦在认证重构上,丢弃测试调试的内容
- Claude 总结对话并替换历史记录
- 有损的,但 Claude 可能会包含你自己会忘记的重要发现
- 可引导——传入指令来告诉它什么重要
- 你花更少力气
/clear
- 你自己写下来什么重要:"我们在重构认证中间件,约束条件是 X,涉及的文件是 A 和 B,已排除方案 Y"
- 前期需要更多工作,但你完全控制哪些信息被保留
- 零上下文腐烂
07
什么会导致糟糕的自动压缩?
💬 引用
"糟糕的压缩发生在模型无法预测你的工作方向时。"典型失败模式: 1. 漫长的调试过程 → 触发自动压缩 2. 总结聚焦在调试调查上 3. 你的下一条消息:"现在修一下我们在 bar.ts 里看到的那个警告" 4. 那个警告已经在总结中被丢弃了
关键洞察: 由于上下文腐烂,模型在执行压缩时正处于它最不聪明的时刻。有了 1M 上下文,你有更充裕的时间主动执行 /compact,并附上你接下来计划做什么的描述。
08
子代理:隔离噪音工作
子代理拥有自己全新的上下文窗口。它们完成任务后合成结果——只有最终报告会返回给主会话。
Anthropic 的思维测试:
💬 引用
"我之后还需要这个工具输出吗,还是只需要结论?"适合用子代理的场景: 代码库搜索、验证任务、文档编写——任何会产生大量你不会复用的中间输出的任务。
09
决策矩阵
| 场景 | 工具 | 原因 |
|---|---|---|
| 同一任务,上下文仍然相关 | 继续 | 所有内容都有用;不要浪费 token 重建上下文 |
| Claude 走错了方向 | 回退(双击 Esc) |
保留有用的文件读取,丢弃失败尝试,用经验重新提示 |
| 任务进行中但会话被大量调试内容塞满 | /compact <提示> |
低成本;让 Claude 决定什么重要。用指令引导 |
| 开始全新的任务 | /clear |
零腐烂;你完全控制哪些信息被保留 |
| 下一步会产生大量输出,只需要结论 | 子代理 | 中间噪音留在子上下文里;只有结果返回 |
10
核心要点
- 1M 上下文 ≠ 无限——上下文腐烂仍然会随时间降低性能
- 新任务 = 新会话(紧密关联的工作除外)
- 回退优于纠正——丢弃失败尝试,保留有用的读取
- 主动压缩优于自动压缩——模型在压缩时最不聪明
- 子代理隔离噪音——当你只需要结论时使用,不需要中间步骤