トークン課金とコスト最適化
AI CLI ツールで料金が跳ねやすいパターンと、それを抑える実践テクニックを整理。
AI CLI ツールを業務で使うと、最初の月の請求でひるむことがある。「あれ、こんなに使ったっけ?」と。料金が跳ねやすいパターンと、抑え方を整理する。
課金の基本
ほぼ全ての主要 AI API は トークン量で従量課金。サブスクリプション型(ChatGPT Plus、Claude Pro 等)は固定料金だが、その代わり利用上限がある。
入力・出力で単価が違う:
| プロバイダ | モデル | 入力 ($/1M tokens) | 出力 ($/1M tokens) |
|---|---|---|---|
| Anthropic | Claude Opus 4.7 | $5 | $25 |
| Anthropic | Claude Sonnet 4.6 | $3 | $15 |
| Anthropic | Claude Haiku 4.5 | $1 | $5 |
| OpenAI | GPT-5.4 | 同等帯 | 同等帯 |
| Gemini 2.5 Pro | 同等帯 | 同等帯 |
数字は概算。出力が入力より3〜5倍高いのがほぼ全プロバイダ共通。
日本語の感覚: 1トークン ≒ 1〜2文字(漢字はやや少なめ)。1000文字応答 ≒ 500〜1000 トークン ≒ $0.005〜0.025(Sonnet 級で約 ¥0.7〜3.5/応答)。
料金が跳ねる5つのパターン
1. 大きなファイルを毎回読ませる
「src/big-module.ts(3000行)を見て修正して」を1日何度も繰り返すと、毎回 3000 行 × 数千トークンが入力に乗る。10 回で 50,000 トークン以上。
対処:
- 該当部分の関数だけ抜粋して prompt に貼る
- ファイル分割(モジュール化)して、必要な部分だけ読ませる
CLAUDE.md/GEMINI.mdに「このファイルはここを変更する」のメタ情報を集約
2. リポジトリ全体スキャン
@Codebase(Cursor)や Claude Code の「全体を見て」みたいな指示で、リポジトリ全ファイルを embedding + 関連ファイル取得する。
対処:
.cursorignore/.aiderignore/.claude/settings.jsonのignoreで node_modules、dist、生成物、テスト用フィクスチャ を除外- 「
@src/auth/だけ」のようにディレクトリスコープを絞る
3. 長時間の自律実行を放置
Agent モードや --full-auto 系で「機能追加お願い」と投げて放置 → エージェントが「次にこれ」「次にこれ」と何時間も走り続ける。途中で間違った方向に進むと、その分のトークンが全部無駄。
対処:
- 1セッションの上限時間を決める(30分とか)
- 重要な節目で中断して人間が確認
- Anthropic の Task Budget 機能(
task_budget)でハード上限を設定
4. context が膨らみ続ける長時間セッション
対話を続けると、過去のやり取りが全部 context に積まれていく。100ターン目では1ターン分の質問が10万トークンの history と一緒に送られる。
対処:
- 区切りで
/clearしてセッションをリセット /compactで履歴を要約圧縮- 重要な前提は CLAUDE.md などのファイルに移して、対話には残さない
5. 高性能モデルを思考が浅いタスクに使う
「format 関数の名前を formatDate に変えて」みたいな機械的な作業に Opus を使うのは贅沢。
対処:
- セッション中に
/modelで Haiku / Fast モデルに切り替え - 「設計判断」だけ Opus、「機械的変更」は Haiku、と使い分け
- Aider なら
--editor-model haikuで coder 側だけ安いモデルに
モデル選択の戦略
実用上、3層で考えると整理しやすい:
| 層 | 用途 | モデル例 | コスト感 |
|---|---|---|---|
| 重い思考層 | アーキ判断、複雑な refactor、難解バグ | Opus 4.7, GPT-5.4 | $$$$ |
| 中間層 | 通常の実装、テスト追加、リファクタ | Sonnet 4.6, Gemini Pro | $$ |
| 量産・補助層 | 命名変更、コメント追加、フォーマット | Haiku 4.5, Gemini Flash | $ |
下層で済む作業を上層で動かしている時間が、コストの一番の無駄。
プロバイダ別の運用 Tips
Anthropic(Claude)
- プロンプトキャッシュ を活用。固定的なシステムプロンプトや CLAUDE.md は
cache_controlでキャッシュすると、2回目以降は1/10のコスト - Adaptive thinking + Effort パラメータ で思考量を制御
- API キーは「Workspace 単位で月額上限」を設定可能(コスト上限の設定方法は別記事 参照)
OpenAI(GPT、Codex)
- Batch API は通常の半額。即応不要なタスク(バッチ要約、データ抽出)はこっち
- サブスクリプション認証と API キー認証は別課金。混在させない
Google(Gemini)
- 無料枠が太い: 60 req/min、1,000 req/day(執筆時点)
- 学習・試用は無料枠で完結することが多い
- Vertex AI 経由の業務利用は別契約・別課金
監視・アラート
「気づいたら高額」を防ぐ仕組み:
1. ダッシュボードを最初の1ヶ月は毎日見る
各プロバイダのコンソールで日次使用量をチェック。感覚を掴むため。
2. 上限アラート設定
- Anthropic: Workspace → Limits → アラート閾値設定(80% 到達でメール等)
- OpenAI: Usage limits でハードリミットとソフトリミット設定可能
- Google: Cloud Console の予算アラート
3. CLI 側の /cost 系コマンド
Claude Code は /cost でセッション中の消費を確認できる。マメに叩く習慣をつける。
まとめ: 最初の1ヶ月でやるべき3つ
- 使用ダッシュボードを毎日見る — 感覚を掴むため
- モデル使い分けの判断基準を作る — どんなタスクで Haiku、どんなタスクで Opus か
- 上限アラートを設定 — 想定外のスパイクで気絶しないため
これだけで月額コストは半減することが多い。
関連記事
- LLM とは — トークン課金の前提
- プロンプトエンジニアリング基礎 — 指示の質がトークン量に直結