Claude Codeが重いときの対策:コンテキスト注入を減らす監査手順
Claude Codeが重いときの対策:コンテキスト注入を減らす監査手順
基本情報
| 項目 | 内容 |
|---|---|
| 記事種別 | 編集部による実務解説 |
| 分類 | Developer |
| 情報元 | AI News Editorial |
| 公開日 | 2026/06/30 |
| 確認日 | 2026/06/30 |
| 読む目的 | Claude Codeが重い・遅いと感じる主な原因 |
先に押さえること
- Claude Codeが重い・遅いと感じる主な原因
- コンテキストに何が注入されるのか
- CLAUDE.md、rules、auto memory、MCP、hooksの棚卸し方
3行要約
- Claude Codeが重い・遅いと感じる主な原因
- コンテキストに何が注入されるのか
- CLAUDE.md、rules、auto memory、MCP、hooksの棚卸し方
実務コメント
まず新セッションでも重いか確認し、/memoryで読み込まれる情報を確認する。CLAUDE.mdは100〜200行程度に保ち、長い仕様や履歴はdocsへ移す。MCPとhooksは必要最小限にし、巨大ログは全文ではなく抽出して読ませる。
この記事でわかること
- Claude Codeが重い・遅いと感じる主な原因
- コンテキストに何が注入されるのか
- CLAUDE.md、rules、auto memory、MCP、hooksの棚卸し方
- 228KBから48KBへ削るようなcontext slimmingの考え方
- 削ってよい情報・残す情報の判断表
- 小さく始める監査手順
- よくある失敗パターンとFAQ
先に結論:Claude Codeが重いときは「モデル」より先に「注入量」を見る
Claude Codeが重いときの対策は、いきなりモデル変更やPCスペックのせいにする前に、まずコンテキスト注入量を確認することです。
Claude Codeの公式ドキュメントでは、context windowは「Claudeがそのセッションで知っているすべて」を保持する場所であり、ユーザーの指示、読んだファイル、Claude自身の応答、ターミナルには表示されないコンテンツも含まれると説明されています。
公式URL:
[https://code.claude.com/docs/en/context-window](https://code.claude.com/docs/en/context-window)
読者が最初に確認すべき判断軸は、次の3つです。
1. 重いのは「起動時」か「会話中」か「特定操作」か
2. 遅いだけか、それとも直近指示を取りこぼすのか
3. 毎回入る情報と、必要時だけ読む情報が分離できているか
導入・調査・対策に進むべきケースは、次のような場合です。
重要なのは、「重い」と「ボケる」を分けることです。国内のcontext slimming実践記事では、コンテキスト注入を228KBから48KBに削った事例が紹介されており、セッション開始が重いだけなら有効プラグイン数、直近指示の取りこぼしや混線は注入総量が本命になりやすいと整理されています。
実例URL:
[https://zenn.dev/bokuwalily/articles/context-slimming](https://zenn.dev/bokuwalily/articles/context-slimming)
この記事では、その考え方を一般化し、Claude Codeを業務で使う人向けの監査手順に落とし込みます。
| 症状 | よくある原因 | 最初に見る場所 |
|---|---|---|
| セッション開始が重い | CLAUDE.md、auto memory、rules、MCP、hooksが多い | `/context`、`/memory`、設定ファイル |
| 返答が遅い | 長い会話、巨大ログ、読ませすぎたファイル | context window、会話履歴 |
| 直近指示を無視する | 常時注入情報が多すぎて新しい指示が埋もれる | CLAUDE.md、rules、auto memory |
| 前の話題と混線する | 同じセッションで複数案件を進めている | セッション分割 |
| 使用制限に当たりやすい | Subagents、Dynamic Workflows、長文ログの多用 | `/usage`、`/workflows` |
| 毎回同じ検索をする | 静的情報を都度検索している | docs化、キャッシュ、ローカルメモ |
重くなる原因
Claude Codeが重くなる原因は、1つではありません。まず「どの重さなのか」を分けて考えます。
### 原因1:CLAUDE.mdが大きすぎる
CLAUDE.mdは、Claude Codeにプロジェクトのルールや前提を伝えるための重要なファイルです。公式ドキュメントでは、CLAUDE.mdとauto memoryは会話開始時に読み込まれる補完的な記憶システムであり、Claudeはそれらを「強制設定」ではなく「コンテキスト」として扱うと説明されています。
公式URL:
[https://code.claude.com/docs/en/memory](https://code.claude.com/docs/en/memory)
CLAUDE.mdは便利ですが、毎回読まれる情報です。そのため、過去の失敗、長い仕様、議事録、運用メモ、プロンプト集、調査ログを何でも入れると、毎回のセッション開始時に不要な情報まで読み込まれます。
国内事例では、CLAUDE.mdが2,000行近くまで肥大化し、rulesやskillsへ分割して起動時のコンテキスト消費を大きく削減した例もあります。
実例URL:
[https://zenn.dev/pepabo/articles/claude-code-rules-skills-split](https://zenn.dev/pepabo/articles/claude-code-rules-skills-split)
### 原因2:auto memoryが増えすぎる
Claude Codeのauto memoryは、ビルドコマンド、デバッグ知見、プロジェクトの慣習などをClaudeが自動で保存する仕組みです。便利ですが、古い記憶、誤った記憶、一時的なメモが残ると、Claudeの判断を濁らせます。
auto memoryは「自動でよしなに管理される便利機能」ではありますが、チームで長期運用するなら定期的な棚卸しが必要です。重要なチームルールはCLAUDE.mdへ、長い履歴はdocsへ、古い記憶は削除またはdeprecated扱いにします。
### 原因3:rulesやskillsの常時注入が多い
`.claude/rules/` やSkillsは、ルールを分割して管理するのに役立ちます。ただし、設計を間違えると「CLAUDE.mdから分けたのに、結局いつも全部読まれる」状態になります。
本来は、毎回読む情報、パスに応じて読む情報、タスクに応じて読む情報を分けるべきです。
### 原因4:MCPツール定義が多い
Claude CodeはMCPを通じて外部ツール、データベース、API、Issue Tracker、監視ダッシュボードなどに接続できます。公式ドキュメントでは、MCPサーバーによりClaude Codeが外部ツールやデータソースを直接読んだり操作したりできると説明されています。
公式URL:
[https://code.claude.com/docs/en/mcp](https://code.claude.com/docs/en/mcp)
MCPは非常に便利ですが、接続するサーバーが増えるほど、ツール定義、説明、権限、利用可能操作がコンテキストに入る可能性があります。すべての作業にGitHub、Slack、DB、Drive、Notion、ブラウザ、監視ツール、社内APIを常時接続する必要はありません。
使っていないMCPは無効化し、プロジェクトごとに必要なものだけ有効にするのが基本です。
### 原因5:hooksが情報を足しすぎる
Claude Codeのhooksは、ライフサイクルの特定ポイントでシェルコマンド、HTTPエンドポイント、LLMプロンプトなどを自動実行できる仕組みです。公式ドキュメントでは、ファイル編集後のフォーマット、コマンド実行前のブロック、通知、監査などに使えると説明されています。
公式URL:
[https://code.claude.com/docs/en/hooks](https://code.claude.com/docs/en/hooks)
[https://code.claude.com/docs/en/hooks-guide](https://code.claude.com/docs/en/hooks-guide)
hooksは安全対策や自動化に役立ちますが、毎回巨大なログ、git diff、テスト結果、環境情報、ファイル一覧を注入するような設計にすると、コンテキストを圧迫します。
hooksは「強制したい動作」には向きますが、「Claudeに毎回読ませたい大量情報」を流し込む場所ではありません。
### 原因6:巨大ログやファイルをそのまま読ませる
エラーが出たときに、ログ全文、ビルド出力全文、巨大JSON、minifiedファイル、生成物、coverage結果をそのまま読ませると、会話中のコンテキストが急激に膨らみます。
Claude Codeはファイルを読めるため、つい「全部読んで」と頼みがちです。しかし、実務ではまず抽出します。
悪い例:
改善例:
### 原因7:Dynamic WorkflowsやSubagentsを使いすぎる
Dynamic Workflowsは、大規模調査や複数観点レビューに便利です。公式ドキュメントでは、ワークフローは多数のサブエージェントを動かすため、通常の会話より大きなトークンを消費し得ると説明されています。
公式URL:
[https://code.claude.com/docs/en/workflows](https://code.claude.com/docs/en/workflows)
Subagentsも便利ですが、必要以上に分割すると、それぞれが文脈を持ち、調査し、結果を返すため、全体の使用量が増えます。小さな1ファイル修正にDynamic Workflowsや大量Subagentsを使う必要はありません。
このログ全部読んで原因を直して
直近のエラー原因を調べたいです。
まず `npm test` の失敗箇所だけを抽出し、スタックトレース上位20行と関連ファイルだけを確認してください。
巨大ログ全文は読まないでください。| 情報 | 置き場所の例 | 読ませ方 |
|---|---|---|
| 全体方針 | CLAUDE.md | 毎回 |
| frontendだけのルール | `.claude/rules/frontend.md` | frontend作業時 |
| backendだけのルール | `.claude/rules/backend.md` | backend作業時 |
| 記事生成手順 | docsまたはSkill | 記事作成時 |
| 過去の調査ログ | docs/research | 必要時検索 |
コンテキスト注入の棚卸し
Claude Codeが重いときは、まず「何が毎回入っているか」を棚卸しします。
### 棚卸し対象
公式ドキュメントでは、`/memory` コマンドで読み込まれているCLAUDE.md、CLAUDE.local.md、rules、auto memoryの情報を確認できると説明されています。
公式URL:
[https://code.claude.com/docs/en/memory](https://code.claude.com/docs/en/memory)
また、context windowの説明では、Claudeが読んだファイルや応答、非表示コンテンツもセッションの文脈に入るとされているため、単に「自分が入力した文字数」だけで判断しないことが重要です。
公式URL:
[https://code.claude.com/docs/en/context-window](https://code.claude.com/docs/en/context-window)
### 棚卸しプロンプト
まずは、Claude Code自身に「削る前の棚卸し」をさせます。
### 人間が見るべきポイント
Claudeの提案をそのまま適用せず、人間が次の観点で確認します。
このプロジェクトのClaude Codeコンテキスト注入を監査したいです。
まず変更は行わず、以下を確認して表にしてください。
- CLAUDE.md
- CLAUDE.local.md
- .claude/rules/
- .claude/skills/ または関連するSkill設定
- auto memory
- MCP設定
- hooks設定
- docsやREADMEから常時参照されている情報
各項目について、次を出してください。
- ファイルまたは設定
- 役割
- 毎回必要か
- 必要時だけ参照でよいか
- 削減候補
- リスク
- 人間確認が必要か| 対象 | 見ること | 削減方針 |
|---|---|---|
| CLAUDE.md | 行数、古いルール、長い履歴 | 短くする、docsへ逃がす |
| CLAUDE.local.md | 個人メモ、ローカルURL | 必要最小限にする |
| auto memory | 古い記憶、誤記憶、一時メモ | 削除・移動 |
| rules | 常時読み込み化していないか | パス別・用途別に分ける |
| skills | 汎用すぎる説明がないか | 必要時だけ使う |
| MCP | 使っていないサーバーが有効か | disableする |
| hooks | 巨大出力を注入していないか | 要約・制限する |
| 会話履歴 | 複数案件が混ざっていないか | セッション分割 |
| 読み込みファイル | 巨大ファイルを読ませていないか | grep・抽出・範囲指定 |
| コマンド出力 | ログ全文が残っていないか | tail、head、filterを使う |
| 観点 | 確認内容 | |
| ----- | ----------------------- | |
| 重要ルール | 消すと事故るルールではないか | |
| チーム共有 | 個人メモとチームルールが混ざっていないか | |
| 現在性 | 古い仕様が残っていないか | |
| 検索性 | docsに移しても探せるか | |
| 強制性 | CLAUDE.mdではなくhooksにすべきか | |
| 安全性 | secretや個人情報が入っていないか | |
| 再現性 | 削ったあと同じ作業ができるか |
228KBから48KBへ削る発想
国内のcontext slimming実践では、SessionStartで注入されるコンテキストを測定し、228KBから48KBへ削った例が紹介されています。
実例URL:
[https://zenn.dev/bokuwalily/articles/context-slimming](https://zenn.dev/bokuwalily/articles/context-slimming)
この数字そのものは、その環境固有の結果です。すべての人が同じ割合で削れるわけではありません。ただし、実務上の発想は非常に参考になります。
### 発想1:まず測る
削る前に、注入されているものを測ります。感覚で「CLAUDE.mdが悪い」「MCPが悪い」と決めつけるのではなく、どの情報源が大きいかを確認します。
見る対象:
### 発想2:常時注入と必要時参照を分ける
常時注入すべき情報は少数です。
常時注入:
必要時参照:
### 発想3:削除ではなく外部化する
context slimmingは「情報を捨てる」ことではありません。毎回読ませる必要がない情報を、必要時に検索できる場所へ移すことです。
### 発想4:1回で完璧にしない
コンテキスト削減は、リファクタリングと同じです。いきなり大掃除すると必要なルールまで消えます。
おすすめは、次の3段階です。
1. 明らかに古い情報を削る
2. 長い詳細をdocsへ移す
3. 残った常時注入を100〜200行程度に整理する
- セッション開始時に読まれるファイル
- CLAUDE.mdの行数・サイズ
- rulesの数とサイズ
- auto memoryの量
- MCPサーバー数
- hooksの出力量
- 毎回貼っているログや定型文
- プロジェクト概要
- 主要コマンド
- 重要な禁止事項
- 承認が必要な操作
- コーディング規約の要点
- 長期記憶やdocsの場所
- 詳細な設計書
- 過去のトラブルログ
- 長い記事執筆ルール
- 仕様変更の履歴
- エラーパターン集
- 画面別の詳細ルール
- CSVテンプレート仕様
- 大量のFAQ
| 元の置き場所 | 移動先 |
|---|---|
| CLAUDE.mdの長い履歴 | `docs/memory/decisions/` |
| 長い運用手順 | `docs/workflows/` |
| トラブル対応ログ | `docs/troubleshooting/` |
| 記事生成ルール詳細 | `docs/editorial/` |
| API仕様詳細 | `docs/specs/` |
| 個人作業メモ | `CLAUDE.local.md` |
| 強制したいチェック | hooks |
削ってよい情報・残す情報
### 残す情報
### 削ってよい情報
### 判断に迷う情報
判断に迷う場合は、次の質問で決めます。
答えが「はい」ならCLAUDE.mdに残します。答えが「いいえ、必要なときだけ見ればよい」ならdocsへ移します。
この情報がないと、Claudeは毎回危険な判断をするか?| 情報 | 理由 | |
|---|---|---|
| プロジェクトの目的 | 作業判断の前提になる | |
| 主要コマンド | 毎回使う | |
| 禁止事項 | 事故防止に必要 | |
| 承認が必要な操作 | 削除・本番・課金・認証の事故防止 | |
| コーディング規約の要点 | 出力品質に影響する | |
| テスト方針の要点 | 変更後の検証に必要 | |
| docs/memoryの場所 | 詳細を探す入口になる | |
| タスク前の基本手順 | いきなり編集しないため | |
| 情報 | 理由 | 移動先 |
| ---------- | ---------- | -------------------- |
| 古い仕様 | 誤判断の原因 | deprecated付きでdocsへ |
| 長い議事録 | 毎回不要 | docs/meetings |
| 詳細すぎる設計説明 | 必要時だけでよい | docs/specs |
| 過去の失敗談全文 | 要点だけでよい | docs/troubleshooting |
| 大量のプロンプト例 | 毎回不要 | docs/prompts |
| 画面別の細かいルール | 該当作業時だけでよい | rulesやdocs |
| 個人の好み | チーム共有には不要 | CLAUDE.local.md |
| 一時TODO | すぐ古くなる | IssueやTODO.md |
監査チェックリスト
### 1. 症状の切り分け
### 2. CLAUDE.md監査
### 3. auto memory監査
### 4. rules / skills監査
### 5. MCP監査
### 6. hooks監査
### 7. 会話運用監査
- [ ] セッション開始が重い
- [ ] 返答が遅い
- [ ] 直近指示を取りこぼす
- [ ] 前の話題と混線する
- [ ] 使用制限に当たりやすい
- [ ] 特定コマンド後だけ重い
- [ ] 特定リポジトリだけ重い
- [ ] どの時点から重くなったか分かる
- [ ] 100〜200行程度に収まっている
- [ ] 古い仕様が残っていない
- [ ] 長い履歴が入っていない
- [ ] 個人メモが入っていない
- [ ] 主要コマンドが最新
- [ ] 禁止事項が具体的
- [ ] 承認が必要な作業が明記されている
- [ ] 詳細docsへの入口がある
- [ ] `/memory` で内容を確認した
- [ ] 古い記憶を削除した
- [ ] 誤った記憶を削除した
- [ ] 一時的な作業メモを削除した
- [ ] チーム共有すべき情報をCLAUDE.mdまたはdocsへ移した
- [ ] rulesが用途別・パス別に分かれている
- [ ] すべてが常時読み込みになっていない
- [ ] skillsの説明が巨大化していない
- [ ] 古いワークフローが残っていない
- [ ] 必要時だけ参照する設計になっている
- [ ] 使っていないMCPサーバーをdisableした
- [ ] プロジェクトに不要な外部ツールを外した
- [ ] 常時接続が必要なものだけ残した
- [ ] 権限が広すぎない
- [ ] セキュリティ上危険なMCPを無効化した
- [ ] 外部ツールの説明が過剰に注入されていない
- [ ] hookが巨大ログを注入していない
- [ ] コマンド出力を要約している
- [ ] 必要なときだけ実行される
- [ ] 危険操作を止める目的に使えている
- [ ] 情報追加のためだけに乱用していない
- [ ] secretや個人情報を出していない
- [ ] 1セッションに複数案件を混ぜていない
- [ ] 大きなログをそのまま貼っていない
- [ ] 生成物やminifiedファイルを読ませていない
- [ ] 必要ファイルだけ読ませている
- [ ] タスクが終わったら新セッションに切り替えている
- [ ] `/compact` に頼りすぎていない
小さく始める手順
### Step 1. まず新セッションで再現する
重いと感じたら、同じリポジトリで新セッションを開き、軽い依頼を試します。新セッションでも重いなら、起動時注入が疑わしいです。長い会話だけで重いなら、会話履歴や読み込んだログが原因の可能性があります。
### Step 2. `/memory` を確認する
読み込まれているCLAUDE.md、CLAUDE.local.md、rules、auto memoryを確認します。公式ドキュメントでは、`/memory` でこれらの記憶を確認できると説明されています。
公式URL:
[https://code.claude.com/docs/en/memory](https://code.claude.com/docs/en/memory)
### Step 3. CLAUDE.mdを短くする
まずはCLAUDE.mdを「毎回必要な情報」だけにします。長い情報はdocsへ移し、CLAUDE.mdには参照先だけを書きます。
### Step 4. MCPを必要最小限にする
使っていないMCPサーバーをdisableします。GitHub作業をしない日にGitHub MCPが必要とは限りません。DB作業をしない日にDB接続が必要とは限りません。
### Step 5. hooksの出力を制限する
hooksがログを出す場合は、全文ではなく要約にします。
悪い例:
改善例:
さらによい例:
### Step 6. 巨大ログを読ませないルールを入れる
CLAUDE.mdに、ログの読み方を短く入れます。
### Step 7. 1週間後に再棚卸しする
削った直後は軽くなっても、運用でまた増えます。1週間後、1か月後に棚卸しして、増え方を確認します。
## Long-term project notes
Detailed decisions, troubleshooting notes, and workflows are stored under `docs/memory/`.
Before making changes related to editorial articles, CSV templates, release operations, or authentication, search `docs/memory/` and cite the relevant file in your plan.
npm test
npm test 2>&1 | tail -n 80
npm test 2>&1 | grep -E "FAIL|Error|Expected|Received|at " | head -n 80
## Log handling
Do not read huge logs in full.
When debugging, first extract the relevant error lines, stack trace, and related files.
Prefer `tail`, `grep`, and targeted file reads.実務での判断表
| ケース | 推奨対応 |
|---|---|
| 1ファイルの軽い修正が遅い | CLAUDE.md、MCP、hooksを確認 |
| 大規模調査だけ遅い | Dynamic WorkflowsやSubagentsの使用量を確認 |
| 直近指示を取りこぼす | 常時注入情報を削る |
| 毎回同じ前提を説明している | 短くCLAUDE.mdへ |
| CLAUDE.mdが長い | docs、rules、skillsへ分割 |
| MCPが多い | 作業ごとに有効化 |
| hooksが多い | 出力を短く、目的を限定 |
| エラーログで重くなる | grep、tail、要約に変える |
| 複数案件が混ざる | セッションを分ける |
| 仕様を忘れて困る | docs/memoryを検索対象にする |
失敗しやすいパターン
### 失敗1. 何でもCLAUDE.mdに追加する
「また忘れたからCLAUDE.mdに書く」を続けると、CLAUDE.mdが巨大化します。毎回必要なルールだけ入れ、詳細はdocsへ逃がします。
### 失敗2. MCPを便利だから全部つなぐ
MCPは便利ですが、接続先が増えるほどツール定義や権限確認が増えます。必要な作業に必要なMCPだけ使うのが基本です。
### 失敗3. hooksで毎回情報を盛る
hooksは強制や安全対策に向いています。大量情報の注入には向きません。ログやdiffを渡すなら、要約・上限・条件分岐を入れます。
### 失敗4. 巨大ログをそのまま読ませる
ログ全文は、重さだけでなく判断のノイズにもなります。まず失敗箇所を抽出し、必要に応じて周辺だけ読ませます。
### 失敗5. 1セッションで何でもやる
会話が長くなるほど、古い前提や過去の作業が混ざります。案件、PR、記事、調査テーマごとにセッションを分けます。
### 失敗6. 削りすぎる
context slimmingは、情報を消すことではありません。必要な情報まで削ると、Claudeがプロジェクト固有の前提を失います。削るのではなく、常時注入から必要時参照へ移します。
### 失敗7. 速度だけ見て品質を見ない
コンテキストを削ると軽くなる一方、重要なルールも抜ける可能性があります。削減後は、修正品質、テスト成功率、指示遵守率を確認します。
注意点と限界
Claude Codeの重さは、コンテキスト注入だけで決まるわけではありません。
次の要因もあります。
したがって、context slimmingは万能薬ではありません。ただし、CLAUDE.md、auto memory、rules、MCP、hooks、巨大ログを整理するだけで、実務上の「重い」「遅い」「指示が埋もれる」は改善しやすくなります。
特にWeb/EC運用では、CSVテンプレート、商品登録ルール、広告レポート、問い合わせログ、記事作成ルールなど、Claudeに渡したい情報が増えがちです。全部を常時注入するのではなく、必要なときに検索して渡す設計にしてください。
- Claude側のサービス状況
- ネットワーク
- ローカルPCの負荷
- 実行しているコマンドの重さ
- 読み込むリポジトリの大きさ
- 使用モデル
- 使用プランやレート制限
- SubagentsやDynamic Workflowsの使い方
- MCPサーバー側の応答速度
FAQ
### Q1. Claude Codeが重い原因は何ですか?
主な原因は、長い会話履歴、肥大化したCLAUDE.md、auto memory、rules、MCPツール定義、hooksの出力、巨大ログ、読ませすぎたファイル、SubagentsやDynamic Workflowsの使いすぎです。まずは何がコンテキストに入っているかを確認します。
### Q2. Claude Codeが遅いとき、まず何をすればよいですか?
新セッションで再現するか確認し、`/memory` で読み込まれている記憶を確認します。その後、CLAUDE.md、rules、auto memory、MCP、hooksの順で棚卸しします。
### Q3. context slimmingとは何ですか?
Claude Codeに常時注入される情報を棚卸しし、毎回必要な情報だけを残し、詳細はdocsや検索対象へ移すことです。情報を捨てるのではなく、常時注入から必要時参照へ移す考え方です。
### Q4. CLAUDE.mdはどれくらい短くすべきですか?
公式に固定の最適行数があるわけではありません。ただし、毎回読ませるファイルなので、100〜200行程度を目安に短く保つと運用しやすいです。長い仕様や履歴はdocsへ移します。
### Q5. CLAUDE.mdを削ると、Claudeが忘れませんか?
重要なルールまで削ると忘れます。削るべきなのは、毎回読ませる必要がない長い詳細です。CLAUDE.mdには入口と要点を残し、詳細はdocsやrulesへ分けるのが安全です。
### Q6. MCPは無効化した方がよいですか?
使っていないMCPは無効化した方がよいです。MCPは外部ツール連携に便利ですが、常時必要とは限りません。作業に必要なものだけ有効にするのがおすすめです。
### Q7. hooksは重さの原因になりますか?
なります。hooks自体というより、hooksが毎回巨大ログやdiff、環境情報を出す設計だとコンテキストが増えます。hooksは安全対策や強制処理に使い、出力は短く制限してください。
### Q8. `/compact` すれば解決しますか?
一時的には会話履歴を圧縮できますが、根本解決ではありません。CLAUDE.md、auto memory、rules、MCP、hooksが大きければ、新しいセッションでも重くなります。常時注入の棚卸しが必要です。
### Q9. Dynamic Workflowsは重くなりますか?
重くなる可能性があります。Dynamic Workflowsは多数のサブエージェントを動かすため、大きなタスクでは有効ですが、小さな修正に使うと過剰です。公式ドキュメントでも、トークン消費が増え得るため小さく試すことが推奨されています。
公式URL:
[https://code.claude.com/docs/en/workflows](https://code.claude.com/docs/en/workflows)
### Q10. Web/EC運用者でもcontext slimmingは必要ですか?
必要です。EC運用では、商品CSV、広告データ、問い合わせログ、記事ルール、レビュー、キャンペーン情報などをClaudeに渡したくなります。これらを常時注入すると重くなるため、必要時検索、抽出、要約の設計が重要です。
まとめ:Claude Codeが重いときは、まず「毎回読ませている情報」を減らす
Claude Codeが重い、遅い、直近指示を拾わないと感じたときは、まずコンテキスト注入を疑います。
見るべき順番は次の通りです。
1. 新セッションでも重いか確認する
2. `/memory` で読み込み状況を確認する
3. CLAUDE.mdを短くする
4. auto memoryを棚卸しする
5. rulesとskillsを用途別に分ける
6. 使っていないMCPをdisableする
7. hooksの出力を制限する
8. 巨大ログをそのまま読ませない
9. セッションを案件ごとに分ける
10. 削減後に品質も確認する
context slimmingは、単なる軽量化ではありません。Claude Codeに「毎回読むべきこと」と「必要なときだけ探すこと」を分ける情報設計です。これができると、Claude Codeは軽くなるだけでなく、直近指示を拾いやすくなり、作業の再現性も上がります。
関連するAIサービスの比較や、AI協調設計に関する記事も、必要に応じて参照してください。
参考リンク一覧
[https://code.claude.com/docs/en/context-window](https://code.claude.com/docs/en/context-window)
[https://code.claude.com/docs/en/memory](https://code.claude.com/docs/en/memory)
[https://code.claude.com/docs/en/mcp](https://code.claude.com/docs/en/mcp)
[https://code.claude.com/docs/en/hooks](https://code.claude.com/docs/en/hooks)
[https://code.claude.com/docs/en/hooks-guide](https://code.claude.com/docs/en/hooks-guide)
[https://code.claude.com/docs/en/workflows](https://code.claude.com/docs/en/workflows)
[https://code.claude.com/docs/en/sub-agents](https://code.claude.com/docs/en/sub-agents)
[https://zenn.dev/bokuwalily/articles/context-slimming](https://zenn.dev/bokuwalily/articles/context-slimming)
[https://zenn.dev/pepabo/articles/claude-code-rules-skills-split](https://zenn.dev/pepabo/articles/claude-code-rules-skills-split)
[https://tech.enechange.co.jp/entry/2026/03/24/102016](https://tech.enechange.co.jp/entry/2026/03/24/102016)
- Anthropic: Explore the context window
- Anthropic: How Claude remembers your project
- Anthropic: Connect Claude Code to tools via MCP
- Anthropic: Hooks reference
- Anthropic: Automate actions with hooks
- Anthropic: Orchestrate subagents at scale with dynamic workflows
- Anthropic: Create custom subagents
- Zenn: コンテキスト注入を228KBから48KBに削った監査
- Zenn: CLAUDE.md の肥大化を 3 層構造で 83% 軽くした
- ENECHANGE: Claude Code CLAUDE.mdが肥大化する問題とその解決策