Tips & Tricks

Claude Code 提速指南 | 响应慢的原因与实现3倍提速的实战配置

找出Claude Code响应缓慢的根本原因,公开实际实现3倍提速的配置、提示词设计和并行执行技巧。分享每天使用中总结出的速度优化精髓。

“Claude Code 最近是不是变慢了?”

我每天用 Claude Code 自动生成这个网站的文章,第一周也有同样的烦恼。原来每篇文章需要 15 分钟,调整配置后缩短到平均 4~5 分钟,大约提速了 3 倍。

这篇文章将从Claude Code 为什么会变慢这一根本原因出发,介绍我实际测试过且确实有效的速度优化技巧。不仅告诉你”怎么让它更快”,还会让你理解”为什么这样做会更快”。

Claude Code 为什么会变慢

优化速度之前,准确把握原因非常重要。Claude Code 响应缓慢的原因主要有三个。

原因1:上下文体积膨胀

Claude Code 调用 API 时会将整个会话的对话历史作为上下文传入。对话越长,每次发送的数据量就越大,响应就越慢。

会话刚开始:上下文 ~2,000 tokens  → 很快
1小时后:   上下文 ~30,000 tokens → 变慢
半天后:    上下文 ~80,000 tokens → 极慢(或报错)

根据我的体感,上下文超过 50,000 tokens 后,感知速度会降到一半以下

原因2:读取文件过多

给出"把整个仓库都读一遍理解后再实现"这样的指令时,Claude Code 会尝试读取大量文件。执行数十次 Glob 和 Grep 时的等待时间,几乎全部都是”读取文件的时间”。

原因3:模型处理负载

Opus 性能强大,但生成响应需要更多时间。很多简单任务也在使用 Opus,这对任务来说性能过剩


对策1:养成使用 /compact 的习惯

即效性最高的对策。Claude Code 有 /compact 命令,执行后可以压缩、总结对话历史,大幅减少上下文体积。

# 在 Claude Code 的 REPL 中执行
/compact

我养成了每隔1小时或每完成一个工作阶段就执行 /compact 的习惯。仅此一点,感知速度就能提升 1.5~2 倍。

新任务开新会话

不需要继承上一个任务上下文的新任务,重启 Claude Code 开一个新会话会更快。重启只需不到 5 秒。

# 退出后重启
exit
claude

如果”也想参考之前的工作”,只把必要信息在 /init 后粘贴进去,比继承长对话历史结果上更快、更准确。


对策2:明确缩小指令范围

减少不必要的文件读取,可以带来显著的速度提升。

Before / After 对比

# ❌ 慢:范围太宽泛
claude -p "修复这个项目里的 bug"
# → Glob → Read × 数十次 → 耗时很长

# ✅ 快:限定范围
claude -p "修复 src/api/auth.ts 第108行缺少的 null 检查"
# → Read 1次 → 修复完成

我常用的模式:

# 只让它读取特定文件
claude -p "只读以下文件并进行修复,其他文件不需要读:
- src/components/Button.tsx
- src/styles/button.css
问题:hover 时样式未生效"

只需加上”其他文件不需要读”这一句话,不必要的探索行为就会停止。


对策3:按任务选择合适的模型

所有任务都用 Opus,在速度上也是一种浪费。

Opus:   复杂的架构设计 · 困难的调试 · 代码审查
Sonnet: 通用实现 · 重构 · 文档
Haiku:  翻译 · 格式化 · 简单转换

在 Claude Code 中切换模型

# 会话中切换模型
/model claude-sonnet-4-6

# 速度参考:体感上 Sonnet 比 Opus 快 2~3 倍

我运营这个网站的实际分工:

  • 文章日语正文 → Sonnet(结构质量足够好,比 Opus 快)
  • 多语言翻译 → Haiku(翻译质量实用上没问题,速度快得多)
  • 架构讨论·复杂实现 → Opus(只在这里优先保证质量)

通过这样的分工,每篇文章的生成时间从 15 分钟缩短到了 4 分钟


对策4:用子代理实现并行执行

将繁重的处理并行化,可以大幅缩短总耗时。

翻译并行执行(我实际使用的方法)

// ❌ 顺序翻译:9种语言 × 30秒 = 270秒(4.5分钟)
for (const lang of languages) {
  await translate(article, lang);
}

// ✅ 用 Agent tool 并行委托:耗时 = 最慢的语言的时间 ≈ 约30秒
// (这个网站将任务批量委托给子代理后,从8分钟缩短到了1.5分钟)
Agent({
  prompt: `将 ${article} 翻译为9种语言并分别保存文件:EN/DE/ES/FR/HI/ID/KO/PT/ZH`
})

子代理在独立的上下文中运行,不会污染主上下文。这也有助于提升速度。


对策5:利用提示词缓存加速输入

反复使用相同的 system prompt 时,提示词缓存生效后输入处理速度可提升约10倍,体感速度也会有明显改善。

// 只需添加 cache_control
system: [
  {
    type: "text",
    text: longSystemPrompt,
    cache_control: { type: "ephemeral" },
  },
],

在5分钟内重复使用同一 system prompt 时,第2次之后的速度会明显快于第1次。


对策6:用 CLAUDE.md 减少多余探索

在 CLAUDE.md 中写明”使用的命令”、“目录结构”、“禁止读取的路径”,Claude Code 就能直接行动而不会迷路。

# 项目规范

## 常用命令(每次不用再去查)
- 构建:npm run build
- 测试:npm run test
- 部署:bash scripts/deploy.sh

## 目录结构
- src/components/:UI 组件
- src/pages/:路由
- src/content/blog/:博客文章(MDX)

## 重要:以下路径无需读取
- node_modules/
- .wrangler/
- site/dist/

写好这些之后,Claude Code 花在”该读哪里”上的轮次减少,整体速度随之提升。


实际速度改善数据(本站案例)

以下是这个网站(claudecode-lab.com)的实际数据,供参考。

任务优化前优化后节省比例
文章生成(日语)8分钟2.5分钟节省69%
9语言翻译7分钟1.5分钟节省79%
构建 + 部署13分钟11分钟节省15%
合计(每篇文章)28分钟15分钟节省46%

进一步落实 /compact 和会话管理后,目前每篇文章稳定在 10~12 分钟以内。


速度优化清单

按照应该优先确认的顺序排列。

现在就能做(1分钟以内):
□ 执行 /compact 压缩上下文
□ 重启使用时间较长的会话
□ 将翻译、格式化类任务切换到 Haiku

今天要做(30分钟):
□ 在 CLAUDE.md 中注明"无需读取的目录"
□ 在 CLAUDE.md 中记录常用命令
□ 养成将大任务拆分为"范围明确的小任务"的习惯

本周要做:
□ 在反复执行的批量处理中添加 cache_control
□ 建立用 Agent tool 委托可并行任务的模式
□ 制定模型分工规则并写入 CLAUDE.md

总结

Claude Code 速度慢的根本原因是**“上下文膨胀”和”文件探索低效”**。只要意识到这两点,体感速度就会大幅改变。

我认为效果最显著的措施优先级:

  1. 养成使用 /compact 的习惯(即效性高,零成本)
  2. 按任务选用合适的模型(仅将翻译切换到 Haiku 就能带来显著改善)
  3. 明确指定指令范围(只需加上”其他文件不需要读”这一句话)
  4. 向子代理并行委托

不需要一次性全部实施。仅仅将 /compact 融入今天的工作,应该就能明显感受到速度的提升。

相关文章

#claude-code #performance #optimization #prompt-engineering #productivity

让你的 Claude Code 工作流更上一层楼

50 个经过实战检验的提示词模板,现在就能复制粘贴到 Claude Code 中使用。

免费

免费 PDF:5 分钟看懂 Claude Code 速查表

只需留下邮箱,我们就会立即把这份 A4 一页速查表 PDF 发送给你。

我们会严格保护你的个人信息,绝不发送垃圾邮件。

Masa

本文作者

Masa

深度使用 Claude Code 的工程师。运营 claudecode-lab.com——一个涵盖 10 种语言、超过 2,000 页内容的科技媒体。