Claude Code のコスト管理テクニックをマスターし、より少ないトークンでより多くの作業を完了する
費用最適化ガイド¶
Claude Code でコードを書くのは爽快ですが、使用量に注意しないと請求書に「サプライズ」が待っているかもしれません。このガイドでは、費用がいかに產生されるか、そして効率を落とさずに的成本を適切にコントロールする方法を解説します。
Token 課金の理解¶
費用最適化する前に、課金の根本的なロジックである Token を理解する必要があります。
Token とは¶
Token は AI モデルがテキストを処理する最小単位です。モデルの「文字」と考えてください:
- 英語:1 Token は約 4 文字、または 0.75 語に相当
- 中国語:1 文字は約 1〜2 Token(平均約 1.5 Token)
- コード:変数名、キーワード、記号はそれぞれ異なる量の Token を消費
簡単な見積もり参考:
| 內容 | おおまかな文字数/行数 | おおまかな Token 数 |
|---|---|---|
| 短い中文の要件説明 1 文 | 100 文字 | ~150 tokens |
| 200 行の TypeScript ファイル | ~5000 文字 | ~1500 tokens |
| コンテキストを含む典型的な会話入力 | — | 5,000〜20,000 tokens |
| Claude Code のシステムプロンプト | — | ~8000 tokens |
入力 vs 出力 Token¶
Claude と対話するたびに、費用は次の 2 つの部分で構成されます:
総費用 = 入力 tokens × 入力単価 + 出力 tokens × 出力単価
重要なポイント:出力 token の価格は通常、入力 token の 5 倍です。Sonnet 4.6 を例にとると:
| 種類 | 価格(ドル/百万 tokens) | 1000 tokens の費用 |
|---|---|---|
| 入力 | $3.00 | $0.003 |
| 出力 | $15.00 | $0.015 |
| キャッシュ読み取り | $0.30 | $0.0003 |
つまり:Claude に長い文章を生成させる方が、大量のコンテキストを提供するより高価です。
典型的な会話で消費される Token 量¶
Sonnet 4.6 を例に、いくつかの一般的なシナリオの費用を見積もります:
| シナリオ | 入力 tokens | 出力 tokens | 見積もり費用 |
|---|---|---|---|
| 単純な Q&A(コードの一部分を説明) | 3,000 | 500 | $0.017 |
| 関数の修正 | 8,000 | 1,500 | $0.047 |
| 新規コンポーネントの作成(ファイル読み込み含む) | 15,000 | 3,000 | $0.090 |
| 複雑な機能開発(多ターン会話) | 50,000 | 15,000 | $0.375 |
| 大規模リファクタリング(10+ ファイル) | 200,000 | 50,000 | $1.350 |
上記の数字は参考値であり、実際の費用はコード量、会話のターン数、コンテキストのサイズによって異なります。
モデル選択戦略¶
正しいモデルを選ぶことが最も直接的な節約方法です。モデル間の価格差は非常大いです。
3 種類のモデルの位置づけ¶
| モデル | 入力価格 | 出力価格 | 位置づけ |
|---|---|---|---|
| Haiku 4.5 | $1.00 | $5.00 | 軽量高速、日常的なシンプルタスク |
| Sonnet 4.6 | $3.00 | $15.00 | 最適なバランス、メインモデル |
| Opus 4.6 | $5.00 | $25.00 | 最強の頭脳、複雑なタスク |
費用比較:同じ средней сложности タスク(入力 10K、出力 3K tokens)を完了する場合:
- Haiku:$0.025
- Sonnet:$0.075
- Opus:$0.125
Sonnet は Haiku の 3 倍、Opus は Haiku の 5 倍です。
モデル選択の原則¶
日常は Sonnet を第一選択(80% のタスクはこれで十分)
以下のシナリオでのみ Opus に切り替え:
- 複雑なアーキテクチャ設計と技術的意思決定
- 大規模コードリファクタリング
- 複数のシステムにまたがる跨ぐモジュール修正
- 深い推理が必要な難解なバグ
以下のシナリオでのみ Haiku に切り替え:
- 単純なフォーマット変換
- 反復的なコード生成(例:CRUD インターフェース)
- 高速 Q&A(一言で答えられる質問)
- コードコメントとドキュメンテーション生成
/model コマンドでいつでも切り替え可能:
/model sonnet # Sonnet に切り替え
/model opus # Opus に切り替え
/model haiku # Haiku に切り替え
コンテキスト管理の節約テクニック¶
コンテキスト管理は費用最適化の核心です。各ターンの会話で、Claude は 이전 のすべての会話履歴を再送信します。这意味着对话越长,每一轮的输入 token 就越多。
/compact で履歴を圧縮¶
会話が 10 ターン以上になったら、あるいは응답 が遅くなったと感じたら、/compact を使用して压缩します:
/compact
/compact を使用すると、Claude が 이전 の会話を简潔なサマリーにまとめ、完整な履歴の代わりにします。これにより、次回の会話の入力 token が大幅に削減されます。
使用のタイミング:
- 会話が 10 ターンを超えた場合
- サブタスクが完了し、次のサブタスクを始める場合
- Claude の응답 品質が低下していると感じたら(コンテキスト過負荷のシグナル)
/clear で完全にクリア¶
完全に異なるトピックに切り替える場合は、迷わず /clear を使用します:
/clear
使用のタイミング:
- 機能 A の開発から機能 B に切り替える場合
- デバッグが完了し、新しいコードを書く場合
- 会話が方向からそれてしまい、最初から始めたい場合
/clear を使用しない代償:以前的会話履歴が 50K tokens ある場合、话题を変えても各ターンで白白にこの 50K tokens の费用を支払うことになります。Sonnet で计算すると、每ターン追加で $0.15 の费用が発生します。10 ターンで $1.5 が無駄になります。
精密な @ 参照¶
Claude にファイルを自分で搜索させる vs ファイルを直接参照させるでは、cost が大き異なります:
# 高価!Claude は関連するコードを見つけるために数十ファイルを搜索する可能性がある
"帮我修改用户注册逻辑中的邮箱验证部分"
# 安価!Claude にどこを変更するか直接伝える
"修改 @src/services/auth-service.ts 中 validateEmail 方法的正则表达式"
どのファイルを編集するか分かっている場合は、常に @ を使用して直接参照してください。Claude に搜索させると不仅更贵,結果も必ずしも正確ではありません。
.claudeignore で大きなファイルを排除¶
以下の类型的ファイルが .claudeignore に含まれていることを確認してください:
# これらのファイルが Claude に読み込まれると、大量の token を消費する
node_modules/ # 数万个ファイルが存在することも
dist/ # ビルド产物
*.min.js # 圧縮された JS
*.sql # データベース dump
*.csv # データファイル
package-lock.json # ロックファイル(内容が巨大)
pnpm-lock.yaml # ロックファイル
yarn.lock # ロックファイル
** реальный ケース**:あるユーザーが費用異常高水平に気づき、调查の結果、Claude がコードを検索する際に 50MB の SQL dump ファイルを読み込んでいたことが判明しました。1 回で的消费了約 15M tokens(約 $45 の入力費用)。
キャッシュメカニズムの活用¶
Prompt Caching は Claude API の非常に重要な節約機能です。
Prompt Caching とは¶
連続した多ターン会话がある場合、各ターンで 이전 のすべての内容が再送信されます。キャッシュがなければ每次完全入力価格での課金になります。キャッシュがあれば:
- 初回送信:通常の入力価格(キャッシュ書き込み価格はやや高い)
- 以降送信:同じ内容はキャッシュにヒットし、キャッシュ読み取り価格(1/10 のみ)
Sonnet 4.6 を例にとると:
| 種類 | 価格/百万 tokens | 通常の入力との比較 |
|---|---|---|
| 通常の入力 | $3.00 | 100% |
| キャッシュ書き込み | $3.75 | 125% |
| キャッシュ読み取り | $0.30 | 10% |
つまり、キャッシュヒット時は 1/10 の価格のみで済みます。
キャッシュを効果的に活用する方法¶
キャッシュは自動的に有効になりますが、使用習慣によってキャッシュヒット率を高めることができます:
会話を連続させる:
# 良い習慣:同じ機能の开发を同一会話で続ける
> "UserService の基本構造を作成"
> "getUserById メソッドを追加" # 前半の 내용이キャッシュにヒット
> "updateUser メソッドを追加" # 前半の 내용이キャッシュにヒット
> "ユニットテストを追加" # 前半の内容がキャッシュにヒット
# 悪い習慣:一言話すたびに /clear
> "UserService の基本構造を作成"
> /clear
> "UserService に getUserById メソッドを追加" # キャッシュを利用できない
> /clear
> "UserService に updateUser メソッドを追加" # キャッシュを利用できない
CLAUDE.md を频繁に変更しない:
CLAUDE.md の内容は各ターンで送信されます。内容が安定していれば、長期的にキャッシュにヒットします。頻繁に変更するとキャッシュが無効になります。
適切な /compact のタイミング:
/compact は履歴を置き換えるため、キャッシュが無効になります。あまり頻繁に使用しないでください——会話真的很长时才使用。
キャッシュの効果有多大¶
10 ターンの会話で、各ターンの入力が約 20K tokens(履歴を含む)の場合:
| キャッシュなし | キャッシュあり(90% ヒット率) | |
|---|---|---|
| 総入力 tokens | 200K | 200K |
| 通常の価格で課金 | 200K | 20K |
| キャッシュ価格で課金 | 0 | 180K |
| 総入力費用(Sonnet) | $0.60 | $0.114 |
| 节省 | — | $0.486(81%) |
キャッシュにより、入力費用の约 80% を節約できます。
監視と予算¶
费用を監視する習慣を身につけ、知らず知らずのうちに超過することを避けましょう。
/cost で現在の会话を確認¶
Claude Code でいつでも입력:
/cost
現在の会話で消費された token 数と見積もり費用が表示されます。各タスク完了後に確認することをお勧めします。
QCode.cc Dashboard で履歴を確認¶
QCode.cc コンソール にログインし、「使用統計」ページで以下を確認できます:
- モデル呼び出し明细:各呼び出しのモデル、token 数、費用
- 日別/月別集計:費用トレンドグラフ
- プラン消費進捗:現在のパケット额度使用率
每日 Dashboard を確認する習慣を身につけ、異常な消費を及时に発見しましょう。
費用管理のおすすめ¶
| 使用レベル | 推奨モデル戦略 | 月間予算の目安 |
|---|---|---|
| 軽量使用(每日 1〜2 時間) | Sonnet 为主体 | $30〜80 |
| 中程度使用(每日 3〜5 時間) | Sonnet + 時々 Opus | $80〜200 |
| 重度使用(終日開発) | Sonnet 主力 + Opus アーキテクチャ决策 | $200〜500 |
一般的な費用トラップ¶
以下は token を浪费最容易な状況なので是自己的費用状況を確認してみてください:
トラップ 1:大きなファイルを直接貼り付け¶
# 間違い:ファイル内容を会話に貼り付ける
> "以下が私のコードです、检查してください:
[500 行のコードを貼り付け]"
# 正しい方法:@ で参照する
> "@src/services/order-service.ts の createOrder メソッドを確認"
違い:500 行のコードを貼り付けると約 1500 tokens の入力になり、各ターンの会話でこれらの内容が繰り返し送信されます。@ で同じファイルを参照すると、Claude は必要な时才読み込み、读取内容はキャッシュされます。
トラップ 2:同じ失敗したコマンドを繰り返しリトライ¶
# 間違い:同じ失敗したコマンドを Claude に何度も実行させる
> "npm run build を実行"
# 失敗
> "もう一度試して"
# やっぱり失敗
> "さらにもう一度"
# 正しい方法:失敗原因を分析し、别の方法を取る
> "npm run build を実行"
# 失敗
> "エラーログを確認し、失敗原因を分析して、問題を解決后再ビルド"
每一次リトライ都会发送完整的对话历史(包括之前所有失败的输出),token 消耗が急速に累积します。
トラップ 3:/clear を忘れてコンテキストが膨胀¶
これが最も隠れた費用トラップです:
# 午前:バグを修正(会話で 30K tokens の履歴が累积)
# 午後:新機能を書き始めるが、/clear しない
# 各ターンの新しい会話が午前の 30K tokens 履歴を白白携带
# 修正:タスクを切り替える時は /clear する習慣を
/clear
> "ここから新機能を开发します..."
トラップ 4:简单なタスクに Opus を使用¶
# 浪费:Opus でシンプルな interface を生成
/model opus
> "id、name、email フィールドを含む User インターフェースを定義して"
# 節約:简单なタスクは Haiku で十分
/model haiku
> "id、name、email フィールドを含む User インターフェースを定義して"
このタスクでは両方のモデルの出力はほとんど同じですが、Opus の費用は Haiku の 5 倍です。
トラップ 5:Claude にプロジェクト全体を搜索させる¶
# 高価:Claude は数十ファイルを読み込む可能性がある
> "プロジェクトで決済を処理するコードを見つけて"
# 安価:大致の位置を伝える
> "@src/services/ ディレクトリ下で決済を処理するサービスを見つけて"
# 最も安価:ファイルを直接指定
> "@src/services/payment-service.ts を確認"
費用最適化チェックリスト¶
Claude Code を使用するたびに、このリストを確認してください:
- [ ] 適切なモデル选择了か(ほとんどのタスクは Sonnet を使用)
- [ ] ファイルを貼り付けるのではなく、
@を使用して参照しているか - [ ] 话题を変えた時に
/clearを実行したか - [ ] 会話が 10 ターンを超えた場合に
/compactを検討したか - [ ]
.claudeignoreを設定して大きなファイルを排除したか - [ ] 要件の説明は十分に明確か(理解误差による手戻りを避けるため)
- [ ]
/costを確認して現在の消費量を把握したか
これらの習慣を身につけると、費用を 30〜50% 削減でき、同時に开发効率は丝毫も低下しないことがわかるでしょう。