1. 민감어 필터 ai 유스 케이스
keyword 규칙은 엔진에서 가장 단순한 규칙입니다: 용어 목록을 주면,
게이트웨이는 한 스테이지에서 텍스트에 대해 그것들 중 하나라도 매치합니다.
매칭은 대소문자를 구분하지 않는 부분 문자열입니다 — BadWord,
badword, BADWORD가 모두 매치하며, 용어가 더 긴 단어에 포함되어 있을
때도 매치합니다(따라서 class는 classic도 매치합니다). 각 용어는
패턴이 아니라 리터럴 문자열로 취급됩니다; 정규식 메타 문자를 이스케이프하지
않습니다.
규칙을 콘솔에서 한 번 저장하고, guardrail을 임의의 API 키에 연결하거나
(또는 워크스페이스 기본값으로 만들거나), 그 키의 모든 호출이 SDK 변경
없이, 재배포 없이 검사됩니다. 정책은 애플리케이션이 아니라 게이트웨이에
존재합니다 — 당신의 앱은 이전과 정확히 동일하게 /v1/chat/completions를
계속 호출합니다.
2. 콘솔에서 규칙 작성하기
여기 모든 단계는 당신의 세션에서의 콘솔 액션입니다. guardrail을 생성하고 편집하려면 워크스페이스에서 **Developer+**가 필요합니다. 최종/v1/* 호출만 sk-orca-... 릴레이 키를 사용합니다.
키워드 규칙 추가
규칙을 하나 추가합니다:
- Type: Keyword denylist (
keyword) - Stage: Both (요청과 응답)
- Action: Block
- Keywords: 당신의 금지어, 한 행에 하나씩
테스트
Test 탭을 열고, 금지어를 담은 샘플을 붙여넣고, 스테이지를 선택한
뒤, 정책을 로컬에서 실행합니다 — 업스트림 호출 없음, 쿼터 없음
(§5 참조).
3. 액션 선택하기
키워드 규칙은 규칙당 하나의 액션을 선택합니다:Block — 호출을 거부
Block — 호출을 거부
어떤 매치든 요청을 HTTP 400
guardrail_blocked로 거부합니다.
차단된 요청은 쿼터를 소모하지 않으며 — 입력 스테이지 차단은 계량
전에 발동하고; 출력 스테이지 차단은 사전 소모된 쿼터를 환불합니다 —
skip-retry로 표시됩니다. 어느 방향으로도 결코 통과해서는 안 되는
용어에 사용하세요.
guardrail_blocked 오류를
참조하세요.Mask — 용어를 마스킹
Mask — 용어를 마스킹
각 매치는 제자리에서 마스킹 태그로 대체되고 요청은 정화된 텍스트로
계속됩니다 — 업스트림 모델은 원본 용어를 결코 보지 못합니다.
액션을 참조하세요.
Flag — 관찰만
Flag — 관찰만
매치를 기록하고 트래픽에 대해 아무것도 변경하지 않습니다. 강제로
전환하기 전에 용어가 얼마나 자주 나타나는지 측정하는 데 사용하세요.
Spotlight — 신뢰할 수 없는 데이터로 감싸기 (입력)
Spotlight — 신뢰할 수 없는 데이터로 감싸기 (입력)
매치된 텍스트를 구분자로 감싸므로(예:
⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) 모델이 그것을 지시가 아니라 데이터로
취급합니다 — 입력 스테이지 프롬프트 인젝션 방어. 텍스트는 여전히
모델에 도달하며, 단지 울타리가 쳐질 뿐입니다.
액션을 참조하세요.스테이지가 중요합니다.
input은 호출자의 요청을 스캔하고, output은
모델의 응답을 스캔하고, both는 각 측을 독립적으로 스캔합니다. 사용자가
입력하는 금지어와 모델이 내보낼 수 있는 금지어는 다른 문제입니다 — 맞는
스테이지를 선택하세요.
입력 스테이지 규칙과
출력 스테이지 규칙을 참조하세요.4. 스트리밍 커버리지
선택한 액션은 응답이 스트리밍되는지 여부와 상호 작용합니다:| 액션 | 비스트리밍 | 스트리밍 |
|---|---|---|
block (출력) | 강제됨 | 강제됨 — 스캐너가 스트림을 끊음 |
mask (출력) | 강제됨 | 아직 아님 — block 결정은 존중되나 마스킹된 텍스트는 전달 안 됨(로드맵) |
5. 연결하기 전에 테스트하기
어떤 키가 그것을 가리키기 전에 규칙이 예상대로 동작함을 증명하세요. 에디터 내부의 Test 탭을 열고, 샘플을 붙여넣고, 스테이지를 선택한 뒤 실행합니다:6. 요청 전송
banned-terms에 바인딩된 키를 사용하여, 이전과 정확히 동일하게
OrcaRouter를 호출합니다 — 새 헤더 없음, SDK 변경 없음:
guardrail_blocked로 거부됩니다. 액션을 mask로 바꾸면 대신 용어가
전달하기 전에 제자리에서 마스킹됩니다.
7. 무엇이 발동했는지 보기
발동하는 모든 규칙은 match를 기록합니다 — 규칙 타입, 액션, 스테이지, 그리고 상세 문자열(키워드 규칙의 경우, 몇 개의 용어가 매치되었는지) — 워크스페이스 Matches 피드에 표시됩니다. 양성 용어가 계속 매치되면(흔한 단어의 부분 문자열인 거부 목록 항목), Matches 피드에서 그것을 거짓 양성으로 표시하고 항목을 조이세요. 거짓 양성 튜닝을 참조하세요.8. 다음으로 갈 곳
정규식 탐지기
리터럴 거부 목록으로 충분하지 않을 때 구조화된 패턴 — SKU, 주문 번호,
형식 — 을 매치합니다.
브랜드 안전
키워드 규칙 위에 구축된 욕설, 경쟁사 언급, 아동 안전 프리셋.
액션
block, mask, flag가 어떻게 다른지와 각각을 언제 사용하는지.
Guardrails 레퍼런스
완전한 엔진 — 모든 규칙 타입, 필드, 라우트.
llm_judge 규칙이 워크스페이스 모델에 대해
의미론적 검사를 실행합니다.