バイブコーディング実践編 — Claude Code を中心に AIで安全に作る力セキュリティとコスト管理

Token budgeting — model routingとcost tracking

読了目安 8

学習のねらい

AIモデルの利用には、通常、トークン数に応じた費用が発生します。特にAIエージェントが自律的に動作する場合、意図しない大量のトークン消費 (runaway loop、暴走ループ) が発生し、高額な請求につながるリスクがあります。

本レッスンでは、モデルごとの料金体系を理解し、用途に応じて適切なモデルを選択する「モデルルーティング」の考え方、そしてAI利用コストを追跡・可視化するための基本的な手法を学びましょう。

AIモデルの料金体系とトークン

Anthropic の Claude や OpenAI の GPT など、ほとんどの大規模言語モデル (LLM) は、入力と出力のトークン数に基づいて料金が計算されます。トークンは、単語や記号の一部に分割されたテキストの単位です。

  • 入力トークン: プロンプトとしてモデルに与えるテキストのトークン数
  • 出力トークン: モデルが生成する応答テキストのトークン数

多くの場合、入力トークンと出力トークンで単価が異なり、出力トークンの方が高価です。また、モデルの性能やコンテキストウィンドウ (扱えるトークン数) によって料金も大きく変わります。

Anthropic Claude のモデル別単価 (例)

モデル名入力単価 (1Mトークンあたり)出力単価 (1Mトークンあたり)主な用途
Claude 3 Opus$15.00$75.00高度な推論、複雑なタスク、最高性能
Claude 3 Sonnet$3.00$15.00汎用的なタスク、バランスの取れた性能とコスト
Claude 3 Haiku$0.25$1.25高速、費用対効果、シンプルなタスク

(※上記の単価は執筆時点の参考値であり、最新情報は公式ドキュメントを確認してください。)

この表を見るとわかるように、Opus は非常に高価ですが高性能、Haiku は安価で高速ですが性能は控えめです。Sonnet はその中間です。

モデルルーティング (Sonnet vs Haiku の使い分け)

アプリケーションの機能やタスクの複雑さに応じて、適切なモデルを使い分けることを「モデルルーティング」と呼びます。これにより、コストを最適化しながらも、必要な性能を確保できます。

  • Haiku を使うべき場面:

    • シンプルな分類、キーワード抽出
    • 短いテキストの要約
    • ユーザーインターフェースでの迅速な応答が必要な場面
    • 大量のデータを処理するが、高度な推論が不要なタスク
  • Sonnet を使うべき場面:

    • やや複雑な推論、コード生成
    • 長文の要約や生成
    • 複数のステップを含むタスク
    • 費用と性能のバランスが求められる汎用的なタスク
  • Opus を使うべき場面:

    • 非常に高度な推論、複雑な問題解決
    • クリティカルな意思決定支援
    • 最高レベルの性能が求められる研究開発

開発初期段階では Sonnet で開発を進め、コストが問題になる部分や性能要件が明確な部分で Haiku への切り替えを検討すると良いでしょう。

コスト追跡 (Cost Tracking) の実装

AI利用コストを把握するためには、API呼び出しごとに使われたトークン数を記録し、集計する仕組みが必要です。

1. API SDK の usage 情報の利用

Anthropic や OpenAI の SDK は、API応答に usage オブジェクトを含んでいます。これには input_tokensoutput_tokens が含まれています。

from anthropic import Anthropic

client = Anthropic()

message = client.messages.create(
    model="claude-3-haiku-20240307",
    max_tokens=100,
    messages=[
        {"role": "user", "content": "Hello, Claude."},
    ]
)

print(f"Input tokens: {message.usage.input_tokens}")
print(f"Output tokens: {message.usage.output_tokens}")

この情報を取得し、アプリケーション内で集計するラッパー関数やクラスを作成します。

2. ログ収集と可視化

  • ログファイル: アプリケーションのログにトークン利用状況を記録します。
  • スプレッドシート/データベース: ログをパースして、日ごと、週ごと、機能ごとのトークン利用量や推定コストをスプレッドシートやデータベースに保存します。
  • ダッシュボード: 保存したデータを可視化ツール (Google Data Studio, Tableau, Grafanaなど) でグラフ化し、コストの推移を監視します。

簡単なプロジェクトであれば、CSVファイルに追記するだけでも十分な可視化ができます。重要なのは「いつ、どのモデルで、どれくらいのトークンを使ったか」を記録する習慣をつけることです。これにより、コストの異常値を早期に発見し、原因を特定しやすくなります。

まとめ

AIアプリケーション開発において、トークン利用量とコストの管理は必須です。モデルごとの単価を理解し、タスクに応じて Sonnet と Haiku などのモデルを適切に使い分ける「モデルルーティング」を実践しましょう。 また、APIからの usage 情報を活用してトークン利用状況を記録し、集計・可視化する仕組みを導入することで、コストの予期せぬ増大を防ぎ、効率的なAI運用が可能になります。

参考リンク


Token budgeting — model routingとcost tracking | バイブコーディング実践編 - AI研修