<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>进阶技巧 on Time Friend</title><link>https://time-friend.com/zh/tags/%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7/</link><description>Recent content in 进阶技巧 on Time Friend</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Fri, 06 Mar 2026 11:10:00 +0000</lastBuildDate><atom:link href="https://time-friend.com/zh/tags/%E8%BF%9B%E9%98%B6%E6%8A%80%E5%B7%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>几轮对话后 Claude 变笨了</title><link>https://time-friend.com/zh/archive/claude-code-advanced-practices/</link><pubDate>Fri, 06 Mar 2026 11:10:00 +0000</pubDate><guid>https://time-friend.com/zh/archive/claude-code-advanced-practices/</guid><description>&lt;p&gt;用了几个月 Claude Code 之后, 我遇到了一个奇怪的现象: 同一个会话, 做到后面感觉 Claude 变蠢了。&lt;/p&gt;
&lt;p&gt;不是你的错觉, 也不是模型的问题。是上下文炸了。&lt;/p&gt;
&lt;h2 id="上下文是怎么炸的"&gt;上下文是怎么炸的&lt;/h2&gt;
&lt;p&gt;Claude 的工作记忆是有限的。会话一开始, 它清楚地记得目标是什么、做了哪些决策、还有哪些事没做完。到了第 50 轮, 上下文里塞满了走过的弯路、讨论过的方案、和你争论的对话历史。&lt;/p&gt;
&lt;p&gt;输出质量下降是必然的。&lt;/p&gt;
&lt;h2 id="每轮对话都是检查点"&gt;每轮对话都是检查点&lt;/h2&gt;
&lt;p&gt;Claude Code 有一个很方便的机制: &lt;strong&gt;每发出一条 prompt 就会自动创建一个快照&lt;/strong&gt;。不只是记对话, 还会快照被修改的文件状态。&lt;/p&gt;
&lt;p&gt;按两次 &lt;code&gt;Escape&lt;/code&gt; 或者输入 &lt;code&gt;/rewind&lt;/code&gt;, 会打开回退菜单。你可以选择:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;只回退对话&lt;/li&gt;
&lt;li&gt;只恢复代码&lt;/li&gt;
&lt;li&gt;两者都回退&lt;/li&gt;
&lt;li&gt;从某个节点开始压缩&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有了这个, 你可以大胆地让 Claude 尝试高风险方案。不行就回退, 不丢任何代码。检查点会随会话保存, 关掉终端回来还能继续回退。&lt;/p&gt;
&lt;p&gt;但要注意: 检查点只追踪 Claude 通过编辑工具做的修改。通过 Bash 命令或外部进程改的东西不在此列。它不是 git 的替代品。&lt;/p&gt;
&lt;h2 id="几个习惯-保持上下文干净"&gt;几个习惯, 保持上下文干净&lt;/h2&gt;
&lt;h3 id="走偏了立刻打断"&gt;走偏了立刻打断&lt;/h3&gt;
&lt;p&gt;按 &lt;code&gt;Escape&lt;/code&gt; 中断它。按两次 &lt;code&gt;Escape&lt;/code&gt; 打开回退菜单, 可以回滚到之前的状态。&lt;/p&gt;
&lt;p&gt;我踩过的一个坑: 当 Claude 反复回到一个错误假设的时候, 我下意识用了 &lt;code&gt;/compact&lt;/code&gt;。结果它把那个错误假设也保留了, 问题没解决。正确做法是:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;最好的是 &lt;code&gt;/clear&lt;/code&gt; 清空, 用更精确的 prompt 重新开始&lt;/li&gt;
&lt;li&gt;如果你想保留当前的关键上下文, 用 &lt;code&gt;/compact 只保留 API 变更相关的部分, 丢掉调试过程&lt;/code&gt;——加上 focus 指令告诉它该留什么&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="常用命令"&gt;常用命令&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;/clear&lt;/code&gt;&lt;/strong&gt;: 任务之间清空上下文, 别让上个任务的逻辑污染下个任务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;/compact&lt;/code&gt;&lt;/strong&gt;: 加 focus 指令, 用在长而连贯的会话里, 保留关键部分丢掉噪音&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subagent&lt;/strong&gt;: 把大量研究类的工作交给它, 在独立上下文里完成, 还你一个总结&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;/rename&lt;/code&gt;&lt;/strong&gt;: 给重要的会话打标签, 方便之后找回&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="我自己用的土办法"&gt;我自己用的土办法&lt;/h3&gt;
&lt;p&gt;每次完成一个逻辑单元——一个函数、一个组件——就 &lt;code&gt;git commit&lt;/code&gt;, 然后 &lt;code&gt;/clear&lt;/code&gt;, 再开始下一个。&lt;/p&gt;</description></item></channel></rss>