メインコンテンツへスキップ
暴走するプロンプトは暴走する請求です。400KB のトランスクリプトをコンテキストに 貼り付けるエージェント、同じ膨らんだリクエストを再送し続けるリトライループ、 50,000 文字の文字の壁をストリームするモデル — それぞれが、決して使うつもりの なかったトークンを課金します。cost プリセットカテゴリは、それらのリクエストの 前にハードな天井を置き、ゲートウェイがそれらをアップストリームモデルとメーターに 到達する前に止めるようにします。 これはコスト制御のユースケースに焦点を当てた着地ページです。完全なガードレール エンジン — すべてのルールの種類、フィールド、ルート — については、 ガードレールリファレンスを参照してください。

1. LLM コストガードレールのユースケース

レバーはひとつの組み込みルールの種類:max_chars です。あるステージでの テキストの文字数を制限します。モデル呼び出しなし、ネットワークホップなし — メータリングの前にリクエストで、またはモデルが返した後にレスポンスで走る、 決定的な長さチェックです。 ルールのアクションで選ぶ 2 つの形:

過大なリクエストをブロックする

アクション block のリクエスト max_chars ルールでは、上限を超える プロンプトは HTTP 400 guardrail_blocked で拒否されます — そしてブロックされた リクエストはクォータを消費しません。ブロックが使用量のメータリングの前に 発火するからです。

過大なレスポンスをクランプする

アクション maskmax_chars ルールでは、テキストは拒否される代わりに 上限まで切り詰められます — 呼び出し元は依然として使える回答を、ただ制限された 形で受け取ります。egress を上限するためにレスポンスステージで有用です。
上限は文字を数えます(rune を認識 — 日本語 は 9 ではなく 3)。トークンでは ありません。出荷されるトークン志向のプリセットは、標準的な文字→トークン比で トークン予算を文字の天井に変換します。より厳格な予算には、ルールの max_chars フィールドを直接引き締めてください。

2. 出荷される cost プリセット

コンソールで New guardrail スプリットボタンを開き、cost テンプレート カテゴリから選びます。3 つのプリセットが各々単一の max_chars ルールをシードします:
プリセットステージ · アクション上限
Prompt-Size Capinput · block50,000 文字
Token Cost Cap (prompt)input · block200,000 文字(約 50K トークン)
Response Size Capoutput · block32,000 文字
各プリセットはシードであり、ロックではありません — 適用してから、あなたの 予算に合うように max_chars の値、ステージ、アクションを編集します。ガードレールの 作成と編集にはワークスペースで Developer+ が必要です。
Response Size Cap は出力ステージの上限です。長い回答を拒否するのではなく クランプするには、そのアクションを mask に切り替えます — ゲートウェイは レスポンスを上限まで切り詰め、ユーザーはエラーの代わりに、切り詰められたが使える 返信を依然として受け取ります。

3. 独自の上限を作成する

cost ルールはエンジン内で最もシンプルなルールです — ステージ、アクション、整数。 リクエストを 20,000 文字で上限し、それより大きいものを拒否するには:
{
  "type": "max_chars",
  "stage": "input",
  "action": "block",
  "max_chars": 20000
}
コンソールで任意のガードレールに追加します。max_chars は正の整数でなければ なりません。バリデータは 0 または負の値を拒否します。

4. アタッチする前にテストする

いずれかのキーがそれを指す前に、上限が期待する場所で発火することを証明します。 ガードレールエディタ内の Test タブを開き、サンプルを貼り付け、input ステージを選び、現在のポリシーをローカルで実行します — アップストリーム 呼び出しなし、クォータなし。上限超過のサンプルはブロック判定を返し、上限未満の サンプルは手つかずで通過します。 クランプルールでは、サンドボックスが切り詰められたレンダリングテキストを表示する ため、それに依存する前に上限が rune 境界に着地することを確認できます。

5. 上限をキーにアタッチする

cost ガードレールは他のものと全く同様に解決されます — API キーにアタッチするか、 ワークスペースデフォルトとして設定します。ここでのすべてのステップは、あなた自身の セッション下のコンソールアクションです。
1

ガードレールを保存する

コンソールでガードレールを作成または開き、max_chars ルールを追加(または cost プリセットを適用)し、保存します。
2

キーをアタッチする

API キーを編集し、Guardrail ドロップダウンからガードレールを選ぶ (キー上に guardrail_id を設定)か、ガードレールをワークスペース デフォルトとしてマークします。 キーにアタッチするアカウントデフォルトを参照。
3

リクエストを送信する

そのキーを使って、以前と全く同様に OrcaRouter を呼び出します — 新しい ヘッダーなし、SDK 変更なし:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "...a very long prompt..."}
    ]
  }'
プロンプトが上限を超えている場合、呼び出しは HTTP 400 guardrail_blocked を 返し、何も課金されません。

6. ブロックされたリクエストに何がかかるか

リクエストステージの上限は、強制する最も安価なガードレールです:使用量が メータリングされる前に走るため、過大なプロンプトはゼロのクォータコストで 拒否されます。
いいえ。入力ステージのブロックはメータリングの前に発火します。出力ステージの ブロックはレスポンスが拒否された後に事前消費されたクォータを返金します。 いずれにせよ呼び出し元はクォータを支払わず、HTTP 400 guardrail_blocked を 受け取り、リクエストは skip-retry とマークされます — 同じ過大なプロンプトを 再実行してもまたブロックされるだけです。 guardrail_blocked エラーを参照。
出力ステージの max_chars block は両方で強制されます:非ストリーミング レスポンスでは回答が返る前にスクリーニングされ、ストリーミングレスポンスでは バッファが上限を超えると、スキャナが飛行中のストリームを打ち切ります。出力に 対する mask(クランプ)は現在、非ストリーミングレスポンスのみに適用されます。 ストリーミングカバレッジを参照。
いいえ。max_chars ルールには部分文字列の概念がないため、 マッチフィードは上限が発火したこと — その種類、アクション、ステージ — を記録しますが、Log raw content がオンでも マッチした部分文字列は決して記録しません。過大なペイロードを再キャプチャする ことなく、発火したシグナルを得られます。

7. これがどこにフィットするか

max_chars 上限は鈍いコストレバーです — ハードな天井であって、キーごとの支出 予算ではありません。文字ではなくドルを上限するには、API キー自体に credit_limit_usd を設定します(0 = 無制限)。ゲートウェイはこれを任意の ガードレールとは独立に強制します。2 つは積み重なります:キー予算は総支出を、 cost ガードレールは任意の単一リクエストまたはレスポンスのサイズを制限します。
cost ガードレールはコンテンツサイズをスクリーニングします。モデル選択や ルーティング判定ではありません。どのモデルが処理するかに関わらず、過大な プロンプトを拒否します。エージェントのツール呼び出しを統制するには — 破壊的 アクションを deny したり承認のために保留したり — ファイアウォールを 使います。これはコンテンツサーフェスではなく、ツール呼び出しサーフェス (allow / deny / pending_approval)で判定します。

8. 次にどこへ

入力ステージルール

リクエストのスクリーニングがアップストリーム呼び出しの前、メータリングの前に どう走るか。

出力ステージルール

モデルのレスポンスのスクリーニングとクランプ、ストリーミングかどうかを問わず。

guardrail_blocked エラー

HTTP 400 の形状、クォータなしの保証、skip-retry。

テストと eval

キーをアタッチする前にコーパスに対して上限を証明します。
コスト上限はサイズを制限します。コンテンツ — PII、シークレット、安全でない プロンプト — を制限するには、ガードレール概要から 始めるか、完全なエンジンについてはガードレールリファレンスを 読んでください。