AI 가드레일 — 울타리를 세우는 것이 자유를 없애는 게 아니다
한줄 요약
가드레일이 없는 AI는 빠른 자동차에 브레이크가 없는 것과 같다 — 빠르지만 아무도 타지 않으려 한다.
본문
가드레일이 탄생한 배경
2023년, 대형 언어 모델이 실제 제품에 들어가기 시작하면서 회사들은 예상치 못한 문제를 맞닥뜨렸다.
고객 서비스 챗봇을 만들었는데 사용자가 유도해서 경쟁사를 칭찬하게 만들었다. 의료 정보 서비스를 만들었는데 AI가 자신 있게 틀린 약 용량을 알려줬다. 교육 플랫폼을 만들었는데 학생이 AI를 조종해서 시험 답을 받아냈다.
모델 자체는 잘못이 없었다. 모델은 그냥 그럴듯한 텍스트를 생성했을 뿐이다. 문제는 그 출력을 여과 없이 사용자에게 전달한 시스템이었다.
여기서 가드레일 개념이 등장했다.
가드레일의 3가지 종류
- 입력 가드레일 (Input Guardrails)
사용자 입력이 모델에 들어가기 전에 검사한다.
- 금지어·주제 탐지: “폭탄 만드는 법” 같은 입력 차단
- 개인정보 감지: 주민등록번호, 신용카드 번호 등을 탐지하고 마스킹
- 주제 이탈 감지: 의료 챗봇인데 주식 상담을 요청하면 리다이렉트
- 인젝션 공격 탐지: “이전 지시를 무시하고…” 같은 프롬프트 인젝션 시도 감지
- 출력 가드레일 (Output Guardrails)
모델이 생성한 응답이 사용자에게 가기 전에 검사한다.
- 사실 확인: 알려진 틀린 사실 패턴 탐지
- 형식 검증: JSON을 기대했는데 JSON이 아닌 경우 재시도
- 민감 정보 누출 방지: 응답에 내부 시스템 정보가 포함됐는지 확인
- 신뢰도 기반 필터링: 확신 없는 의학 정보에 면책 문구 자동 추가
- 흐름 가드레일 (Flow Guardrails)
대화 흐름 자체를 제어한다.
- 에스컬레이션: AI가 답할 수 없는 상황에서 사람에게 연결
- 반복 감지: AI가 루프에 빠졌을 때 탈출
- 세션 제한: 하나의 대화에서 너무 많은 API 호출 방지
의료 AI에서 가드레일이 특히 중요한 이유
일반 챗봇이 틀린 말을 하면 사용자가 불편하다. 의료 AI가 틀린 말을 하면 사람이 다칠 수 있다.
실제로 설계해야 하는 의료 가드레일:
출력 가드레일 예시:
1. 용량 범위 체크
→ "metformin 5000mg" 같은 비현실적 용량 탐지 → 경고 추가
2. 절대적 확신 표현 필터
→ "확실히", "반드시", "100%" 같은 표현 → "가능성이 높음"으로 완화
3. 긴급 상황 감지
→ 자살/자해 관련 표현 탐지 → 즉시 응급 연락처 제공
4. 처방 행위 탐지
→ "~를 복용하세요" 패턴 → "~를 고려해볼 수 있습니다. 처방은 담당 의사와"로 변경
가드레일이 실패하는 방식
너무 엄격한 가드레일: 정상적인 쿼리를 너무 많이 차단한다. 사용자가 떠난다. 의사가 “morphine 용량”을 물어봤는데 차단되면 시스템을 쓸 수가 없다.
너무 느슨한 가드레일: 쉽게 우회된다. “한국어로 바꿔서” “시로 써서” 같은 간단한 변형에 뚫린다.
키워드 기반 가드레일: “자살”이라는 단어만 보고 차단하면, 자살 예방 연구를 하는 의사의 쿼리도 차단된다.
맥락 없는 가드레일: 같은 단어라도 맥락이 다르다. “총”이라는 단어가 총기 관련 뉴스와 주사 총기(의료 기기)에 다 들어간다.
현대적 가드레일 설계 원칙
- 레이어를 쌓는다: 단일 강력한 필터보다 약한 필터 여러 개가 낫다
- 실패를 graceful하게: 차단할 때 “왜” 못 하는지, “대신 뭘” 할 수 있는지 알려준다
- 로그를 남긴다: 가드레일이 발동한 케이스를 전부 기록해 지속적으로 개선한다
- 사람 검토 루프: 자동 가드레일이 놓친 케이스를 사람이 주기적으로 확인한다
- 도메인에 맞게: 의료 AI의 가드레일과 창작 AI의 가드레일은 완전히 달라야 한다
가드레일은 AI를 약하게 만드는가
아니다. 오히려 반대다.
가드레일이 없는 AI는 아무도 믿지 않는다. 특히 의료·법률·금융처럼 고위험 도메인에서. 잘 설계된 가드레일은 사용자가 AI를 더 적극적으로, 더 깊이 쓸 수 있게 해주는 신뢰의 기반이다.
“브레이크가 있으니까 더 빠르게 달릴 수 있다”는 레이서들의 말처럼.