Claude Codeを毎日使っていると、ふと「これ月いくらになるんだろう」と不安になる瞬間があります。

公式によると平均$6/日らしいんですが、僕の場合もっといってる気がして、色々調べてみました。結果、知らなかった設定がいくつも出てきたので社内向けにも共有しておきます。

まず現状を把握する

/costで今のセッションのコストが見れます。

❯ /cost
  ⎿  Total cost:            $8.67
     Total duration (API):  25m 16s
     Total duration (wall): 2h 18m 38s
     Total code changes:    898 lines added, 81 lines removed
     Usage by model:
         claude-haiku-4-5:  1.1m input, 20.3k output, 0 cache read, 0 cache write ($1.18)
          claude-opus-4-5:  32.9k input, 59.1k output, 4.9m cache read, 548.0k cache write ($7.50

あと/contextでコンテキストウィンドウの消費状況がカラーグリッドで表示されます。これ知らなかった。

❯ /context
  ⎿  Context Usage
     ⛁ ⛀ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁   global.anthropic.claude-sonnet-4-5-20250929-v1:0 · 104k/20
     ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁
     ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁   Estimated usage by category
     ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁   ⛁ System prompt: 3.3k tokens (1.7%)
     ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁   ⛁ System tools: 16.3k tokens (8.2%)
     ⛀ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   ⛁ Messages: 81.1k tokens (40.6%)
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   ⛶ Free space: 66k (33.1%)
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   ⛝ Autocompact buffer: 33k tokens (16.5%)
     ⛶ ⛶ ⛶ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝
     ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ 

出力トークンが一番高い

料金体系を見て気づいたんですが、出力トークンは入力の5倍くらい高いんですよね。

モデル入力出力
Sonnet 4.5$3/MTok$15/MTok
Opus 4.5$5/MTok$25/MTok
Haiku 3$0.25/MTok$1.25/MTok

つまり、Claudeに長々と出力させると料金が跳ね上がります。

thinking budgetを下げる

thinking budgetはExtended Thinkingモードにおいて、AIの内部推論プロセスに割り当てるトークンの上限を設定する機能です。

Claude Codeはデフォルトでextended thinkingが有効になっていて、thinkingトークンは出力トークンとして課金されます。

デフォルトの予算は31,999トークン。これ、結構大きいです。

# 環境変数で調整できる
export MAX_THINKING_TOKENS=10000

# 完全に無効化もできる
export MAX_THINKING_TOKENS=0

簡単なタスクなら10,000トークンでも十分だと思います。複雑な推論が必要なときだけデフォルトに戻す感じで。

Haikuが12倍安い

Sonnetの1/12の料金でHaikuが使えます。

で、Claude Codeの内蔵Exploreエージェントは実はHaikuを使っているらしいです。つまり、コードベースの調査とか簡単なタスクはHaikuで十分ということ。

サブエージェントを自分で書くときも、modelにhaikuを指定できます。

---
name: simple-task
model: haiku
---

メインエージェントはOpus、サブエージェントはHaikuみたいな使い分けも検討しましょう。

opusplanという裏技

これ知らなかったんですが、/model opusplanというのがあります。

  • プランモード(設計・計画)→ Opus
  • 実行モード(実装)→ Sonnet

自動で切り替わるらしいです。複雑な設計はOpusの頭脳で、実装は安いSonnetで、という使い分け。賢い。

プロンプトキャッシュで90%オフ

同じ内容を繰り返し送ると、キャッシュヒットして90%オフになります。

これは自動で効くんですが、落とし穴があります。

  • thinking budgetを変えるとキャッシュが無効化される
  • セッション途中で設定をいじると損する

なので、設定は最初に決めて変えない方がいいです。

そのほか地味だけどじわじわやってくれる系

細かいけど積み重なると効いてくる設定たち。

auto-compactionを早めに発動させる

# デフォルトは95%で発動
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=50

50%で圧縮が走るようにすると、巨大なコンテキストを引きずらなくて済みます。

非必須のモデル呼び出しを無効化

export DISABLE_NON_ESSENTIAL_MODEL_CALLS=1

フレーバーテキストとか提案とか、なくても困らないやつを止めます。

出力トークンの上限を下げる

export CLAUDE_CODE_MAX_OUTPUT_TOKENS=16000  # デフォルト32,000

MCPサーバーの整理

MCPサーバーは使ってなくてもツール定義がコンテキストを消費します。/mcpで使ってないやつは無効化しておきましょう。

CLAUDE.mdは500行以下に

CLAUDE.mdに書いた内容は毎メッセージで読み込まれます。長くなりすぎると毎回トークンを消費するので、専門的な指示はSkillsに移動して必要なときだけ読み込む方が効率的です。

一番効くのは早めに止める

正直、設定をいじるより効くのは、Claudeが間違った方向に進み始めたらEscapeで即止めることです。

最初はどれだけ長くても、どれだけ間違っていても眺めてしまいます。

でも無駄な出力を生成させない。これが一番のコスト削減かもしれません。/rewindで戻すこともできます。

僕の設定

結局こんな感じに落ち着きました。

# .zshrc
export MAX_THINKING_TOKENS=10000
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=50
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=16000
export DISABLE_NON_ESSENTIAL_MODEL_CALLS=1

劇的に安くなったかというと正直わかりませんwが、気持ち的には安心感があります。

結論

調べてみて思ったのは、Claude Codeのコスト最適化は知ってるかどうかでだいぶ変わるということです。

デフォルト設定がわりと贅沢な方向に振られているので、自分の使い方に合わせて調整する余地はかなりあると思います。

月末の請求が怖い人は試してみてください。


参考:

ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。

  • 選考ではありません
  • 履歴書不要
  • 技術の話が中心
  • 所要時間30分程度
  • オンラインOK

エンジニアと話してみる