Model Armor에서 템플릿별 제외 규칙을 구성하여 거짓양성 감지를 완화할 수 있습니다. 제외 규칙은 감지에서 제외할 정규 표현식 또는 구문을 포함하는 템플릿별 규칙입니다.
지원되는 필터
다음 필터에 제외 규칙을 사용할 수 있습니다.
- 프롬프트 인젝션 및 탈옥 탐지(
PROMPT_INJECTION_AND_JAILBREAK) - 책임감 있는 AI 안전 필터(
RESPONSIBLE_AI)
제외 규칙을 사용해야 하는 경우
필터를 완전히 사용 중지하지 않고 특정 워크로드에 대해 알려진 거짓양성 감지를 억제해야 하는 경우 템플릿별 제외 규칙을 사용하세요.
- 도메인별 또는 기술 용어: 애플리케이션이 책임감 있는 AI 안전 카테고리와 중복되는 전문 어휘(예: 시스템 관리 명령(
kill process,abort transaction), 보안 테스트 용어(penetration testing), 과학 용어(blast search), 업계 관용구)를 처리합니다. - 무해한 운영 또는 서식 지정 안내: 사용자 또는 프롬프트 템플릿에 프롬프트 인젝션 및 탈옥 감지에서 거짓양성을 트리거하는 명령형 동사 (예:
"ignore case when sorting this list","ignore empty rows"또는"Summarize my inbox and ignore the emails from the marketing vendor.")를 사용하는 합법적인 안내가 포함되어 있습니다. - 모델 업데이트를 기다리는 동안 타겟 완화: 다른 모든 입력에 대해 필터를 활성 상태로 유지하면서 특정 애플리케이션 워크플로에서 확인된 거짓양성에 대한 즉각적인 해결 방법이 필요합니다.
다음 표에서는 규칙 유형과 일치 범위의 각 조합을 사용하는 경우를 설명합니다. 사전 및 정규 표현식 일치 작동 방식에 대한 자세한 내용은 사전 및 정규 표현식 규칙 및 일치 작동 방식을 참고하세요.
| 규칙 구성 | 사용 시기 | 예 |
|---|---|---|
부분 일치가 있는 사전 규칙(MATCHING_SCOPE_PARTIAL_MATCH)
|
프롬프트 또는 대답 내 어디에나 표시될 수 있는 고정된 정적 단어 또는 문구 목록이 있습니다. 사전 일치 동작에 관한 자세한 내용은 사전 및 정규 표현식 규칙을 참고하세요. |
사전에 일치 항목:
일치하지 않음:
|
완전 일치가 있는 사전 규칙(MATCHING_SCOPE_FULL_MATCH)
|
애플리케이션에서 전체 입력이 알려진 문구와 일치하는 사전 정의된 프롬프트 옵션 (예: UI 빠른 답장 버튼 또는 미리 준비된 명령어)을 사용하며, 추가로 검열되지 않은 텍스트가 필터를 우회하지 않도록 하려고 합니다. 사전 일치 동작에 대한 자세한 내용은 사전 및 정규 표현식 규칙을 참고하세요. |
사전에 일치 항목:
일치하지 않음:
|
부분 일치가 있는 정규 표현식 규칙(MATCHING_SCOPE_PARTIAL_MATCH)
|
더 큰 프롬프트나 응답 내에서 구조화된 패턴, 동적 식별자 또는 특정 동사-명사 조합을 제외해야 합니다. 자세한 내용은 정규 표현식 제외 패턴 예를 참고하세요. |
정규 표현식 패턴:
일치 항목:
일치하지 않음:
|
완전 일치 정규 표현식 규칙(MATCHING_SCOPE_FULL_MATCH)
|
전체 입력 페이로드는 엄격한 구조 형식 (예: 자동화된 테스트 식별자 또는 구조화된 명령어)을 따릅니다. |
정규 표현식 패턴:
일치 항목:
일치하지 않음:
|
리전 또는 멀티 리전 엔드포인트 사용
Model Armor 템플릿을 사용할 때는 템플릿의 위치와 일치하는 리전 또는 멀티 리전 엔드포인트(modelarmor.LOCATION.rep.googleapis.com)를 사용해야 합니다.
전역 엔드포인트 (modelarmor.googleapis.com)는 Model Armor 템플릿 관리 또는 프롬프트 및 대답 삭제를 지원하지 않습니다.
시작하기 전에
시작하기 전에 다음 작업을 완료하세요.
필수 권한 얻기
Model Armor 템플릿에서 제외 규칙을 구성하는 데 필요한 권한을 얻으려면 관리자에게 Model Armor 템플릿이 포함된 프로젝트에 대한 Model Armor 관리자 (roles/modelarmor.admin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
API 사용 설정
Model Armor를 사용하려면 먼저 Model Armor API를 사용 설정해야 합니다.
콘솔
Model Armor API가 아직 사용 설정되지 않은 경우 사용 설정합니다.
API 사용 설정에 필요한 역할
API를 사용 설정하려면
serviceusage.services.enable권한이 필요합니다. 프로젝트를 만든 경우 소유자 역할 (roles/owner)을 통해 이 권한이 이미 있을 수 있습니다. 그렇지 않은 경우 서비스 사용량 관리자 역할 (roles/serviceusage.serviceUsageAdmin)을 통해 이 권한을 얻을 수 있습니다. 역할을 부여하는 방법 알아보기Model Armor를 활성화할 프로젝트를 선택합니다.
gcloud
시작하기 전에 Model Armor API와 함께 Google Cloud CLI를 사용하여 다음 단계를 따르세요.
Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.
Google Cloud 콘솔 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.
Model Armor API가 아직 사용 설정되지 않은 경우 사용 설정합니다.
API 사용 설정에 필요한 역할
API를 사용 설정하려면
serviceusage.services.enable권한이 필요합니다. 프로젝트를 만든 경우 소유자 역할 (roles/owner)을 통해 이 권한이 이미 있을 수 있습니다. 그렇지 않은 경우 서비스 사용량 관리자 역할 (roles/serviceusage.serviceUsageAdmin)을 통해 이 권한을 얻을 수 있습니다. 역할을 부여하는 방법 알아보기gcloud services enable modelarmor.googleapis.com
gcloud CLI를 사용하여 API 엔드포인트 재정의 설정
이 단계는 Model Armor와 함께 gcloud CLI를 사용하고 기본 us 멀티 리전이 아닌 리전 또는 멀티 리전을 사용하려는 경우에만 필요합니다. gcloud CLI가 Model Armor 서비스로 요청을 올바르게 라우팅하도록 API 엔드포인트 재정의를 수동으로 설정해야 합니다.
다음 명령어를 실행하여 Model Armor 서비스의 API 엔드포인트를 설정합니다.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
LOCATION을 Model Armor를 사용하려는 리전 또는 멀티 리전으로 바꿉니다.
제외 규칙 작동 방식
Model Armor API를 사용하여 제외 규칙을 구성합니다.
사전 및 정규 표현식 규칙
Model Armor 템플릿 내에서 두 가지 유형의 제외 규칙을 정의할 수 있습니다.
- 사전 규칙: 제외할 단어 또는 구문 목록 (
wordList, 사전당 최대 128KB)을 지정합니다. 사전에는 하나 이상의 문구가 포함되어야 하며 각 문구에는 2자 이상의 문자(영문 기준) 또는 숫자가 포함되어야 합니다. 사전 일치는 다음과 같이 작동합니다.- 대소문자 구분 안 함: 사전 단어와 문구는 대소문자를 구분하지 않습니다.
- 영숫자가 아닌 문자: 일치 항목을 검색할 때 유니코드 기본 다국어 평면의 문자와 숫자를 제외한 모든 문자는 공백으로 대체됩니다. 예를 들어 사전 구문
Sam Johnson은sam johnson,Sam, Johnson,Sam (Johnson)와 일치합니다. 글자 또는 숫자가 아닌 문자가 많이 포함된 사전 구문의 경우 이러한 문자가 공백으로 간주되므로 예상치 못한 일치 항목이 발생할 수 있습니다. - 문자 경계: 일치하는 항목을 둘러싼 문자는 사전 단어 내 인접 문자와 다른 문자 유형이어야 합니다. 문자는 문자가 아닌 문자에 인접해야 하고 숫자는 숫자가 아닌 숫자에 인접해야 합니다. 예를 들어 사전 단어
jen는jen123의 처음 세 글자와 일치하지만jennifer와는 일치하지 않습니다.
- 정규 표현식 규칙: 일치시키고 제외할 정규 표현식 패턴 (최대 1,000자)을 지정합니다. 정규 표현식 일치는 기본적으로 대소문자를 구분합니다. 대소문자를 구분하지 않는 일치를 실행하려면 패턴에
(?i)플래그를 포함합니다. 예를 들어(?i)kill process [0-9]+은kill process 1234및Kill Process 1234모두와 일치합니다.
매칭 작동 방식
각 제외 규칙은 Model Armor가 규칙에 대해 입력 콘텐츠를 일치시키는 방법을 지정하는 matchingScope 필드를 지원합니다.
- 부분 일치 (
MATCHING_SCOPE_PARTIAL_MATCH, 기본값):- 사전 규칙: 사전의 단어나 구문이 사전 문자 경계 규칙에 따라 입력 콘텐츠의 하위 문자열과 일치하는 경우 일치합니다. 예를 들어 사전 구문
ignore empty rows는ignore empty rows,ignore EMPTY-rows,Please ignore empty rows and summarize this table와 일치하지만ignore rows또는ignore the empty rows와는 일치하지 않습니다. - 정규 표현식 규칙: 입력 콘텐츠의 하위 문자열이 정규 표현식 패턴과 일치하면 일치합니다.
- 사전 규칙: 사전의 단어나 구문이 사전 문자 경계 규칙에 따라 입력 콘텐츠의 하위 문자열과 일치하는 경우 일치합니다. 예를 들어 사전 구문
- 완전 일치 (
MATCHING_SCOPE_FULL_MATCH):- 사전 규칙: 사전 항목이 전체 입력 콘텐츠를 포함하는 경우에만 일치합니다. 예를 들어 사전 구문
ignore empty rows는ignore empty rows및ignore EMPTY-rows와 일치하지만please ignore empty rows또는ignore rows와는 일치하지 않습니다. - 정규 표현식 규칙: 정규 표현식 패턴이 전체 입력 콘텐츠와 일치하는 경우에만 일치합니다.
- 사전 규칙: 사전 항목이 전체 입력 콘텐츠를 포함하는 경우에만 일치합니다. 예를 들어 사전 구문
정리 중 제외 규칙 재정의
템플릿에 제외 규칙이 포함된 경우 프롬프트 인젝션 및 탈옥 감지 (PROMPT_INJECTION_AND_JAILBREAK) 또는 책임감 있는 AI (RESPONSIBLE_AI) 필터에서 잠재적인 일치 항목을 식별할 때마다 Model Armor는 프롬프트 및 모델 응답 정리 중에 이러한 규칙을 평가합니다.
- 규칙이 입력과 일치함: 제외 규칙이 하위 문자열(
MATCHING_SCOPE_PARTIAL_MATCH, 기본값) 또는 시작부터 끝까지의 전체 입력 (MATCHING_SCOPE_FULL_MATCH)과 일치하는 경우 Model Armor는matchState를 재정의하고 입력 내의 개별 문구 또는 범위가 아닌 해당 전체 지원되는 필터 유형 (RESPONSIBLE_AI의 모든 책임감 있는 AI 안전 카테고리 포함)에 대해NO_MATCH_FOUND로 설정합니다. 다른 활성 필터에서 위반을 감지하지 않으면filterMatchState는NO_MATCH_FOUND를 반환합니다. 제외 규칙이 필터matchState를 재정의하는 경우 Model Armor는 Cloud Logging에 표시기를 로깅하지 않으며 정리 응답에 신호를 포함하지 않습니다. - 규칙이 전체 입력 (
MATCHING_SCOPE_FULL_MATCH)과 일치하지 않음: 입력에 구성된 문구 또는 패턴을 초과하는 추가 텍스트가 포함된 경우 규칙이 일치하지 않으며 필터는MATCH_FOUND을 유지합니다. - 입력이 0.5MB 초과: 제외 규칙은 입력 텍스트의 처음 0.5MB만 평가합니다. 입력이 0.5MB를 초과하고 필터가 초기 스캔된 부분 외부에서 일치하는 항목을 감지하면 필터는
EXECUTION_SKIPPED를 반환합니다.messageItems값 및 페이로드 한도에 대한 자세한 내용은 제외 규칙 시스템 한도를 참고하세요.
제외 규칙을 사용하여 프롬프트와 모델 응답을 정리하는 예는 제외 규칙을 사용하여 프롬프트 정리 및 제외 규칙을 사용하여 응답 정리를 참고하세요.
고려사항
제외 규칙을 구성할 때는 다음 사항을 고려하세요.
- 제외 규칙은 정의된 템플릿에만 적용됩니다. 템플릿 간에 제외 규칙을 공유할 수 없습니다.
- 지원되는 필터 유형의 제외 규칙은 템플릿에서 해당 필터가 사용 설정된 경우에만 구성할 수 있습니다.
프롬프트 인젝션 및 탈옥 감지(
PROMPT_INJECTION_AND_JAILBREAK)의 경우piAndJailbreakFilterSettings에서filterEnforcement을ENABLED로 설정합니다. 책임감 있는 AI 안전 필터(RESPONSIBLE_AI)를 사용 설정하려면raiSettings.raiFilters에서 하나 이상의 책임감 있는 AI 안전 카테고리를 구성하세요. - Model Armor는 스트리밍 API 또는 최소 기준 설정에서 제외 규칙을 지원하지 않습니다.
- Model Armor는 익명처리 또는 번역과 같은 텍스트 변환을 실행하기 전에 원시 입력 텍스트에 대해 제외 규칙을 평가합니다. 제외 규칙은 다국어 감지 또는 자동 번역을 지원하지 않습니다. 여러 언어로 콘텐츠를 제외하려면 각 대상 언어에 대해 언어별 구문 또는 정규 표현식 패턴을 추가하세요.
- 제외 규칙은 라틴 문자가 아닌 스크립트 언어와 멀티바이트 UTF-8 문자를 제한적으로 지원합니다. 특히 결합 기호를 사용하는 스크립트 (예: 인도 스크립트) 또는 단어 사이에 공백이 없는 스크립트 (예: 중국어 및 일본어)의 경우 사전 규칙 (
wordList)이 예상대로 일치하지 않을 수 있습니다. 전체 일치 규칙 (MATCHING_SCOPE_FULL_MATCH)은 멀티바이트 UTF-8 문자가 포함된 입력과 일치하지 않습니다. 라틴어가 아닌 스크립트의 콘텐츠 또는 멀티바이트 문자가 포함된 입력을 제외할 때는MATCHING_SCOPE_PARTIAL_MATCH와 함께 정규 표현식 규칙 (regex)을 사용하세요. - 제외 규칙에는 시스템 한도가 적용됩니다. 자세한 내용은 제외 규칙 시스템 한도를 참고하세요.
제외 규칙이 있는 템플릿 만들기
제외 규칙이 있는 템플릿을 만들려면 POST 요청에서 filterConfig 내에 filterRuleSettings 객체를 포함합니다.
다음 예에서는 프롬프트 인젝션 및 탈옥 감지와 책임감 있는 AI 안전 필터를 사용 설정하고 부분 일치 (MATCHING_SCOPE_PARTIAL_MATCH)를 사용하여 두 개의 제외 규칙을 구성하는 템플릿을 만듭니다.
- 프롬프트 인젝션 및 탈옥 감지(
PROMPT_INJECTION_AND_JAILBREAK): 사전 규칙을 사용하여ignore case when sorting this list또는ignore empty rows과 같은 지정된 문구가 포함된 입력을 프롬프트 인젝션 및 탈옥 감지에서 제외합니다. - 책임감 있는 AI (
RESPONSIBLE_AI): 정규 표현식 규칙을 사용하여 책임감 있는 AI 안전 감지에서(?i)kill process [0-9]+과 같은 지정된 패턴과 일치하는 입력을 제외합니다.
export TEMPLATE_WITH_EXCLUSIONS='{
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "LOW_AND_ABOVE"
},
"raiSettings": {
"raiFilters": [
{
"filterType": "DANGEROUS",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "HARASSMENT",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "HATE_SPEECH",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "LOW_AND_ABOVE"
}
]
},
"filterRuleSettings": {
"ruleSets": [
{
"filterTypes": [
"PROMPT_INJECTION_AND_JAILBREAK"
],
"rules": [
{
"exclusionRule": {
"dictionary": {
"wordList": {
"words": [
"EXCLUDED_PHRASE_1",
"EXCLUDED_PHRASE_2"
]
}
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
}
]
},
{
"filterTypes": [
"RESPONSIBLE_AI"
],
"rules": [
{
"exclusionRule": {
"regex": {
"pattern": "EXCLUDED_REGEX_PATTERN"
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
}
]
}
]
}
}
}'
curl -X POST \
-d "$TEMPLATE_WITH_EXCLUSIONS" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
다음을 바꿉니다.
EXCLUDED_PHRASE_1및EXCLUDED_PHRASE_2: 프롬프트 인젝션 및 탈옥 감지에서 제외할 사전 단어나 구문입니다(예:ignore case when sorting this list및ignore empty rows).EXCLUDED_REGEX_PATTERN: 책임감 있는 AI 안전 감지에서 제외할 정규 표현식 패턴입니다(예:(?i)kill process [0-9]+).PROJECT_ID: 템플릿이 속한 프로젝트의 IDLOCATION: 템플릿의 위치TEMPLATE_ID: 템플릿의 ID
이 명령어는 다음과 비슷한 응답을 반환합니다.
{
"filterConfig": {
"raiSettings": {
"raiFilters": [
{
"filterType": "DANGEROUS",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "HARASSMENT",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "HATE_SPEECH",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "LOW_AND_ABOVE"
}
]
},
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "LOW_AND_ABOVE"
},
"filterRuleSettings": {
"ruleSets": [
{
"filterTypes": [
"PROMPT_INJECTION_AND_JAILBREAK"
],
"rules": [
{
"exclusionRule": {
"dictionary": {
"wordList": {
"words": [
"ignore case when sorting this list",
"ignore empty rows"
]
}
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
}
]
},
{
"filterTypes": [
"RESPONSIBLE_AI"
],
"rules": [
{
"exclusionRule": {
"regex": {
"pattern": "(?i)kill process [0-9]+"
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
}
]
}
]
}
},
"templateMetadata": {
"dataResidencyCompliant": true
}
}
템플릿에서 제외 규칙 업데이트
기존 템플릿의 제외 규칙을 업데이트하려면 updateMask이 filterConfig.filterRuleSettings로 설정된 PATCH 요청을 전송합니다. 업데이트는 전체 filterRuleSettings 필드를 대체하므로 수정사항과 함께 유지하려는 모든 규칙을 포함하세요.
다음 예에서는 PROMPT_INJECTION_AND_JAILBREAK 규칙 집합에 정규식 규칙을 추가하고 RESPONSIBLE_AI 규칙 집합을 삭제하여 이전 예의 제외 규칙을 업데이트합니다.
export EXCLUSION_RULES_UPDATE='{
"filterConfig": {
"filterRuleSettings": {
"ruleSets": [
{
"filterTypes": [
"PROMPT_INJECTION_AND_JAILBREAK"
],
"rules": [
{
"exclusionRule": {
"dictionary": {
"wordList": {
"words": [
"EXCLUDED_PHRASE_1",
"EXCLUDED_PHRASE_2"
]
}
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
},
{
"exclusionRule": {
"regex": {
"pattern": "EXCLUDED_REGEX_PATTERN"
},
"matchingScope": "MATCHING_SCOPE_FULL_MATCH"
}
}
]
}
]
}
}
}'
curl -X PATCH \
-d "$EXCLUSION_RULES_UPDATE" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID?updateMask=filterConfig.filterRuleSettings"
다음을 바꿉니다.
EXCLUDED_PHRASE_1및EXCLUDED_PHRASE_2: 프롬프트 인젝션 및 탈옥 감지에서 제외할 사전 단어나 구문입니다(예:ignore case when sorting this list및ignore empty rows).EXCLUDED_REGEX_PATTERN: 프롬프트 인젝션 및 탈옥 감지에서 제외할 정규 표현식 패턴입니다(예:(?i)\\b(?:ignore\\s+(?:the\\s+)?(?:emails?|spams?|warnings?|drafts?|typos?|duplicates?|noise))\\b).PROJECT_ID: 템플릿이 속한 프로젝트의 IDLOCATION: 템플릿의 위치TEMPLATE_ID: 템플릿의 ID
정규 표현식 제외 패턴 예
정규식 제외 규칙을 작성할 때는 Model Armor가 실제 보안 또는 안전 위반을 무시하지 않고 알려진 오탐을 제외할 수 있도록 패턴의 범위를 특정 도메인 용어 또는 타겟 명사로 지정하세요. JSON 요청 본문("pattern") 내에서 정규 표현식 패턴을 전달할 때는 각 백슬래시를 두 번째 백슬래시로 이스케이프 처리합니다 (예: \\b 및 \\s 사용).
프롬프트 인젝션 및 탈옥 감지 예시
ignore, disregard, bypass, override와 같은 명령형 동사는 적대적 프롬프트 삽입과 이메일 분류, 데이터 형식 지정, 오류 처리 또는 시스템 구성에 관한 합법적인 지침 모두에 자주 등장합니다. 광범위한 프롬프트 카테고리를 제외하지 않으려면 단어 경계 (\\b), 캡처되지 않는 그룹 ((?:...)), 대소문자 구분 안 함 플래그 ((?i))를 MATCHING_SCOPE_PARTIAL_MATCH와 결합하여 정규식을 특정 작업 타겟 명사에 고정하세요.
다음 표에는 일반적인 프롬프트 인젝션 및 탈옥 거짓양성 시나리오에 대한 부분 일치 정규 표현식 패턴(JSON 이스케이프된 백슬래시 포함)과 프롬프트 예시가 나와 있습니다.
| 요청 사항 카테고리 | 트리거 용어 | 오탐 시나리오 | 부분 일치 정규 표현식 패턴의 예 | 프롬프트 예시 |
|---|---|---|---|---|
| 콘텐츠 분류 및 필터링 | ignore, disregard |
이메일 분류, 오류 처리, 초안 검토 |
(?i)\\b(?:ignore\\s+(?:the\\s+)?(?:emails?|spams?|warnings?|drafts?|typos?|duplicates?|noise))\\b
|
Summarize my inbox and ignore the emails from the marketing vendor.
|
책임감 있는 AI 안전 필터 예시
기술 문서, 시스템 관리 명령, 일반적인 관용구에는 책임감 있는 AI 안전 카테고리와 중복되는 단어가 포함되는 경우가 많습니다. 더 큰 프롬프트나 대답에서 거짓양성을 완화하려면 단어 경계(\\b), 캡처되지 않는 그룹 ((?:...)), 대소문자 구분 없는 플래그((?i))를 MATCHING_SCOPE_PARTIAL_MATCH와 결합하세요.
다음 표에는 일반적인 책임감 있는 AI 거짓양성 시나리오에 대한 부분 일치 정규식 패턴(JSON 이스케이프된 백슬래시 포함)과 프롬프트의 예가 나와 있습니다.
| 위험 카테고리 | 트리거 용어 | 오탐 시나리오 | 부분 일치 정규 표현식 패턴의 예 | 프롬프트 예시 |
|---|---|---|---|---|
| 폭력 또는 상해 | kill |
프로세스 종료, 전기 또는 HVAC 스위치, 일반적인 표현 |
(?i)\\b(?:kill\\s+(?:-9|all|process(?:es)?|switch(?:es)?|jobs?|pods?|sessions?|bill|lights?)|time\\s+to\\s+kill|dressed\\s+to\\s+kill)\\b
|
Please kill all pods in the namespace. |
| 유해성 또는 불쾌감을 주는 표현 | abort, terminate |
데이터베이스 트랜잭션, 미션 수명 주기, 고용 또는 계약 조건 |
(?i)\\b(?:abort\\s+(?:transactions?|missions?|requests?|connections?|retry|retries)|terminate\\s+(?:contracts?|sessions?|threads?|instances?|connections?))\\b
|
Abort retry. |
| 도메인 용어의 부분 문자열 일치 | 중복되는 문자열 | 학술 용어, 식물학, 조류학, 항공, 고유 명사 |
(?i)\\b(?:class(?:room|ic)?|assess(?:ment)?|associate|passive|peacock|cockpit|cocktail|dickens)\\b
|
I love reading Dickens. |
| 무기 또는 폭발물 | bomb, blast, detonate |
생물정보학, 엔터테인먼트 관용구, 산업 장비 또는 청소 |
(?i)\\b(?:blast\\s+(?:search|alignment|radius|furnace)|box\\s+office\\s+bomb|had\\s+a\\s+blast)\\b
|
Run a blast search on the genetic sequence. |
제외 규칙 구성 권장사항
템플릿의 보안 상황을 약화하지 않고 거짓양성을 최소화하려면 다음 권장사항을 따르세요.
- 특정 컨텍스트에 좁게 범위 지정: 단일 동사나 광범위한 용어 (예:
ignore,kill,abort)를 제외하거나 제한되지 않은 와일드 카드 (예:.*ignore.*)를 사용하지 마세요. 하위 문자열이 일치할 때마다MATCHING_SCOPE_PARTIAL_MATCH가 전체 필터에 대해matchState~NO_MATCH_FOUND를 재정의하므로 지나치게 광범위한 규칙은 동일한 프롬프트나 대답의 다른 곳에서 실제 위반을 마스킹할 수 있습니다. 항상 트리거 동사를 특정 타겟 명사 (예:ignore case when sorting this list또는(?i)kill process [0-9]+)와 함께 사용하세요. - 단어 경계 사용 및 패턴 통합: 정규 표현식 규칙에서 단어 경계 (
\b)를 사용하여 관련 없는 단어 내에서 실수로 하위 문자열이 일치하는 것을 방지합니다. 비캡처 그룹 ((?:...))과 교체 (|)를 사용하여 관련 문구를 단일 정규 표현식으로 통합하여 규칙 세트당 10개 규칙의 시스템 한도를 준수합니다. - 예측 가능한 입력에는
MATCHING_SCOPE_FULL_MATCH사용: 미리 정의된 UI 프롬프트, 미리 준비된 명령어 또는 자동화된 테스트 페이로드를 제외할 때는matchingScope을MATCHING_SCOPE_FULL_MATCH로 설정합니다 (또는^및$로 정규 표현식을 고정). 완전 일치 범위 지정은 사용자가 제외된 문구에 적대적인 명령어를 추가하여 감지를 우회하는 것을 방지합니다. - 변환되지 않은 원시 텍스트에 대한 규칙 작성: Model Armor는 익명화 또는 번역 전에 제외 규칙을 평가합니다. 패턴이 식별 정보 삭제 전의 원래 형식과 일치하는지 확인하고 애플리케이션에서 지원하는 각 언어에 대해 언어별 문구 또는 정규식 패턴을 추가합니다.
- 필터 업그레이드 후 임시 규칙 검토 및 폐기: 템플릿을 최신 필터 버전으로 업그레이드할 때 오탐지 테스트 사례를 재평가하고 업데이트된 감지 모델로 해결된 제외 규칙을 삭제합니다.
다음 단계
- 제외 규칙을 사용하여 프롬프트를 정리하고 모델 응답을 정리하는 방법의 예를 확인하세요.
- 제외 규칙 시스템 한도를 검토합니다.
- Model Armor 템플릿을 만들고 관리하는 방법을 알아봅니다.