Guardrails
LLM 출력을 안전하게 제어하는 관리형 가드레일 서비스
Amazon Bedrock Guardrails
Content Filters · PII · Contextual Grounding · Automated Reasoning · 거버넌스
LLM 출력을 안전하게 제어한다
8가지 보호 메커니즘으로 생성형 AI의 위험을 관리하는 서비스
Guardrails 개요
모델 한계 · 8가지 메커니즘 · 적용 흐름
LLM 출력의 3가지 위험
강력한 모델일수록 커지는 통제 장치의 필요성
유해 콘텐츠
혐오, 폭력, 성적 콘텐츠를 생성할 수 있음. 브랜드 리스크
정보 유출
프롬프트에 포함된 PII(이름, 전화번호)를 답변에 노출
환각 (Hallucination)
검색 결과에 없는 내용을 자신 있게 생성. 잘못된 정보 전달
강력한 모델일수록 통제 장치의 필요성도 커집니다 — 8가지 보호 메커니즘이 이 세 위험에 대한 답입니다.
입력·출력 양방향 적용
사용자 입력도, 모델 출력도 모두 검사
입력 검사 (Input)
- 사용자 프롬프트를 모델 호출 전 검사
- Prompt Attack·Denied Topics 조기 차단
- 차단 시 모델 호출 자체를 생략 — 비용 절감
출력 검사 (Output)
- 모델 응답을 사용자 전달 전 검사
- PII 마스킹 · Contextual Grounding 검증
- 차단 시 사전 정의한 메시지로 대체
입력과 출력에 서로 다른 필터 강도를 설정할 수 있습니다 — 입력은 공격 차단, 출력은 정보 보호에 무게를 둡니다.
8가지 보호 메커니즘
6대 보호 필터 + 2대 거버넌스 기능
| 카테고리 | 메커니즘 | 역할 |
|---|---|---|
| 콘텐츠 | Content Filters | 유해 카테고리 5종 + Prompt Attack 임계값 차단 |
| 콘텐츠 | Denied Topics | 자연어로 정의한 금지 주제 |
| 콘텐츠 | Word Filters | 정확한 키워드/구문 차단 |
| 정보 | PII Filters | 31개 개인정보 엔티티 감지·마스킹 |
| 검증 | Contextual Grounding | 답변의 근거 충실도 점수 검증 |
| 검증 | Automated Reasoning | 정형 논리로 정책 위반 수학적 증명 |
| 거버넌스 | Selective Guarding | 메시지 역할별 차등 적용 |
| 거버넌스 | Cross-Account | Organizations 전체 자동 강제 |
6대 보호 필터 + 2대 거버넌스 기능의 구성입니다 — 콘텐츠·정보·검증·거버넌스가 각자의 층을 지킵니다.
콘텐츠 필터링
Content Filters · Denied Topics · Word Filters · 이미지 검사
콘텐츠 필터링
카테고리 · 주제 · 키워드 — 3겹의 콘텐츠 방어
콘텐츠 방어 3겹
Content Filters가 유해 카테고리를, Denied Topics가 금지 주제를, Word Filters가 키워드를 막습니다 — 텍스트와 이미지에 함께 적용됩니다.
- Content Filters — 유해 카테고리 5종 + Prompt Attack
- Denied Topics — 자연어로 정의한 금지 주제
- Word Filters — 정확한 키워드/구문 차단
- 이미지 검사 — 텍스트 기준과 동일 임계값
Word Filters는 정확한 키워드를, Denied Topics는 우회 표현까지 의미 기반으로 차단합니다 — 두 기능의 조합 사용을 권장합니다.
Content Filters — 유해 카테고리 5종
각 카테고리별 임계값(NONE/LOW/MEDIUM/HIGH)을 설정
HATE
인종, 성별, 종교 등 혐오 표현 감지 및 차단
VIOLENCE
폭력적 행위, 위협, 자해 관련 콘텐츠 감지
SEXUAL
성적 콘텐츠, 부적절한 표현 감지
INSULTS
모욕적 표현, 비하, 인신공격 감지
MISCONDUCT
불법 행위 조장, 사기, 비윤리적 조언 감지
ApplyGuardrail API에서는 Prompt Attack(인젝션·탈옥 탐지)도 Content Filter의 한 축으로 함께 검사됩니다 — 입력 검사에서 특히 중요합니다.
Denied Topics — 자연어 금지 주제
키워드가 아닌 의미 기반으로 주제를 차단
정의 방법
- 자연어로 금지 주제를 서술
- 예: "투자 조언이나 금융 상품 추천"
- 금지 주제를 복수로 정의 가능
- 샘플 문장을 함께 등록해 탐지 정밀도 향상
vs Word Filters 차이
- Word Filters = 정확한 키워드 매칭
- Denied Topics = 의미 기반 분류
- 우회 표현도 차단 (예: "주식 좀 골라줘")
- 두 기능 조합 사용 권장
"주식 좀 골라줘" 같은 우회 표현도 의미 기반으로 차단합니다 — 샘플 문장을 함께 등록하면 탐지 정밀도가 올라갑니다.
텍스트 + 이미지 동시 검사
멀티모달 입출력에도 동일한 가드레일 적용
텍스트 검사
- Content Filter 유해 카테고리 5종
- Denied Topics 의미 분류
- Word Filters 키워드 매칭
- PII 엔티티 감지
이미지 검사
- 유해 이미지 카테고리 탐지
- 텍스트 기준과 동일 임계값
- 이미지 + 텍스트 조합 분석
- 멀티모달 모델 출력 검사
멀티모달 입출력에도 동일한 가드레일이 적용됩니다 — 이미지도 텍스트 기준과 동일한 임계값으로 검사합니다.
민감 정보와 환각 방지
PII Filters · Contextual Grounding · Automated Reasoning
민감 정보와 환각 방지
정보 유출과 환각 — 두 위험에 대한 세 가지 방어선
정보 유출과 환각의 방어선
PII는 자동 감지와 마스킹으로, 환각은 근거 점수 검증과 수학적 증명으로 막습니다.
- PII Filters — 31개 엔티티 · BLOCK/MASK
- Contextual Grounding — Grounding · Relevance 점수 검증
- Automated Reasoning — 정형 논리로 정책 위반 증명
환각 대응은 두 겹입니다 — Grounding이 소스 근거를 점수로 검증하고, Automated Reasoning이 정책 위반을 논리로 증명합니다.
PII Filters — 개인정보 보호
31개 엔티티 유형을 자동 감지하여 차단 또는 마스킹
동작 모드
- BLOCK — PII 감지 시 전체 응답 차단
- MASK — PII 부분만
[NAME],[PHONE]으로 대체 - 커스텀 Regex로 사내 고유 패턴도 추가 가능
주요 엔티티
- 이름, 이메일, 전화번호
- 신용카드, 은행계좌
- IP 주소, AWS 계정 ID
- 여권번호 — 빌트인은 US_PASSPORT_NUMBER만
- 주민등록번호 · 사내 직원 ID (커스텀 Regex)
BLOCK은 전체 응답 차단, MASK는 해당 부분만 대체 — 주민등록번호처럼 빌트인에 없는 유형은 커스텀 Regex로 추가합니다.
Contextual Grounding — 환각 탐지
답변이 검색 결과에 근거하는지 점수로 검증
-
1
소스 청크 수집
RAG 검색 결과(Reference) 자동 전달.
-
2
Grounding 점수
답변 문장별로 소스 대비 근거 점수 계산.
-
3
Relevance 점수
답변이 질문에 관련 있는지 점수 계산.
-
4
임계값 판정
점수가 설정 임계값 미만이면 차단.
Grounding은 "답변이 소스에 있는 말인가?", Relevance는 "답변이 질문에 대한 답인가?"를 각각 검사합니다.
Automated Reasoning — 수학적 증명
정형 논리(Formal Logic)로 정책 위반을 증명 — LLM 판단의 불확실성 제거
동작 원리
자연어 정책을 논리식으로 변환 → 모델 출력을 대입 → 위반 여부를 수학적으로 증명
장점
LLM 판단의 불확실성 제거. "틀렸다"를 확실히 증명 가능. 수학적 검증 기반 환각 탐지
Policy Refinement
테스트 결과에서 자동으로 정책 개선점을 추론. 모호한 표현 자동 정제
LLM 판단의 불확실성을 정형 논리로 대체합니다 — 모호한 정책 표현은 Policy Refinement가 자동 정제합니다.
조직 거버넌스
Selective Guarding · Cross-Account · 버전 관리 · 비용
조직 거버넌스
역할별 차등 적용 · 조직 전체 강제 · 버전 기반 안전 배포
팀을 넘어 조직 전체로
메시지 역할별로 다르게 적용하고, Organizations 전체에 강제하고, 불변 버전 스냅샷으로 안전하게 배포합니다.
- Selective Guarding — 메시지 역할별 차등 적용
- Cross-Account — Organizations 전체 자동 강제
- 버전 관리 — Draft → 테스트 → 버전 발행 → 버전 고정 호출
- 비용 — 텍스트 1,000자 단위 과금
멤버 계정이 해제할 수 없는 강제가 컴플라이언스를 보장합니다 — 롤백은 이전 버전 번호로 되돌리면 즉시 이뤄집니다.
Selective Guarding — 역할별 차등 적용
시스템·사용자·어시스턴트 메시지별로 다른 가드레일 적용
| 메시지 역할 | 적용 대상 | 예시 |
|---|---|---|
| System | ✗ 시스템 프롬프트는 검사 생략 | 내부 지시문이므로 검사 대상에서 제외 |
| User | ✓ 입력 검사 | PII, Prompt Attack, Denied Topics |
| Assistant | ✓ 출력 검사 | Content Filter, Grounding |
시스템 프롬프트에 가드레일을 걸면 정상 지시도 차단될 수 있습니다 — Selective Guarding으로 해결합니다.
Cross-Account Safeguards
Organizations 관리 계정에서 모든 멤버 계정에 자동 적용
-
1
관리 계정
중앙 보안팀이 Guardrail 정의.
-
2
조직 정책
관리 계정의 Guardrail 정책이 멤버 계정에 자동 적용.
-
3
멤버 계정
개별 팀이 해제 불가 — 컴플라이언스 보장.
-
4
감사
CloudWatch로 차단 이벤트 중앙 모니터링.
핵심은 멤버 계정이 해제할 수 없다는 점입니다 — 팀별 선의에 기대지 않고 조직 차원에서 컴플라이언스를 보장합니다.
버전 관리 — 불변 스냅샷 배포
Draft에서 버전 발행, 롤백까지 — 안전한 배포 사이클
-
1
Draft 수정
작업 사본에서 정책을 수정하고 테스트합니다.
-
2
버전 발행
발행 시 불변 스냅샷이 생성됩니다 — 이후 수정 불가.
-
3
버전 고정 호출
호출 시 guardrailVersion으로 특정 버전을 고정합니다.
-
4
롤백 · A/B
롤백은 이전 버전 번호로 되돌리고, A/B 테스트는 두 버전을 병행 호출합니다.
버전은 불변 스냅샷이고 호출이 guardrailVersion으로 고정되므로 롤백은 이전 버전 번호로 되돌리면 즉시 처리됩니다.
과금 구조 — 4가지 과금 축
무엇에 얼마가 과금되는지 — 정책 구성 전에 확인할 과금 단위
텍스트
1,000자 단위 과금
이미지
이미지당 과금
Automated Reasoning
별도 과금 체계
Contextual Grounding
소스 청크 길이 비례 과금
Automated Reasoning과 Contextual Grounding은 별도 축으로 과금됩니다 — 정책에 넣기 전에 과금 단위부터 확인합니다.
통합 패턴
Converse API · AgentCore Policy · InvokeGuardrailChecks
통합 패턴
모델 호출 · 정책 엔진 · 즉석 검사 — 3가지 통합 경로
통합 경로 3가지
모델 호출에 파라미터로 붙이거나, 도구 권한 정책과 조합하거나, 리소스 없이 임의 지점에서 검사합니다.
- Converse API — guardrailConfig 파라미터 하나
- AgentCore Policy — 도구 권한(Cedar) + 콘텐츠 안전
- InvokeGuardrailChecks — 리소스 없이 즉석 검사
가장 단순한 통합은 guardrailConfig 파라미터 하나입니다 — 에이전트 루프 중간에는 InvokeGuardrailChecks를 씁니다.
Converse API 통합
guardrailConfig 파라미터 하나로 가드레일 적용
# 평소와 같은 Converse 호출 — 모델·메시지는 그대로
response = bedrock.converse(
modelId="us.anthropic.claude-sonnet-4-6",
messages=[{"role": "user", "content": [{"text": query}]}],
# guardrailConfig 블록만 추가 — 버전 고정 + 차단 사유 추적(trace)
guardrailConfig={
"guardrailIdentifier": "my-guardrail-id",
"guardrailVersion": "DRAFT",
"trace": "enabled"
}
)
기존 Converse 호출에 guardrailConfig 파라미터 하나를 더하면 끝입니다 — 코드 변경은 이 블록이 전부입니다.
AgentCore Policy + Guardrails 통합
도구 권한(Cedar) + 콘텐츠 안전(Guardrails)을 하나로
Cedar 정책 (AgentCore Policy)
- "누가 어떤 도구를 호출할 수 있는가"
- 액션 레벨 권한 제어
- permit/forbid 이진 판정
Guardrails
- "콘텐츠가 안전한가"
- 입출력 콘텐츠 검사
- 점수 기반 임계값 판정
Policy는 도구 접근 제어, Guardrails는 콘텐츠 안전 — 상호 보완 관계입니다.
InvokeGuardrailChecks API
Guardrail 리소스 없이 개별 세이프가드를 즉석 실행
리소스리스
CreateGuardrail 없이 API 한 번으로 검사. 에이전트 루프 중간에 삽입 가능
Detect-only
차단/마스킹 안 함 — 숫자 점수만 반환. 앱이 임계값과 동작을 결정
3종 세이프가드
Content Filter (severity), Prompt Attack (severity), Sensitive Info (confidence + offset)
차단 대신 숫자 점수만 반환하므로 임계값과 동작은 앱이 결정합니다 — 에이전트 루프 중간에 삽입할 수 있습니다.
프로덕션 안전벨트
입력과 출력 양방향 검사 — 8가지 메커니즘의 지향점
모델 밖의 안전장치 — 입력도 출력도 모두 검사한다
콘텐츠·정보·검증·거버넌스 — 8가지 메커니즘이 프로덕션의 안전벨트
Bedrock Guardrails 실습
콘텐츠 필터링, PII 마스킹, Contextual Grounding을 설정합니다
학습 목표
- Content Filters 유해 카테고리 임계값 설정
- PII Filters MASK 모드로 개인정보 자동 마스킹
- Contextual Grounding으로 환각 답변 차단
콘텐츠·정보·논리·조직 4개 층의 방어