메인 콘텐츠로 건너뛰기
폭주하는 프롬프트는 폭주하는 청구서입니다. 400KB 기록을 컨텍스트에 붙여넣는 에이전트, 동일한 부풀어 오른 요청을 계속 재전송하는 재시도 루프, 50,000자의 텍스트 벽을 스트리밍하는 모델 — 각각이 당신이 결코 쓸 의도가 없던 토큰을 청구합니다. cost 프리셋 카테고리는 그 요청 앞에 하드 천장을 두어 게이트웨이가 그것들이 업스트림 모델과 계량에 도달하기 전에 멈추게 합니다. 이것은 비용 제어 유스 케이스에 초점을 둔 랜딩입니다. 전체 guardrail 엔진 — 모든 규칙 타입, 필드, 라우트 — 은 Guardrails 레퍼런스를 참조하세요.

1. llm 비용 guardrail 유스 케이스

지렛대는 하나의 내장 규칙 타입입니다: max_chars. 한 스테이지에서 텍스트의 문자 수를 상한 처리합니다. 모델 호출 없음, 네트워크 홉 없음 — 계량 전에 요청에서, 또는 모델이 반환한 후 응답에서 실행되는 결정적 길이 검사. 규칙의 액션으로 선택되는 두 가지 형태:

과대한 요청 차단

액션 block이 있는 요청 max_chars 규칙에서, 제한을 초과하는 모든 프롬프트는 HTTP 400 guardrail_blocked로 거부됩니다 — 그리고 차단된 요청은 쿼터를 소모하지 않습니다. 차단이 사용량이 계량되기 전에 발동하기 때문입니다.

과대한 응답 클램핑

액션 mask가 있는 max_chars 규칙에서, 텍스트는 거부되는 대신 제한으로 잘립니다 — 호출자는 여전히 사용 가능한 답변을, 단지 한정된 상태로 받습니다. egress를 상한 처리하려면 응답 스테이지에서 유용합니다.
상한은 토큰이 아니라 문자를 셉니다(룬 인식 — 日本語는 아홉이 아니라 셋입니다). 제공되는 토큰 지향 프리셋은 표준 char→token 비율로 토큰 예산을 문자 천장으로 변환합니다; 더 엄격한 예산을 위해서는 규칙의 max_chars 필드를 직접 조이세요.

2. 제공되는 cost 프리셋

콘솔에서 New guardrail 분할 버튼을 열고 cost 템플릿 카테고리에서 선택합니다. 세 개의 프리셋이 각각 단일 max_chars 규칙을 씨앗으로 만듭니다:
프리셋스테이지 · 액션상한
Prompt-Size Capinput · block50,000자
Token Cost Cap (prompt)input · block200,000자 (~50K 토큰)
Response Size Capoutput · block32,000자
각 프리셋은 씨앗이지 잠금이 아닙니다 — 적용한 뒤, max_chars 값, 스테이지, 또는 액션을 당신의 예산에 맞게 편집하세요. guardrail을 작성하고 편집하려면 워크스페이스에서 **Developer+**가 필요합니다.
Response Size Cap은 출력 스테이지 상한입니다. 긴 답변을 거부하기보다 클램핑하려면, 그 액션을 mask로 전환하세요 — 게이트웨이가 응답을 제한으로 다듬고 사용자는 여전히 오류 대신 잘렸지만 사용 가능한 응답을 받습니다.

3. 자신의 상한 작성하기

비용 규칙은 엔진에서 가장 단순한 규칙입니다 — 스테이지, 액션, 그리고 정수. 요청을 20,000자로 상한 처리하고 더 큰 것을 거부하려면:
{
  "type": "max_chars",
  "stage": "input",
  "action": "block",
  "max_chars": 20000
}
콘솔에서 임의의 guardrail에 추가하세요. max_chars는 양의 정수여야 합니다; 검증기는 0이나 음수 값을 거부합니다.

4. 연결하기 전에 테스트하기

어떤 키가 그것을 가리키기 전에 상한이 예상한 곳에서 발동함을 증명하세요. guardrail 에디터 내부의 Test 탭을 열고, 샘플을 붙여넣고, input 스테이지를 선택한 뒤 현재 정책을 로컬에서 실행합니다 — 업스트림 호출 없음, 쿼터 없음. 제한 초과 샘플은 차단된 판정을 반환하고; 제한 미만 샘플은 그대로 통과합니다. 클램핑 규칙의 경우, 샌드박스가 잘린 렌더링된 텍스트를 보여주므로, 그것을 의존하기 전에 상한이 룬 경계에 안착함을 확인할 수 있습니다.

5. 키에 상한 연결하기

비용 guardrail은 다른 것과 정확히 동일하게 해석됩니다 — API 키에 연결하거나, 워크스페이스 기본값으로 설정합니다. 여기 모든 단계는 당신의 세션에서의 콘솔 액션입니다.
1

guardrail 저장

콘솔에서 guardrail을 생성하거나 열고, max_chars 규칙을 추가한 뒤(또는 cost 프리셋을 적용한 뒤), 저장합니다.
2

키 연결

API 키를 편집하고 Guardrail 드롭다운에서 guardrail을 선택하거나(키에 guardrail_id 설정), guardrail을 워크스페이스 기본값으로 표시합니다. 키에 연결하기계정 기본값을 참조하세요.
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. 차단된 요청이 소모하는 것

요청 스테이지 상한은 강제하기 가장 저렴한 guardrail입니다: 사용량이 계량되기 전에 실행되므로, 과대한 프롬프트가 쿼터 비용 없이 거부됩니다.
아니요. 입력 스테이지 차단은 계량 전에 발동합니다. 출력 스테이지 차단은 응답이 거부된 후 사전 소모된 쿼터를 환불합니다. 어느 쪽이든 호출자는 쿼터를 지불하지 않고, HTTP 400 guardrail_blocked를 받으며, 요청은 skip-retry로 표시됩니다 — 동일한 과대한 프롬프트를 다시 실행해도 그저 다시 차단될 뿐입니다. guardrail_blocked 오류를 참조하세요.
출력 스테이지의 max_chars block은 양방향으로 강제됩니다: 비스트리밍 응답에서는 답변이 반환되기 전에 검사되고, 스트리밍 응답에서는 버퍼가 상한을 넘으면 스캐너가 스트림을 도중에 끊습니다. 출력의 mask(클램핑)는 현재 비스트리밍 응답에만 적용됩니다. 스트리밍 커버리지를 참조하세요.
아니요. max_chars 규칙은 부분 문자열 개념이 없으므로, Matches 피드는 상한이 발동했다는 것 — 그 타입, 액션, 스테이지 — 을 기록하지만 Log raw content가 켜져 있어도 매치된 부분 문자열은 결코 기록하지 않습니다. 과대한 페이로드를 다시 캡처하지 않고 발동했다는 신호를 얻습니다.

7. 이것이 맞는 곳

max_chars 상한은 무딘 비용 지렛대입니다 — 하드 천장이지 키별 지출 예산이 아닙니다. 문자가 아니라 달러를 상한 처리하려면, API 키 자체에 credit_limit_usd를 설정하세요(0 = 무제한), 이는 게이트웨이가 어떤 guardrail과도 독립적으로 강제합니다. 둘은 쌓입니다: 키 예산은 총 지출을 한정하고, 비용 guardrail은 단일 요청이나 응답의 크기를 한정합니다.
비용 guardrail은 모델 선택이나 라우팅 결정이 아니라 콘텐츠 크기를 검사합니다. 어떤 모델이 서비스하든 과대한 프롬프트를 거부합니다. 에이전트의 툴 호출을 관리하려면 — 파괴적 액션을 거부하거나 승인을 위해 보류하려면 — 콘텐츠 표면이 아니라 툴 호출 표면(allow / deny / pending_approval)에서 결정하는 Firewall을 사용하세요.

8. 다음으로 갈 곳

입력 스테이지 규칙

요청 검사가 업스트림 호출 전과 계량 전에 어떻게 실행되는지.

출력 스테이지 규칙

모델의 응답을 검사하고 클램핑하기, 스트리밍이든 아니든.

guardrail_blocked 오류

HTTP 400 형태, 쿼터 없음 보장, 그리고 skip-retry.

테스트 및 평가

키를 연결하기 전에 코퍼스에 대해 상한을 증명합니다.
비용 상한은 크기를 한정합니다. 콘텐츠 — PII, 시크릿, 안전하지 않은 프롬프트 — 를 한정하려면, Guardrails 개요에서 시작하거나 완전한 엔진은 Guardrails 레퍼런스를 읽으세요.