一回の依頼に上限を置く――AIエージェントの実行予算表
AIエージェントの月額費用は追えても、なぜ一件の調査が長引いたのか分からない。そんな運用を任されたテックリード向けに、依頼ごとの時間、モデル呼び出し、ツール利用、再試行を制限する「実行予算表」を紹介します。
予算の単位を「一件の完了」にする
請求額だけを監視すると、異常に気づくのは実行後です。先に「一件を完了するため、何をどこまで使ってよいか」を決めます。AWSの生成AI向け設計指針も、モデル応答、ツール実行、ネットワーク遅延を含む最大実行時間を見積もり、タイムアウトなどの停止条件を設けるよう示しています。[1]
予算表には、少なくとも次の六つを置きます。
| 予算項目 | 数える対象 | 上限時の動作 |
|---|---|---|
| 経過時間 | 受付から完了まで | 実行を保留する |
| モデル呼び出し | 推論を依頼した回数 | 追加推論を止める |
| 入出力トークン | 各呼び出しの利用量 | 短縮または保留する |
| ツール呼び出し | 検索、DB、外部API | 次の呼び出しを止める |
| 再試行 | 同じ失敗へのやり直し | 人へ引き継ぐ |
| 外部書き込み | 送信、更新、発注 | 承認を要求する |
完成条件は、利用量が上限内だったことではありません。必要な成果物が揃い、未完了なら理由と途中結果を人へ渡せることです。
コピーして使える実行予算表
次は、仕入価格の差異を調べるエージェントを想定した仮の設定例です。数値は推奨値ではなく、最初の計測を始めるための初期値です。
task_type: price-difference-investigation
limits:
elapsed_seconds: 180
model_calls: 6
tool_calls: 8
retries_per_tool: 1
output_tokens_per_call: 1200
external_writes: 0
on_limit:
action: pause_and_handoff
include: [completed_steps, evidence, last_error, remaining_work]
OpenAIのResponses APIでは、生成量の上限として max_output_tokens、組み込みツールの合計呼び出し上限として max_tool_calls を指定できます。[2] ただし、独自ツールや複数回のAPI要求をまたぐ全体予算は、オーケストレーター側で数える必要があります。
上限はプロンプトに書くだけでなく、実行コードでも判定します。モデルが「あと一回必要」と主張しても、カウンターが上限なら止めます。判断をモデル自身に任せると、制限が運用規則ではなく希望になります。
4段階で上限を決める
1. 成功した実行を分解する
まず10件ほどの限定運用で、モデル呼び出し、ツール名、入出力トークン、経過時間、完了結果を一件単位で記録します。OpenTelemetryの生成AI向け属性には、ワークフロー名、ツール名、入力・出力トークンなどが定義されており、異なる実装でも記録項目を揃える手掛かりになります。[3]
2. 通常枠と例外枠を分ける
成功例の最大値をそのまま上限にせず、通常の依頼が収まる枠と、人の承認で一度だけ広げる例外枠を分けます。上限を広げる人、理由、追加量を記録してください。
3. 予算を一つずつ消費する
たとえば、価格差異の調査では、購買DBの検索、契約書の取得、差異理由の整理を別ステップにします。DBがタイムアウトしたら再試行を一回だけ許可し、再び失敗したら、取得済みの証拠と残作業を担当者へ渡します。別の検索語で無制限に調べ直してはいけません。
4. 「上限到達」を失敗理由として残す
停止時には budget_type、利用量、最後に成功した処理、未実行の処理を保存します。翌週の見直しでは、単に上限を上げず、不要なツール呼び出し、長すぎる入力、同じ失敗の繰り返しを先に直します。
止めすぎと使いすぎの間を設計する
上限が低すぎると、正常な依頼まで人へ流れます。高すぎると、異常なループを長く走らせます。そこで、読み取り処理は自動停止後に再開可能とし、外部への書き込みは予算が残っていても別途承認させます。費用制限と業務上の権限は同じものではありません。
一回で終わる固定手順しかなく、ツールも外部書き込みも使わないという場合には、六項目の実行予算を持つ方式には向きません。通常のAPIタイムアウトと出力長制限で十分です。
明日から使える実装チェックリスト
- [ ] 対象業務を一種類に絞り、一件の完了条件を書く
- [ ] 時間、モデル、トークン、ツール、再試行、書き込みを計測する
- [ ] 通常枠と、一度だけ承認できる例外枠を分ける
- [ ] 上限判定をプロンプトではなく実行コードへ置く
- [ ] 停止時に途中成果、証拠、最後のエラー、残作業を保存する
- [ ] 週次で上限超過の理由を分類し、上限より先に処理を直す
実行予算は、AIエージェントを安くするだけの仕組みではありません。一件ごとの完了条件と中断条件を同じ表に置き、どこまで自動化を任せるかを運用可能な形に変える道具です。
参考資料
- AWS Well-Architected Generative AI Lens: Create stopping conditions to control long-running workflows
- OpenAI API Reference: Create a model response
- OpenTelemetry: GenAI attributes
本記事はAIを活用して作成し、公開前に自動レビューを実施しています。情報の確認日:2026-09-30。
著者
ELYSAI編集部