1. LLM コストガードレールのユースケース
レバーはひとつの組み込みルールの種類:max_chars です。あるステージでの
テキストの文字数を制限します。モデル呼び出しなし、ネットワークホップなし —
メータリングの前にリクエストで、またはモデルが返した後にレスポンスで走る、
決定的な長さチェックです。
ルールのアクションで選ぶ 2 つの形:
過大なリクエストをブロックする
アクション block のリクエスト
max_chars ルールでは、上限を超える
プロンプトは HTTP 400 guardrail_blocked で拒否されます — そしてブロックされた
リクエストはクォータを消費しません。ブロックが使用量のメータリングの前に
発火するからです。過大なレスポンスをクランプする
アクション mask の
max_chars ルールでは、テキストは拒否される代わりに
上限まで切り詰められます — 呼び出し元は依然として使える回答を、ただ制限された
形で受け取ります。egress を上限するためにレスポンスステージで有用です。上限は文字を数えます(rune を認識 —
日本語 は 9 ではなく 3)。トークンでは
ありません。出荷されるトークン志向のプリセットは、標準的な文字→トークン比で
トークン予算を文字の天井に変換します。より厳格な予算には、ルールの max_chars
フィールドを直接引き締めてください。2. 出荷される cost プリセット
コンソールで New guardrail スプリットボタンを開き、cost テンプレート カテゴリから選びます。3 つのプリセットが各々単一のmax_chars ルールをシードします:
| プリセット | ステージ · アクション | 上限 |
|---|---|---|
| Prompt-Size Cap | input · block | 50,000 文字 |
| Token Cost Cap (prompt) | input · block | 200,000 文字(約 50K トークン) |
| Response Size Cap | output · block | 32,000 文字 |
max_chars の値、ステージ、アクションを編集します。ガードレールの
作成と編集にはワークスペースで Developer+ が必要です。
3. 独自の上限を作成する
cost ルールはエンジン内で最もシンプルなルールです — ステージ、アクション、整数。 リクエストを 20,000 文字で上限し、それより大きいものを拒否するには:max_chars は正の整数でなければ
なりません。バリデータは 0 または負の値を拒否します。
4. アタッチする前にテストする
いずれかのキーがそれを指す前に、上限が期待する場所で発火することを証明します。 ガードレールエディタ内の Test タブを開き、サンプルを貼り付け、input
ステージを選び、現在のポリシーをローカルで実行します — アップストリーム
呼び出しなし、クォータなし。上限超過のサンプルはブロック判定を返し、上限未満の
サンプルは手つかずで通過します。
クランプルールでは、サンドボックスが切り詰められたレンダリングテキストを表示する
ため、それに依存する前に上限が rune 境界に着地することを確認できます。
5. 上限をキーにアタッチする
cost ガードレールは他のものと全く同様に解決されます — API キーにアタッチするか、 ワークスペースデフォルトとして設定します。ここでのすべてのステップは、あなた自身の セッション下のコンソールアクションです。キーをアタッチする
API キーを編集し、Guardrail ドロップダウンからガードレールを選ぶ
(キー上に
guardrail_id を設定)か、ガードレールをワークスペース
デフォルトとしてマークします。
キーにアタッチすると
アカウントデフォルトを参照。6. ブロックされたリクエストに何がかかるか
リクエストステージの上限は、強制する最も安価なガードレールです:使用量が メータリングされる前に走るため、過大なプロンプトはゼロのクォータコストで 拒否されます。ブロックされた過大なリクエストはクォータを消費しますか?
ブロックされた過大なリクエストはクォータを消費しますか?
いいえ。入力ステージのブロックはメータリングの前に発火します。出力ステージの
ブロックはレスポンスが拒否された後に事前消費されたクォータを返金します。
いずれにせよ呼び出し元はクォータを支払わず、HTTP 400
guardrail_blocked を
受け取り、リクエストは skip-retry とマークされます — 同じ過大なプロンプトを
再実行してもまたブロックされるだけです。
guardrail_blocked エラーを参照。レスポンスの上限はストリーミングで強制されますか?
レスポンスの上限はストリーミングで強制されますか?
出力ステージの
max_chars block は両方で強制されます:非ストリーミング
レスポンスでは回答が返る前にスクリーニングされ、ストリーミングレスポンスでは
バッファが上限を超えると、スキャナが飛行中のストリームを打ち切ります。出力に
対する mask(クランプ)は現在、非ストリーミングレスポンスのみに適用されます。
ストリーミングカバレッジを参照。cost ルールはフィード内にマッチしたテキストを表示しますか?
cost ルールはフィード内にマッチしたテキストを表示しますか?
いいえ。
max_chars ルールには部分文字列の概念がないため、
マッチフィードは上限が発火したこと —
その種類、アクション、ステージ — を記録しますが、Log raw content がオンでも
マッチした部分文字列は決して記録しません。過大なペイロードを再キャプチャする
ことなく、発火したシグナルを得られます。7. これがどこにフィットするか
max_chars 上限は鈍いコストレバーです — ハードな天井であって、キーごとの支出
予算ではありません。文字ではなくドルを上限するには、API キー自体に
credit_limit_usd を設定します(0 = 無制限)。ゲートウェイはこれを任意の
ガードレールとは独立に強制します。2 つは積み重なります:キー予算は総支出を、
cost ガードレールは任意の単一リクエストまたはレスポンスのサイズを制限します。
8. 次にどこへ
入力ステージルール
リクエストのスクリーニングがアップストリーム呼び出しの前、メータリングの前に
どう走るか。
出力ステージルール
モデルのレスポンスのスクリーニングとクランプ、ストリーミングかどうかを問わず。
guardrail_blocked エラー
HTTP 400 の形状、クォータなしの保証、skip-retry。
テストと eval
キーをアタッチする前にコーパスに対して上限を証明します。
