Skip to content
記事一覧に戻る
Infrastructure11 min

エージェントのコスト統制: 予算ガードレール・トークン上限・ループ検出の実装

Cost Control for Agents: Budget Guardrails, Token Caps, Loop Detection

Yuki SatoCloud Infrastructure Architect
2026-04-1711 min
Cost ControlBudgetingToken LimitsLoop DetectionFinOps

暴走の典型パターン

  • 終了条件を満たさず無限ループ
  • ツール呼び出しが ping-pong(A → B → A → B …)
  • リトライポリシーの誤設定で 1 リクエストが数百回再試行
  • subagent が再帰的に subagent を起動

防御層の設計

  • モデル単位: max_tokens、stop sequence、temperature を厳密に設定
  • エージェント単位: ターン数上限、ツール呼び出し回数上限
  • ジョブ単位: 1 ジョブの累計トークン上限、累計コスト上限
  • テナント単位: 1 日 / 1 月の累計コスト上限(hard limit)
  • 組織単位: 月予算の 80% 到達でアラート、100% でブロック

ループ検出

```ts function detectLoop(history: ToolCall[]): boolean { const last5 = history.slice(-5).map(c => c.signature); const unique = new Set(last5); return last5.length === 5 && unique.size <= 2; } ```

直近 5 ツール呼び出しのうちユニーク数が 2 以下なら ping-pong 警報。検知後は強制終了 + 人介入。

LiteLLM Proxy での予算制御

```yaml general_settings: master_key: sk-... max_budget: 1000 # USD / month for the whole proxy budget_duration: 30d

team_budgets: - team_id: marketing max_budget: 100 - team_id: research max_budget: 500 ```

ルート段で予算超過リクエストを拒否できるため、誤った社内アプリの暴走でも全体の月予算は守れる。

ヒト介入トリガ

  • 1 ジョブで 100k トークン超 → Slack 通知
  • センシティブツール呼び出し → Slack approve
  • 月予算 70% 到達 → 経理にレポート

観測ダッシュボード

  • 1 日のトークン消費(モデル別、テナント別)
  • ジョブあたり平均トークン
  • ループ検出発火数
  • ガードレール発火数

まとめ

エージェントのコスト統制は「層を重ねる」ことが鉄則。社内 R&D で過去に 1 日 30 万円の事故を起こしてから、上記 5 層を必ず実装するようにしている。事前予防は事後対応より圧倒的に安い。

まずは無料相談から

お客様のIT課題をお聞かせください。最適なソリューションをご提案いたします。

お問い合わせはこちら