AIエージェントを動かしっぱなしにして寝て、朝起きたらAPI代がすごいことになっていた、という話をときどき見かけます。ループに入ったエージェントは、止める人がいないとそのままAPIを呼び続けてしまいます。
自分でも同じことが起きるのが怖かったので、以前作った「AIの財布番」に、API代を1日の予算で止める機能を入れました。
どんなものか
APIキーを財布番に預けると、代わりに財布番の「代理のキー」がもらえます。エージェントにはこの代理のキーだけを渡します。
エージェントからのリクエストは財布番を通って、本物のAPIに届きます。財布番は返ってきた使用量から金額を記録していて、その日の金額が予算に達したら、それ以降のリクエストは本物のAPIに送らずに断ります。
断ったときはエラーとして返すので、エージェント側にはこんなメッセージが届きます。
403 [AIの財布番] 1日の予算(1,000円)を超過
日付が変わると、また使えるようになります。
使えるサービス
今のところ、次の4つに対応しています。
- OpenAI
- Anthropic
- Google (Gemini)
- OpenRouter
OpenRouterは実際にかかった金額がそのまま返ってくるので、いちばん正確です。ほかの3つは、トークン数と料金表から計算しています。
ストリーミングでも使用量を拾えるようにしてあります。
使い方
- サイトで「はじめる」を押して、AIを1つ作ります
- 設定の画面で、使っているサービスのAPIキーを預けます
- 表示される接続先のURLと代理のキー(
sbk_...)を、エージェントの設定に入れます
たとえばClaude Codeなら、環境変数を2つ変えるだけです。
export ANTHROPIC_BASE_URL="https://zrphnuvrsldcycxtdftv.supabase.co/functions/v1/saifuban-proxy/anthropic"
export ANTHROPIC_API_KEY="sbk_..."
OpenAIのSDKを使っているツールなら、OPENAI_BASE_URL と OPENAI_API_KEY を同じように差し替えます。
予算はAIごとに決められるので、調べもの用のエージェントは1日100円、コードを書くエージェントは1日1,000円、のように分けておけます。
気をつけてほしいところ
予算のチェックはリクエストを送る前にしています。なので、予算ぎりぎりのときに送ったリクエストはそのまま通って、その分だけ少し予算を超えることがあります。超えるのは、そのとき途中だったリクエストの分までです。
それと、本物のAPIキーを財布番に預けることになります。キーは暗号化した保管庫に入れていて、画面には末尾の数文字しか出しません。会話の中身は保存していません。それでも不安な場合は、提供元の管理画面で、財布番用に使える額を絞った別のキーを作ってから預けるのがおすすめです。
支払いの承認もできます
もともとの財布番は、AIが何かを買う前にスマホに確認が来る仕組みです。決めた金額までは自動でOKにして、それを超えたら通知から承認か却下を選べます。こちらはClaude・ChatGPT・Museで使えて、Museならスマホのチャットに1通送るだけでつながります。
API代の上限とあわせて使うと、AIがお金を使う場面をだいたい押さえられるようになります。
おわりに
無料で、メールアドレスの登録もいりません。日本語と円で使えます。
使ってみて足りないところがあれば、GitHubのIssueか、この記事のコメントで教えてもらえるとうれしいです。
