메인 콘텐츠로 건너뛰기
모델에 결코 도달하거나 모델에서 결코 돌아와서는 안 되는 용어 목록이 있습니다 — 경쟁사의 이름, 내부 코드명, 금지된 비방, 아직 발표되지 않은 제품. 그것에 대한 가장 빠른 제어는 키워드 거부 목록입니다: 게이트웨이가 모든 호출에서 스캔한 뒤 차단, 마스킹, 또는 플래그하는 리터럴 용어 목록. 이것은 금지어 유스 케이스에 초점을 둔 랜딩입니다. 전체 guardrail 엔진 — 모든 규칙 타입, 필드, 라우트 — 은 Guardrails 레퍼런스를 참조하세요.

1. 민감어 필터 ai 유스 케이스

keyword 규칙은 엔진에서 가장 단순한 규칙입니다: 용어 목록을 주면, 게이트웨이는 한 스테이지에서 텍스트에 대해 그것들 중 하나라도 매치합니다. 매칭은 대소문자를 구분하지 않는 부분 문자열입니다 — BadWord, badword, BADWORD가 모두 매치하며, 용어가 더 긴 단어에 포함되어 있을 때도 매치합니다(따라서 classclassic도 매치합니다). 각 용어는 패턴이 아니라 리터럴 문자열로 취급됩니다; 정규식 메타 문자를 이스케이프하지 않습니다. 규칙을 콘솔에서 한 번 저장하고, guardrail을 임의의 API 키에 연결하거나 (또는 워크스페이스 기본값으로 만들거나), 그 키의 모든 호출이 SDK 변경 없이, 재배포 없이 검사됩니다. 정책은 애플리케이션이 아니라 게이트웨이에 존재합니다 — 당신의 앱은 이전과 정확히 동일하게 /v1/chat/completions를 계속 호출합니다.
거부 목록이 리터럴 용어의 유한한 집합일 때 keyword 규칙을 찾으세요. 와일드카드, 단어 경계, 또는 구조(SKU 형식, 주문 번호 형태)가 필요할 때는 대신 정규식 탐지기를 사용하세요.

2. 콘솔에서 규칙 작성하기

여기 모든 단계는 당신의 세션에서의 콘솔 액션입니다. guardrail을 생성하고 편집하려면 워크스페이스에서 **Developer+**가 필요합니다. 최종 /v1/* 호출만 sk-orca-... 릴레이 키를 사용합니다.
1

guardrail 생성

콘솔에서 Guardrails를 열고 New guardrail을 클릭합니다. 이름을 지정합니다(≤ 64자), 예: banned-terms.
2

키워드 규칙 추가

규칙을 하나 추가합니다:
  • Type: Keyword denylist (keyword)
  • Stage: Both (요청과 응답)
  • Action: Block
  • Keywords: 당신의 금지어, 한 행에 하나씩
저장합니다.
3

테스트

Test 탭을 열고, 금지어를 담은 샘플을 붙여넣고, 스테이지를 선택한 뒤, 정책을 로컬에서 실행합니다 — 업스트림 호출 없음, 쿼터 없음 (§5 참조).
4

키 연결

API 키를 편집하고 Guardrail 드롭다운에서 banned-terms를 선택하거나(키에 guardrail_id 설정), guardrail을 워크스페이스 기본값으로 표시합니다. 키에 연결하기계정 기본값을 참조하세요.
규칙의 JSON은 예상 그대로입니다:
{
  "type": "keyword",
  "stage": "both",
  "action": "block",
  "keywords": ["project-orca", "competitor-name", "unannounced-sku"]
}

3. 액션 선택하기

키워드 규칙은 규칙당 하나의 액션을 선택합니다:
어떤 매치든 요청을 HTTP 400 guardrail_blocked로 거부합니다. 차단된 요청은 쿼터를 소모하지 않으며 — 입력 스테이지 차단은 계량 전에 발동하고; 출력 스테이지 차단은 사전 소모된 쿼터를 환불합니다 — skip-retry로 표시됩니다. 어느 방향으로도 결코 통과해서는 안 되는 용어에 사용하세요. guardrail_blocked 오류를 참조하세요.
각 매치는 제자리에서 마스킹 태그로 대체되고 요청은 정화된 텍스트로 계속됩니다 — 업스트림 모델은 원본 용어를 결코 보지 못합니다. 액션을 참조하세요.
매치를 기록하고 트래픽에 대해 아무것도 변경하지 않습니다. 강제로 전환하기 전에 용어가 얼마나 자주 나타나는지 측정하는 데 사용하세요.
매치된 텍스트를 구분자로 감싸므로(예: ⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) 모델이 그것을 지시가 아니라 데이터로 취급합니다 — 입력 스테이지 프롬프트 인젝션 방어. 텍스트는 여전히 모델에 도달하며, 단지 울타리가 쳐질 뿐입니다. 액션을 참조하세요.
스테이지가 중요합니다. input은 호출자의 요청을 스캔하고, output은 모델의 응답을 스캔하고, both는 각 측을 독립적으로 스캔합니다. 사용자가 입력하는 금지어와 모델이 내보낼 수 있는 금지어는 다른 문제입니다 — 맞는 스테이지를 선택하세요. 입력 스테이지 규칙출력 스테이지 규칙을 참조하세요.

4. 스트리밍 커버리지

선택한 액션은 응답이 스트리밍되는지 여부와 상호 작용합니다:
액션비스트리밍스트리밍
block (출력)강제됨강제됨 — 스캐너가 스트림을 끊음
mask (출력)강제됨아직 아님 — block 결정은 존중되나 마스킹된 텍스트는 전달 안 됨(로드맵)
입력 스테이지 규칙은 업스트림 호출 전에 실행되므로, 스트리밍의 영향을 받지 않습니다 — 입력 mask는 응답이 스트리밍되든 아니든 요청을 정화합니다. 금지어 block은 어느 쪽이든 완전한 커버리지를 얻습니다. 하지만 출력 mask는 오늘날 비스트리밍 응답에서만 마스킹합니다: 스트리밍 응답에서 스캐너는 여전히 block 결정에 행동하지만, 스트리밍된 텍스트의 인밴드 재작성은 라이브가 아니라 로드맵에 있습니다. 스트리밍 커버리지를 참조하세요.

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

어떤 키가 그것을 가리키기 전에 규칙이 예상대로 동작함을 증명하세요. 에디터 내부의 Test 탭을 열고, 샘플을 붙여넣고, 스테이지를 선택한 뒤 실행합니다:
Tell me about Project-Orca and our competitor-name
샌드박스는 현재 정책을 로컬에서 평가하고 판정을 반환합니다 — 업스트림으로 아무것도 보내지 않고, 아무것도 계량되지 않습니다. block 액션에서는 샘플이 거부되고; mask에서는 각 용어가 마스킹된 렌더링된 텍스트가 돌아옵니다. 코퍼스에 대한 A/B 그리드는 — 거부 목록이 양성 트래픽을 플래그하지 않으면서 잡아야 할 것을 잡는지 확인하기 위해 — 한 탭 옆의 평가 하니스에 있습니다.

6. 요청 전송

banned-terms에 바인딩된 키를 사용하여, 이전과 정확히 동일하게 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": "Summarize Project-Orca for me"}
    ]
  }'
block 액션에서는 호출이 모델에 도달하기 전에 HTTP 400 guardrail_blocked로 거부됩니다. 액션을 mask로 바꾸면 대신 용어가 전달하기 전에 제자리에서 마스킹됩니다.

7. 무엇이 발동했는지 보기

발동하는 모든 규칙은 match를 기록합니다 — 규칙 타입, 액션, 스테이지, 그리고 상세 문자열(키워드 규칙의 경우, 몇 개의 용어가 매치되었는지) — 워크스페이스 Matches 피드에 표시됩니다.
매치된 용어 자체는 Log raw content가 켜져 있을 때 기록되며, 이는 기본적으로 꺼져 있습니다 — 프라이버시 보수적 자세. 그것이 꺼져 있어도 키워드 규칙이 발동했다는 사실과 그것이 얼마나 자주인지는 여전히 보지만, 리터럴 용어는 보지 못합니다. 분류를 위해 부분 문자열이 필요할 때 guardrail별로 켜세요; 이 설정은 소급되지 않습니다. Matches 피드로깅 및 프라이버시를 참조하세요.
양성 용어가 계속 매치되면(흔한 단어의 부분 문자열인 거부 목록 항목), Matches 피드에서 그것을 거짓 양성으로 표시하고 항목을 조이세요. 거짓 양성 튜닝을 참조하세요.

8. 다음으로 갈 곳

정규식 탐지기

리터럴 거부 목록으로 충분하지 않을 때 구조화된 패턴 — SKU, 주문 번호, 형식 — 을 매치합니다.

브랜드 안전

키워드 규칙 위에 구축된 욕설, 경쟁사 언급, 아동 안전 프리셋.

액션

block, mask, flag가 어떻게 다른지와 각각을 언제 사용하는지.

Guardrails 레퍼런스

완전한 엔진 — 모든 규칙 타입, 필드, 라우트.
키워드 거부 목록은 콘텐츠를 관리합니다. 에이전트의 툴 호출을 관리하려면 — 파괴적 액션 거부, 툴 호출 인자 마스킹, 승인 요구 — Firewall을 사용하세요. 어떤 리터럴 목록도 표현할 수 없는 모호한 정책(독성, 주제 이탈, 인젝션 의도)에는 llm_judge 규칙이 워크스페이스 모델에 대해 의미론적 검사를 실행합니다.