Claude Codeは、AnthropicがリリースしたコーディングCLIツールだ。1人SaaS開発の現場で毎日使用する中で、開発体験を大きく変えるツールであると実感している。しかし、適当に使用すると「トークン消費が激しい」「セッションが重く指示が通らない」という壁にぶつかる。
結論として、Claude Codeの運用は「コンテキストの断捨離」と「キャッシュの最適化」が全てだ。ファイルを無計画に読み込ませ、ルールを追加し続けるのは、穴の空いたバケツに水を注ぐ行為に等しい。
この記事では、ThreadPostの開発で実践している、コストを抑えつつ開発効率を最大化する10のテクニックを紹介する。今日から実践できる内容だ。これを読めば、AIとの対話がスムーズになり、月末の請求に対する不安も解消される。
SNS運用を自動化しませんか?
ThreadPostなら、投稿作成・画像生成・スケジュール管理までAIがサポート。
1. スクリプトによるデータ取得の分離
巨大なJSONファイルやログファイルをClaude Codeに丸ごと読ませて、特定の値を計算させるのは非効率だ。AIに計算を任せると、そのファイルがコンテキストとして蓄積され、以降の全ターンでトークンを消費し続ける。
たとえば、事例データが入った50KBのJSONファイルから最新のIDを取得する場合、「このファイルから最新のIDを教えて」と頼むのではなく、Node.jsのワンライナーを実行させて結果だけを受け取るのが賢明だ。
具体的には「node -e でこのJSONの最新IDをコンソールに出力して、その結果を教えて」と伝える。AIがスクリプトを生成して実行し、出力された1つの数字だけをコンテキストに取り込めば、トークン消費は最小限に抑えられる。AIに「読ませる」のではなく、AIに「計算スクリプトを書かせて実行させる」のが鉄則だ。
2. タスクに応じたモデルの使い分け
Claude Codeのカスタムコマンドでは、フロントマターでモデルを明示的に指定できる。全ての作業を最強モデルのSonnetで行う必要はない。
たとえば、ファイルが存在するかどうかのチェック、ディレクトリ構造の確認、単純な文法エラーの修正といった「機械的な作業」は、安価で高速なHaikuに任せるのが正解だ。一方で、複雑なロジックの設計や、UIコンポーネントの新規作成といった「深い思考が必要な作業」にはSonnetを使用する。
カスタムコマンドの先頭に、modelという項目を追加してモデル名を記述するだけで使い分けが可能だ。これにより、コストパフォーマンスを最大化できる。適材適所でモデルを切り替えるのが、賢い開発者のやり方だ。
3. 1ターン完結型のコマンド設計
Claude Codeでカスタムコマンドを自作する際、途中で「進めてもいいですか?」というユーザー確認を挟まないように設計する。確認を挟んでターンが分かれると、モデル指定がリセットされたり、キャッシュの連続性が途切れたりするリスクがある。
チェックから実行、そして完了報告までを一気に1つのターンで完結させるプロンプトを書く。たとえば「まず全ファイルをチェックし、問題がなければ修正を実行し、最後に結果を要約して報告しろ。途中の確認は不要だ」と指示する。
これにより、処理速度が向上し、APIの挙動も安定する。人間が介在する回数を減らすことが、AIのパフォーマンスを最大限に引き出す鍵だ。
4. 常駐コンテキストの「静的・安定」原則
Claude Codeには、CLAUDE.mdや.claude/rulesディレクトリなど、毎セッション自動的に読み込まれる「常駐コンテキスト」がある。ここに何を入れるかが、コストと精度の分かれ目だ。
常駐させていいのは「静的で更新頻度が低く、かつ全セッションに関連する情報」だけに限定する。たとえば、プロジェクトの全体概要や、絶対守るべきコーディング規約などがこれに当たる。
逆に、頻繁に書き換える「今日のタスクリスト」や「最新のバグログ」を常駐ファイルに入れるのは避ける。ファイルが更新されるたびにプロンプトキャッシュが壊れ、毎回フルでトークンを消費することになるからだ。キャッシュを効かせるには「先頭部分を固定する」という意識が欠かせない。
5. ミスログと手順書の階層化
開発中に発生したミスや、特定の作業手順書は、常駐ファイルから分離して「必要な時だけ読み込まれる」ように構成する。
たとえば、ミスログを common-mistakes.md という巨大なファイルにするのではなく、アーカイブ用のディレクトリに移動させる。常駐ファイルには「過去のミスはあのディレクトリを参照しろ」というポインタだけを書いておく。
また、月に一度しか使わないようなデプロイ手順書は、.claude/skills 配下に移動させて「スキル」として登録する。スキルにすれば、AIが必要だと判断した時だけ中身を読み込むようになる。毎セッションの固定費を削り、コンテキストを常にクリーンに保つことが重要だ。
しんたろー:
Claude Codeでコードを書く身からすると、この「常駐コンテキストのダイエット」が効果的だ。セッション開始時の読み込みが速くなり、AIが古い指示に引っ張られなくなる。以前はルールを詰め込みすぎてAIが混乱していたが、整理してからは指示の通りが劇的に良くなった。
6. rulesディレクトリの断捨離
Claude Codeは、.claude/rules 配下にあるファイルを全て自動でロードする仕様だ。これが強力な反面、最大の罠でもある。
たとえば、汎用的なルールパックを導入した結果、自分のプロジェクトでは使用していない言語の規約まで読み込まれているケースがある。これだけで数万トークンを無駄に消費する可能性がある。
対策は簡単だ。使用していない言語のディレクトリやファイルを、.claude/rules ツリーの外へ移動させる。削除する必要はない。ツリーの外にある隠しディレクトリなどに退避させれば、Claude Codeの監視対象から外れる。必要になったら戻せばいい。これだけで、毎セッションの開始コストを削減できる。
ここまで読んだあなたに
今なら無料で全機能をお試しいただけます。設定後はAIが投稿案を毎日生成。確認して選ぶだけ。
7. 注入源の実測と「重い」の切り分け
「最近Claude Codeの反応が遅い」と感じたら、勘に頼らず実測する。何がコンテキストを圧迫しているのかを数字で把握するのが第一歩だ。
ターミナルで wc -c コマンドを使用し、rulesディレクトリやMEMORY.mdなどのファイルサイズを確認する。バイト数を4で割れば、おおよその英語トークン数が見えてくる。
「プラグインが多いから重い」と思っていたら、実は自動保存されたメモリファイルが巨大化していただけ、ということもよくある。何が主犯なのかを特定してから対策を打つ。実測なき改善は迷走だ。
8. Cache Diagnosticsによる分岐特定
Anthropicが提供している「cache diagnostics」を活用する。これは、なぜプロンプトキャッシュが効かなかったのかを分析するための機能だ。
キャッシュが効かない原因は、プロンプトの先頭が1バイトでも変わっていることにある。自分では変えたつもりがなくても、タイムスタンプの挿入や微細な自動更新によってキャッシュが壊れることがある。
この診断機能を使用すれば、リクエストのどの部分で構造が変化したかを特定できる。APIを直接叩くような高度な使い方が必要になるが、コスト最適化を極めるなら避けては通れない道だ。
9. Grepと部分Readの活用
大きなファイルを扱うとき、安易に「全部読んで」と指示してはいけない。Claude CodeのReadツールには、読み込む行数を制限する limit や、開始位置を指定する offset というオプションがある。
「このファイルの全体像を把握して」と言う代わりに、「このファイルの先頭10行と、特定のキーワードが含まれる周辺だけを読んで」と指示する。AIは grep ツールを使用して必要な箇所だけを抽出できる。
必要な情報だけをピンポイントでコンテキストに注入することで、トークンの節約だけでなく、AIの集中力を削がないというメリットも得られる。情報の密度を高め、ノイズを減らすことが、精度の高いコード生成に繋がる。
10. キャッシュ安定化のためのファイル配置戦略
プロンプトキャッシュを最大限に活用するために、コンテキストに注入されるファイルの順番を意識する。
キャッシュは「プロンプトの先頭から一致している部分」までが対象になる。つまり、更新頻度が低い「静的なファイル」を先に読み込ませ、頻繁に変わる「動的なファイル」を後に持ってくるのが鉄則だ。
Claude Codeの内部的な読み込み順序を意識し、rules内のファイル名に番号を振るなどして制御を試みる。先頭の数万トークンが常にキャッシュされている状態を作れれば、レスポンス速度は向上し、コストは劇的に下がる。
しんたろー:
ThreadPostの開発でも、このキャッシュ戦略には助けられている。1人開発では、いかに「AIを自分の分身として安く、速く動かすか」が勝負になる。Claude Codeをただのチャットツールとしてではなく、インフラとして最適化する視点を持つと、開発の景色が変わる。
Claude Code運用テクニック比較表
紹介したテクニックの効果と難易度を一覧にまとめる。自分のプロジェクトで取り入れやすいものから始めるのがいい。
| テクニック | コスト削減効果 | 実装難易度 | おすすめ度 |
| :--- | :--- | :--- | :--- |
| スクリプトによる分離 | 極めて高い | 中 | ★★★★★ |
| モデルの使い分け | 高い | 低 | ★★★★☆ |
| rulesディレクトリ断捨離 | 高い | 低 | ★★★★★ |
| 1ターン完結設計 | 中 | 中 | ★★★★☆ |
| 常駐コンテキストの整理 | 高い | 中 | ★★★★★ |
| 注入源の実測 | 中 | 低 | ★★★★☆ |
| 部分Readの活用 | 中 | 低 | ★★★☆☆ |
| キャッシュ配置戦略 | 極めて高い | 高 | ★★★★☆ |
よくある質問(FAQ)
Q1: なぜClaude Codeはルールファイルを全部読み込むのか。
Claude Codeは、開発者が定義したプロジェクト固有のルールや背景情報を常にAIに意識させるために、rulesディレクトリ内の全ファイルをグローバルなコンテキストとして自動注入する仕様だ。これにより、指示をいちいち繰り返さなくてもプロジェクトの流儀に沿った回答が得られる。しかし、ファイルが増えすぎるとトークン消費が激増するため、定期的な整理が欠かせない。
Q2: キャッシュが効いているか確認する方法はあるか。
APIのレスポンスに含まれる usage 情報の中の cache_read_input_tokens という項目を確認する。ここがゼロより大きい数字になっていれば、キャッシュが正常に機能している証拠だ。逆に、ここが常にゼロである場合は、プロンプトの先頭部分が毎回変わってしまっている可能性がある。常駐ファイルの内容や読み込み順を見直す必要がある。
Q3: rulesファイルを削除せずにコンテキストを軽くする方法はあるか。
ファイルを削除する必要はない。rulesディレクトリのツリー外に移動させるだけで、Claude Codeの自動注入対象から外れる。たとえば、プロジェクトルートに .rules-archive というディレクトリを作り、そこに使用しないファイルを移動させる。必要になった時に mv コマンドで戻せば、すぐに再適用できる。
Q4: 「1ターンで完結させる」と具体的に何が良くなるのか。
Claude Codeのモデル指定やキャッシュの連続性が維持されやすくなる。途中で人間が「OK」などの返答を挟むと、そこでセッションの区切りが発生し、キャッシュの再計算が行われたり、モデルの設定が不安定になったりすることがある。最初から最後までAIに一気通貫で作業をさせることで、処理のオーバーヘッドを減らし、トータルの実行時間を短縮できる。
Q5: スクリプトで計算させるのは、AIの能力を制限することにならないか。
むしろ逆だ。AIが得意なのは「論理的な推論」や「コードの生成」であり、巨大なデータからの「単純な集計」や「値の抽出」はプログラムの方が圧倒的に速くて正確だ。単純作業をスクリプトに任せることで、AIの限られたコンテキスト枠をより高度な思考のために空けておくことができる。これはAIの能力を制限するのではなく、リソースを最適化する技術だ。
まとめ
Claude Codeは、正しく運用すれば1人開発者の武器になる。今回紹介した10のテクニックを実践することで、コストを抑えながら、より高度で高速な開発が可能になる。
- スクリプトで計算を代行させる。
- HaikuとSonnetを使い分ける。
- 1ターンで作業を完結させる。
- 常駐ファイルは静的なものに絞る。
- 手順書はスキル化して分離する。
- 不要なルールファイルはツリー外へ。
- 注入サイズを実測する。
- キャッシュミスの原因を特定する。
- 部分読み込みでノイズを減らす。
- ファイルの並び順でキャッシュを安定させる。
まずは、自分のrulesディレクトリに不要なファイルが混ざっていないか確認する。小さな積み重ねが、大きな開発効率の差となって現れる。

この記事が参考になったら、ThreadPostを試してみませんか?
投稿作成・画像生成・スケジュール管理まで、AIがサポートします。
ThreadPostをもっと知る