朝のオフィスで、AI機能の利用量グラフが夜のあいだだけ跳ね上がっているのに気づき、落ち着いて原因を確かめようとしている開発者

AI機能のコスト上限を設計する|使いすぎを止める予算ガード

朝いちばんにAIの利用画面を開いたら、昨夜の分だけグラフが跳ね上がっていた。

誰も使っていないはずの時間帯です。ログをたどると、バッチのリトライが夜通し回っていた、あるいはエージェントが同じ作業を延々と繰り返していた——。原因が分かってほっとする一方で、「これ、月末の請求でどう説明しよう」と胃が重くなる。AIを業務システムに組み込んでいると、一度はこういう朝があるものです。

AIの呼び出しは、1回ごとにお金がかかり、しかも回数に天井がない。ここが普通のサーバー代と違うところです。だから「使われすぎない作り」を、機能そのものと同じくらい大事に設計しておく必要があります。

結論:AI機能のコストは、1か所の上限だけで守ろうとしない。①呼び出しごと(1回の出力の長さ・入力の大きさ・エージェントのステップ数)、②利用者ごと(1人あたり1日の回数やトークン量)、③機能全体(日次・月次の予算)の3段で上限を置くのが基本です。提供元の管理画面にある上限・通知は最後の砦として併用し、それだけに頼らない。そして上限に当たったときの振る舞い(軽いモデルに切り替える・後で処理する・正直に伝える)と、人がその場で止められる手順を先に決めておく。上限は「AIを使わせない仕組み」ではなく、安心して使ってもらうための仕組みです。

全部を一度に入れなくて大丈夫です。 今日は「1回の出力の上限が設定されているか」を確かめるだけでも、いちばん大きな穴はふさがります。

何が起きているのか——AIのコストは「静かに、一晩で」膨らむ

まず、使いすぎがどこから来るのかを整理させてください。現場でよく見かけるのは、だいたい次のどれかです。

どれも、昼間に人が見ていれば気づけるのに、夜や休日に起きると朝まで誰も気づかないという共通点があります。そして多くの提供元の請求・利用量の画面は、反映までに時間差があることが多い。「画面を見て止める」だけでは、間に合わない場面が出てきます。

ここで、仮の数字で一度だけ計算してみます(単価はあくまで説明用です。実際の料金は利用中サービスの公式情報で確認してください)。

一晩で、月の予算の約4割(57,600 ÷ 150,000 ≒ 38%)が消える計算です。金額の大小は現場ごとに違いますが、「一晩で月の予算の何割かが溶ける」という構造は、AI機能ならどこでも起こりえます。

だからこそ、人が寝ている間も効く上限が要ります。順番に見ていきましょう。料金そのものの見積もり方はAI APIの料金とレート制限を見積もる|本番前の型に整理しているので、「1回あたり何円か」がまだ分からない場合は、先にそちらで原価を出しておくと話が早いです。

上限は3段で置く——呼び出しごと・利用者ごと・機能全体

AIのコストを守る3段の上限を、左から「1回の呼び出しの長さを定規で測る場面」「利用者1人ひとりに小さな財布を渡す場面」「機能全体の大きな金庫を見守る場面」の3列で表した図
1か所で止めようとせず、呼び出しごと・利用者ごと・機能全体の3段で受け止める

上限は、守る範囲の違う3段で置くと考えやすくなります。どれか1つで全部を守ろうとすると、厳しすぎて普段使いを邪魔するか、緩すぎて暴走を止められないか、のどちらかになりがちです。

① 呼び出しごとの上限——1回が大きくなりすぎないように

いちばん内側で、いちばん効くのがここです。しかも、設定を1行足すだけで済むものが多い。

② 利用者ごとの上限——1人で全体を使い切らないように

次は、人ごと(またはAPIキーごと・テナントごと)の上限です。

外部に公開している機能なら、ここに短い時間あたりの回数制限(1分に何回まで、など)も加えます。機械的な大量アクセスは、1日の上限より先にこちらで止まります。

③ 機能全体の上限——予算そのものを守る

いちばん外側が、機能全体(またはサービス全体)の日次・月次の予算です。

数え方や、どの指標をログに残すかはAI機能の効果測定|導入後に見るログと指標の設計の考え方がそのまま使えます。

提供元の上限・通知は「最後の砦」として

多くのAI提供元やクラウドの管理画面には、月の利用上限や、使用額の通知を設定できる仕組みがあります。これは必ず設定しておきたいものです。ただし、現場で押さえておきたい点があります。

ここは仕様が更新されやすい部分なので、いま使っているサービスの公式ドキュメントで、上限の効き方と反映のタイミングを一度確認してください。そのうえで、提供元の上限は「アプリ側の上限をすり抜けたときの最後の砦」として、アプリ側の上限より少し高めに置いておくのが落ち着く形です。

あわせて、APIキーを機能ごと・環境ごとに分けておくと、どの機能が使いすぎているかがすぐ分かり、問題のキーだけを止められます。キーの分け方と権限の絞り方はAIエージェントに本番環境と認証情報を渡す前に|権限の絞り方が参考になります。

上限に当たったとき、どう振る舞うか

上限を置いたら、次に決めたいのが当たったときの振る舞いです。ここを決めずに上限だけ入れると、利用者から見て「突然壊れた」機能になってしまいます。

選択肢は、だいたいこの4つです。機能の性質に合わせて選びます。

どれを選ぶにしても、上限で止まったことは必ず担当者に届くようにしておきます。止まったこと自体が、何かが起きているサインだからです。

人がその場で止められる手順を、先に作る

最後に、いちばん地味で、いちばん心強いのがこれです。「おかしい」と気づいた人が、その場でAI機能だけを止められる手順。

具体例——社内向けAI要約機能に3段の上限を入れてみる

イメージしやすいように、先ほどの数字の機能で追ってみます。社内300人、1日平均10回、1回約2円、月予算15万円の要約機能です。

この形なら、あの「一晩で57,600円」のケースは、夜のうちに日次の通知が飛び、1万円に届いた時点でキューに切り替わります。朝に見るのは、跳ね上がったグラフではなく、「昨夜、上限で止まりました」という1件の通知です。原因を直す時間は、ちゃんと残っています。

明日からやること(まずこの3つ)

大がかりな仕組みは要りません。順番はこれで大丈夫です。

  1. 出力の上限とリトライ回数の上限が入っているか、コードを確かめる(30分):未設定の呼び出しが見つかったら、そこに値を入れるだけ。いちばん効いて、いちばん簡単です。
  2. 提供元の管理画面で、月の上限と使用額の通知を設定する:通知先は1人ではなく2人に。止まるのか通知だけなのかも、このとき公式ドキュメントで確認します。
  3. 応答のトークン数を、機能ごとにログへ1行残す:これがあれば、次に「利用者ごと」「機能全体」の上限を決めるときの材料がそろいます。

一度で全部そろえなくて大丈夫です。 今日1つ目を確かめて「ちゃんと入っていた」と分かったなら、それも立派な前進です。

AI機能のコスト上限チェックリスト

入れる前と、入れた後にさっと確認します。全部に○が要るわけではなく、気になる所だけで十分です。

呼び出しごと

利用者ごと

機能全体

提供元側

止まったとき・止めるとき

この記事のまとめ

AIのコストが一晩で膨らんでしまったとしても、それはあなたの不注意ではありません。回数に天井のない呼び出しを、天井のないまま動かしていた——まだその手当てをしていなかっただけです。

やることは、意外と地味です。出力の上限を入れて、リトライに天井を置いて、人ごとと全体の上限を足して、止まったときの振る舞いを決める。 提供元の上限は最後の砦として、少し高めに。

そして、上限があるからこそ、「好きに使ってみてください」と胸を張って言えるようになります。「AIを活用しろ」と言われる現場で、安心して使ってもらう土台を作る。それは、AIに追われるのではなく、AIを自分たちの手で扱える状態にしておく仕事だと思います。

予算の上限と通知を設定し終え、安心した表情で同僚に「これで好きに使ってもらえます」と伝えている開発者
天井があるから、安心して使ってもらえる

AIの使いすぎを止める仕組みは、誰かに褒められることの少ない仕事です。でも、何も起きなかった朝は、ちゃんとあなたが作ったものです。

今日、出力の上限を1行確かめたなら、それはもう予算ガードの始まりです。

よければ、こちらも

関連用語