AIエージェント活用実践編 / 安全性・コスト・監査
Token budgeting と モデル選定
無料公開レッスン / 読了目安 8 分
レッスン: Token budgeting と モデル選定
学習のねらい
AI エージェントの運用において、コスト管理は非常に重要です。LLM の API 利用はトークン消費量に応じて課金されるため、無計画な利用は高額請求につながる可能性があります。
本レッスンでは、トークン消費量を予測し、月予算を設計するための Token budgeting (トークン予算管理) の考え方、コスト効率の良いモデル選定、そしてモデルルーティングの基本について学びます。
トークン予算管理の重要性
LLM の API 利用料金は、入力プロンプトと出力の両方のトークン数に基づいて計算されます。Agent が自律的に動作し、複数のツールを呼び出したり、試行錯誤を繰り返したりする場合、トークン消費は予測しづらく、急速に増加する可能性があります。
トークン消費が増える要因
- 長いプロンプト: System Prompt や User Prompt が長くなると、入力トークンが増えます。
- 大量のコンテキスト: 過去の会話履歴や参照ドキュメントなど、コンテキストウィンドウに含める情報量が多いと、入力トークンが増えます。
- 詳細な出力: LLM に詳細な説明や多くの情報を求めると、出力トークンが増えます。
- 反復的な処理: Agent が複数のステップを踏んだり、試行錯誤を繰り返したりすると、その都度 API コールが発生し、トークン消費が積み重なります。
- 不適切なツール利用: ツールが不要な情報を取得したり、非効率な方法でデータを処理したりすると、その結果が LLM に渡され、トークン消費を増やす原因になります。
Sonnet と Haiku の使い分け
Anthropic の Claude モデルには、性能とコスト、速度の異なる複数のモデルがあります。特に、Claude 3 Sonnet と Claude 3 Haiku は、それぞれの特性を理解して使い分けることで、コスト効率を大きく改善できます。
- Claude 3 Sonnet:
- 特徴: 高い推論能力と安定した性能を持ち、複雑なタスクや多くのコンテキストを扱う場合に適しています。
- コスト: Haiku よりも高価です。
- ユースケース: コード生成、複雑なデータ分析、長文の要約、高度な推論が必要な Agent の中核部分。
- Claude 3 Haiku:
- 特徴: 非常に高速で低コストであり、シンプルなタスクや大量の処理を効率的にこなす場合に適しています。
- コスト: Sonnet よりも大幅に安価です。
- ユースケース: ルーティング、分類、簡単な情報抽出、簡単な質問応答、リアルタイム性が求められるエッジケース。
モデルルーティングの基本
Model Routing (モデルルーティング) とは、タスクの複雑性や重要度に応じて、動的に最適な LLM モデルを選択して利用する戦略です。これにより、コストを最適化しつつ、必要な性能を確保できます。
def choose_model_for_task(task_description: str):
# タスクの複雑性を判断するロジック (例: キーワード検出、プロンプトの長さ、過去の成功率)
if "複雑な分析" in task_description or "コード生成" in task_description:
return "claude-3-sonnet-20240229"
elif "分類" in task_description or "簡単な要約" in task_description:
return "claude-3-haiku-20240229"
else:
return "claude-3-sonnet-20240229" # デフォルトは高性能モデル
上記のように、簡単な分類タスクには Haiku を使い、複雑なコード生成には Sonnet を使うといった判断を自動化することで、無駄なコストを削減できます。
月予算の設計
具体的な月予算を設計するには、以下のステップを踏みましょう。
- 平均トークン消費量の見積もり:
- 特定のタスクを1回実行するのに必要な入力・出力トークン数を見積もります。実際に数回試して計測するのが確実です。
- 実行回数の予測:
- そのタスクが1ヶ月に何回実行されるかを予測します。
- 例: 「1日100回、月に20営業日」なら
100 * 20 = 2000回。
- モデルごとのコスト計算:
- Anthropic の公式料金ページを参照し、各モデルの100万トークンあたりの料金を確認します。
- 例: Haiku の入力: $0.25/Mトークン、出力: $1.25/Mトークン (2024年3月時点)
- 総コストの算出:
(入力トークン数 / 1,000,000) * 入力料金 + (出力トークン数 / 1,000,000) * 出力料金で1回あたりのコストを計算します。1回あたりのコスト * 実行回数で月間総コストを算出します。
- バッファの考慮:
- 予測はあくまで予測です。予期せぬ利用増加や Agent の試行錯誤による追加コストに備え、20〜30%程度のバッファを見積もりに追加しましょう。
- 監視とアラートの設定:
- 運用開始後、定期的にトークン消費量とコストを監視し、予算を超過しそうになったらアラートが飛ぶように設定しましょう。
まとめ
トークン予算管理は、Agent 開発における重要なスキルです。Sonnet と Haiku の特性を理解し、タスクに応じてモデルを賢く使い分ける モデルルーティング を導入することで、コストを最適化しつつ、エージェントの性能を最大限に引き出すことができます。月予算を設計し、継続的に監視することで、予期せぬ高額請求を防ぎ、安心して Agent を運用しましょう。