100 万的上下文窗口,意味着你现在可以非常靠谱地完成更长、更复杂的任务。比如,让 Claude 从零开始为你搭建一个全栈应用。
但有时候,你可能在做一些前后关联的任务。这时候,你需要保留一部分之前的上下文,但不是全部。举个例子,你刚写完一个新功能,现在要为它写一份使用文档。你当然可以开个新会话,但这意味着 Claude 必须把你刚才写过的所有代码文件重新读一遍--这不仅速度更慢,而且花费也更高。
用"回溯"代替"纠正"
如果非要我挑出一个能代表"优秀上下文管理能力"的好习惯,那一定是用好"回溯(Rewind)"。
在 Claude Code 里,双击 Esc 键(或者运行 /rewind 命令)能让你穿越回之前的任意一条消息,然后从那里重新下发提示词。至于那个节点之后发生的所有对话,都会被从上下文中彻底抛弃。
在纠正 AI 的错误时,"回溯"往往是更高明的做法。举个例子:Claude 读了五个文件,尝试了一种方法,结果失败了。你的本能反应可能是在对话框里敲下:"这招不管用,换 X 方法试试。"但更聪明的做法是,回溯到它刚读完那五个文件的时刻,然后带着你刚学到的教训重新对它说:"别用 A 方法了,foo 模块根本不支持那个--直接去试 B 方法。"
你甚至可以使用"从这里开始总结(summarize from here)"的功能,让 Claude 自己把它学到的教训总结成一段"交接信息"。这感觉就像是那个刚刚踩了坑的"未来版 Claude",给过去那个还没开始行动的自己留下了一张字条。
100 万的上下文窗口,意味着你现在可以非常靠谱地完成更长、更复杂的任务。比如,让 Claude 从零开始为你搭建一个全栈应用。
但有时候,你可能在做一些前后关联的任务。这时候,你需要保留一部分之前的上下文,但不是全部。举个例子,你刚写完一个新功能,现在要为它写一份使用文档。你当然可以开个新会话,但这意味着 Claude 必须把你刚才写过的所有代码文件重新读一遍--这不仅速度更慢,而且花费也更高。
用"回溯"代替"纠正"
如果非要我挑出一个能代表"优秀上下文管理能力"的好习惯,那一定是用好"回溯(Rewind)"。
在 Claude Code 里,双击 Esc 键(或者运行 /rewind 命令)能让你穿越回之前的任意一条消息,然后从那里重新下发提示词。至于那个节点之后发生的所有对话,都会被从上下文中彻底抛弃。
在纠正 AI 的错误时,"回溯"往往是更高明的做法。举个例子:Claude 读了五个文件,尝试了一种方法,结果失败了。你的本能反应可能是在对话框里敲下:"这招不管用,换 X 方法试试。"但更聪明的做法是,回溯到它刚读完那五个文件的时刻,然后带着你刚学到的教训重新对它说:"别用 A 方法了,foo 模块根本不支持那个--直接去试 B 方法。"
你甚至可以使用"从这里开始总结(summarize from here)"的功能,让 Claude 自己把它学到的教训总结成一段"交接信息"。这感觉就像是那个刚刚踩了坑的"未来版 Claude",给过去那个还没开始行动的自己留下了一张字条。