Claude Codeが重くなる原因と直し方|コンテキスト管理・トークン節約の実務マニュアル
Claude Codeの性能維持は、単に高性能モデルを選ぶことではありません。実務で効くのは、毎回読ませる情報を減らし、必要な情報だけを正しい場所に置き、重い作業を分離し、使用量を見える化することです。
この記事では、Claude Codeを日常業務や開発で使い続けるためのコンテキスト管理、トークン節約、セッション運用を整理します。
まず結論
- 1タスク1セッションで進める
- 別件に移るときは
/clearで文脈を分ける - 長い会話は
/compactで残す観点を指定して要約する /contextで何がコンテキストを使っているか確認する- 恒久ルールは
CLAUDE.md、長い手順はSkillsへ分ける - MCP、Skills、Subagents、Hooksを増やしすぎない
/usageやstatus lineで使用量を見える化する
性能が落ちる典型原因
| 症状 | よくある原因 | まず見ること |
|---|---|---|
| 返答が遅い | 長い会話、巨大ログ、不要なMCP、重いモデル設定 | /context で内訳を見る |
| 以前より間違える | 古い前提、肥大化した CLAUDE.md、曖昧な依頼 |
新セッション化、ルール整理、完了条件の明確化 |
| 使用制限に当たりやすい | 複数案件を同じ会話で進める、Subagentsを使いすぎる | /usage で24時間/7日の傾向を見る |
| 作り直しが多い | 検証不足、ログの読みすぎ、指示の粒度が粗い | 小さく実装し、検証コマンドを先に決める |
コンテキストに入るものを理解する
Claude Codeのコンテキストには、ユーザーの依頼文やClaudeの回答だけでなく、CLAUDE.md、auto memory、Rules、Skills、MCPツール定義、読んだファイル、コマンド出力、エラー全文、テスト結果、Hookが追加した情報なども入ります。
巨大ログや生成物を何度も読ませると、毎ターン重くなります。まずは必要範囲だけを抽出してから読ませるのが基本です。
<code>/clear</code>、<code>/compact</code>、<code>/context</code>の使い分け

| コマンド | 使う場面 | ポイント |
|---|---|---|
/clear |
案件や目的が変わるとき | 古い会話を引きずらず、新しい文脈で始める |
/compact |
同じタスクを続けるが会話が長いとき | 残したい観点を明示する |
/context |
何が重いか診断したいとき | 会話、ファイル、MCP、Skillsなどの内訳を見る |
おすすめのcompact指示
/compact 現在の実装方針、変更済みファイル、テスト結果、残リスク、絶対に守る制約を中心に残してください
<code>CLAUDE.md</code>は短く、手順はSkillsへ

CLAUDE.mdは毎回読ませる恒久ルールです。長いほど賢くなるわけではなく、重要なルールが埋もれる原因にもなります。
| 置き場所 | 向いている内容 |
|---|---|
CLAUDE.md |
返答言語、セキュリティ、主要コマンド、触ってはいけない範囲などの恒久ルール |
| Skills | PRレビュー、リリース手順、月次レポート、顧客調査など、使う時だけ長い手順が必要なもの |
| Rules / path-scoped rules | 特定ディレクトリやファイル種別にだけ効かせたいルール |
| Memory / Handoff | 過去の決定、失敗原因、次回に渡す文脈 |
<code>CLAUDE.md</code>整理プロンプト
このCLAUDE.mdをレビューしてください。
恒久ルール、詳細手順、一時ログ、古い情報、削除候補に分類し、毎回読むべき内容だけに圧縮してください。
MCPを増やしすぎない

Notion、Google Drive、Slack、GitHubなど、業務データを読む必要があるMCPは便利です。ただし、今週使っていないMCPやCLIで足りる連携まで常時有効にすると、権限管理とコンテキストの負担が増えます。
- 今週使っていないMCPは無効化候補にする
- 似たMCPが重複していないか確認する
- 読み取りだけでよいものに書き込み権限を渡さない
- 顧客データや個人情報を読むMCPには運用ルールを置く
ログと巨大ファイルは先に絞る
テスト失敗や障害調査では、ログ全文を読ませる前に、エラー行・直前直後・スタックトレースだけに絞ります。これだけで速度と精度がかなり変わります。
rg -n "ERROR|WARN|Exception|Traceback|failed|timeout" logs/app.log | head -100
tail -300 logs/app.log
Statuslineで見える化する

Claude Codeのstatus lineを設定すると、モデル名、コンテキスト使用率、コスト、Git branchなどを常時表示できます。重くなる前に気づけるため、長時間作業ではかなり有効です。
/statusline show model name, context percentage, session cost, git branch, and elapsed time
毎日・毎週・毎月のチェックリスト
| 頻度 | 見ること |
|---|---|
| 毎日 | 目的を1つに絞る、必要ファイルだけ読む、ログを絞る、完了条件を指定する |
| 毎週 | /usageで利用傾向を見る、重かったセッションを振り返る、不要MCPを整理する |
| 毎月 | モデル選択、権限、MCP、Hooks、顧客情報の扱いを棚卸しする |
まとめ
Claude Codeを軽く保つコツは、情報を増やすことではなく、置き場所を分けることです。恒久ルールは短く、長い手順はSkillsへ、巨大ログは抽出してから、別件は/clearで分ける。これだけで、作業速度も精度もかなり安定します。
参考リンク
- Claude Code Docs: Explore the context window
- Claude Code Docs: Manage costs effectively
- Claude Code Docs: Customize your status line
最終更新: 2026年6月21日
WRITERライター紹介
黒山結音
NEXT INNOVAITION 代表取締役
「AIは現場で使えなきゃ意味がない」を掲げ、30社以上にAI顧問として導入から定着までサポート。OpenClaw・Claude・ChatGPTなどAIツールを実務でフル活用し、AI駆動経営を実践。本メディアでは、実際の現場で効果が出た事例や、AI初心者がつまずく「最初の一歩」を、専門用語を極力使わずに解説します。
OpenClaw / Claude Code / Codex / Cursor / Manus