7. 有效沟通
🟢 基础 | 官方最佳实践 #5:你与 Claude 的沟通方式直接影响输出质量。
7.1 像问资深工程师一样提问 🟢
当你加入新项目或探索不熟悉的代码时,把 Claude Code 当成一位资深工程师来提问:
1 | 日志系统是怎么工作的? |
不需要特殊的提示技巧——直接问。这是一个非常有效的入职工作流,可以加速熟悉新代码库、减少对其他工程师的打扰。
沟通模式选择 🟢
![[Pasted image 20260304163556.png]]
| 模式 | 适用场景 | 示例 |
|---|---|---|
| 提问模式 | 理解代码、学习架构 | “这个模块是怎么工作的?” |
| 指令模式 | 明确的实现任务 | “为 auth.ts 添加 JWT 刷新,运行测试验证” |
| 采访模式 | 大型功能、需求不明确 | “采访我关于这个功能的需求” |
| 对话模式 | 探索性任务、方案讨论 | “这个文件有什么可以改进的?” |
7.3 采访模式的深度用法 🟡
采访模式不仅适用于需求收集,还适用于:
方案评审:
1 | 我打算用 Redis 做分布式锁来解决并发问题。 |
架构探讨:
1 | 我想把单体应用拆分成微服务。 |
事后复盘:
1 | 刚修完一个严重 bug。 |
Boris Pro Tip B9:Boris 和团队使用挑战式提示来获得更好的结果:
- "grill me on these changes and don't make a PR until I pass your test" — 让 Claude 当你的 reviewer
- "prove to me this works" — 让 Claude diff main 和 feature branch 的行为差异
- "knowing everything you know now, scrap this and implement the elegant solution" — 中庸方案不满意时,让 Claude 推倒重来
- "play devil's advocate" — 让 Claude 站在反方论证
这些提示利用了 Claude 的推理能力,比简单的”帮我实现 X”能得到更深思熟虑的结果。
7.4 沟通的常见误区 🟢
| 误区 ❌ | 改进 ✅ |
|---|---|
| 一次给太多不相关任务 | 一次专注一个任务,完成后 /clear |
| 反复修正同一个错误 | 修正两次后 /clear,用更好的提示词重新开始 |
| 用”改善”、”优化”等模糊词 | 给出具体目标和验证标准 |
| 不提供错误信息就说”有 bug” | 粘贴完整错误信息和复现步骤 |
| 不指定参考文件 | 用 @ 引用,或指明参考模式 |
| 让 AI 猜你想要什么风格 | 指向项目中已有的代码作为参考 |
7.5 Output Styles(输出风格)🟡
通过 /config 设置输出风格,改变 Claude 的回复方式:
| 风格 | 效果 | 适用场景 |
|---|---|---|
| Explanatory | Claude 解释每个修改的 why | 入职新代码库、代码审查学习 |
| Learning | Claude 像教练一样引导你修改 | 学习新语言/框架、培训初级工程师 |
| 自定义 | 按你的偏好调整 Claude 的语气和格式 | 团队统一风格、个人习惯 |
1 | /config |
团队提示:新人入职代码库时,启用 Explanatory 风格可以加速理解。Claude 不只是改代码,还会告诉你为什么这样改。
![[Pasted image 20260304163627.png]]
7.6 Bug 修复的高效沟通 🟡
Claude Code 团队分享的零上下文切换 Bug 修复流程:
1 | # 从 Slack 直接修复(需配置 Slack MCP) |
关键原则:不要微管理 how,只说 what。让 Claude 自己决定修复路径。
7.7 Claude Code 团队的沟通建议 🟡
来自 Anthropic 内部团队的实践:
- 越具体越好:与其说”修复这个”,不如说”检查
src/auth/middleware.ts第 45 行的 token 验证逻辑” - 提供约束:”不引入新的第三方依赖”、”保持与现有模式一致”
- 说明”为什么”:”我需要添加缓存,因为这个接口 P99 延迟是 2 秒” 比 “添加缓存” 更好
- 给出例子:模糊的需求 + 一个示例 = 清晰的需求
8 管理你的会话
🟡 进阶 | 官方最佳实践 #6:上下文窗口是最重要的资源。
8.1 理解上下文窗口 🟢
Claude 的上下文窗口(~200K tokens)包含了会话中的所有内容。
每个功能在会话的不同点加载。下面的选项卡说明每个功能何时加载以及什么进入上下文。
![[Pasted image 20260304163708.png]]
![[Pasted image 20260304163716.png]]
核心认知:一次调试会话或代码库探索就可能产生数万 token。当上下文接近上限时,Claude 可能”遗忘”早期指令或犯更多错误。
8.2 及早纠正 🟢
最好的结果来自紧凑的反馈循环:
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 停止 | Esc | 立即停止 Claude,保留上下文 |
| 回退 | Esc + Esc 或 /rewind | 打开回退菜单,恢复到检查点 |
| 撤销 | “Undo that” | 让 Claude 撤销最近的修改 |
| 重置 | /clear | 清空上下文,开始新任务 |
关键规则:如果你已经修正了 Claude 两次,上下文已经被失败方案污染。运行 /clear 并用更好的提示词重新开始——干净会话 + 好提示词 几乎总是优于 长会话 + 反复修正。
8.3 积极管理上下文 🟡
上下文管理策略决策树
![[Pasted image 20260304163735.png]]
/clear:最简单也最有效的策略
1 | /clear # 在不相关的任务之间清空上下文 |
在切换任务时清空上下文,让新任务获得干净的上下文。
自动压缩(Auto Compaction)
当上下文接近上限时,Claude Code 自动触发压缩,保留关键代码和决策,释放空间。
你可以在 CLAUDE.md 中自定义压缩行为:
1 | # 压缩指令 |
也可以手动触发带指令的压缩:
1 | /compact 聚焦 API 变更和测试结果 |
部分回退压缩
使用 Esc + Esc 或 /rewind 打开回退菜单,选择一个消息检查点,然后选择 Summarize from here。这会从该点开始压缩后续消息,同时保留更早的上下文。
8.4 使用子代理隔离探索 🟡
由于上下文是你的核心约束,子代理是最强大的工具之一:
![[Pasted image 20260304163752.png]]
子代理探索代码库、读取文件,然后只返回摘要到主会话,不污染主上下文。
8.5 检查点与回退 🟢
Claude 在每次操作前自动创建检查点。按两次 Esc 或运行 /rewind 打开回退菜单:
- 仅恢复会话
- 仅恢复代码
- 两者都恢复
- 从某点开始压缩
检查点跨会话持久化——你可以关闭终端,下次仍然可以回退。
提示:检查点只追踪 Claude 的修改,不能替代 Git。
8.6 恢复会话 🟢
1 | claude --continue # 继续当前目录最近的会话 |
Boris 经常用 --teleport 把 claude.ai/code 上的 Web 会话拉回本地终端继续,比如在 iOS 上开始任务、稍后在电脑上接手。
使用 /rename 给会话命名,像分支一样管理不同工作流的上下文。
会话选择器快捷键
| 快捷键 | 操作 |
|---|---|
| ↑/↓ | 浏览会话 |
| Enter | 选择并恢复 |
| P | 预览会话内容 |
| R | 重命名会话 |
| / | 搜索过滤 |
| B | 按当前 Git 分支过滤 |
8.7 Token 效率目标 🟡
| 指标 | 目标 | 说明 |
|---|---|---|
| 基础上下文消耗 | < 20K tokens | 占 200K 上下文的 10% |
| CLAUDE.md 大小 | < 2000 tokens | 60-80 行以内 |
| MCP 工具定义总量 | < 20K tokens | 默认预加载,空闲也占空间 |
| 上下文清理频率 | 每 ~60K tokens | 在 30% 而非上限时清理 |
| Bash 输出截断 | 尾部 30 行 | npm test 2>&1 |tail -30 |
上下文效率优化清单
| 优化方向 | 方法 |
|---|---|
| 减少 MCP 开销 | 禁用不使用的 MCP 服务器,默认预加载时空闲也占上下文 |
| CLI 优于 MCP | 能用 gh、aws CLI 的场景,优先用 CLI |
| 具体化提示 | “改善代码库” → 全面扫描;”给 auth.ts 添加验证” → 精准高效 |
| CLAUDE.md 瘦身 | 不常用指令移到 Skills |
| Hooks 预处理 | 用 Hook 过滤 10000 行日志只剩 ERROR 行 |
| 安装代码智能插件 | 一次 “go to definition” 比 grep 多个文件更省 token |
监控上下文
通过自定义状态栏持续显示上下文使用情况(配置详见 6.9):
1 | /statusline |
Boris Pro Tip B10:Boris 同时运行 5 个 Claude 会话(Desktop 多窗口 + 终端),并配置了系统通知 Hook。当任何一个会话需要他的注意时,macOS 会弹出通知。这让他可以发起多个任务、去做其他事,等通知再回来处理。