가드레일 개요

챗봇의 입력·도구 호출·출력을 검사하는 안전 규칙 세트인 가드레일의 개념과 작성법을 설명합니다.

가드레일이란?

가드레일은 챗봇(Route A)이 사용자 요청을 처리하는 과정에서 입력 · 도구 호출 · 출력 각 단계를 검사하는 재사용 가능한 안전 규칙 세트입니다. 여러 챗봇에 연결할 수 있고, 연결한 순서대로 평가됩니다.

가드레일은 챗봇(Route A)에만 적용됩니다. 에이전트(Route B, 이너릿)에는 적용되지 않습니다.

적용 단계

각 가드레일은 어느 시점에 검사할지 단계를 선택합니다.

  • 입력 검사(check_input) — 사용자 메시지를 응답 모델에 전달하기 전에 평가합니다. 차단되면 안내 메시지로 응답하고 해당 요청의 응답 생성을 진행하지 않습니다. LLM 기반 검사 자체는 분류 모델을 호출할 수 있습니다.
  • 도구 검사(check_tool) — 챗봇이 도구를 호출할 때 검사합니다. 선택한 규칙이 도구 단계에서 적용되는지 별도로 확인하세요. 단계 선택만으로 모든 위험한 명령을 자동 차단하는 것은 아닙니다.
  • 출력 검사(check_output) — 모델의 응답을 평가해 차단 안내나 마스킹된 내용으로 처리합니다.

규칙 유형

규칙은 크게 두 종류로 나뉩니다.

규칙 기반(빠름, 결정적)

  • keyword_block — 금지어 차단. 태그 입력으로 키워드를 추가합니다.
  • regex_block — 정규식 패턴. 주민번호·전화번호·이메일·카드번호·IP·URL 프리셋 중 선택하거나 직접 입력할 수 있습니다.
  • pii_filter — 민감정보 마스킹. 정규식 엔진(주민번호·전화번호·이메일·카드번호·IP·URL·계좌번호) 또는 LLM 엔진(맥락 기반 감지 + 사용자 지정 마스킹 대상)을 선택할 수 있습니다.
  • length_limit — 입력/출력 길이 제한 (글자 수 기준)
  • language_filter — 허용 언어 제한

LLM 기반(분류 모델 호출)

  • prompt_injection — 프롬프트 인젝션/탈옥 감지
  • topic_restriction — 주제 허용/금지
  • content_moderation — 유해 콘텐츠 분류. 민감도(약함·보통·강함)로 차단 기준을 조절합니다.

LLM 기반 규칙이 하나라도 있으면 규칙마다 분류용 모델을 선택해야 합니다. pii_filter의 LLM 엔진도 여기에 해당합니다. 모델이 지정되지 않으면 저장하거나 테스트할 수 없습니다. 이 모델은 테스트 패널에서 선택하는 응답 모델과 용도가 다릅니다.

세부 설정

규칙 유형별로 다음과 같은 세부 옵션도 제공합니다.

  • 차단 메시지 직접 입력 — 규칙이 매치됐을 때 사용자에게 보여줄 메시지 커스터마이즈
  • keyword_block — 대소문자 무시 옵션
  • topic_restriction — 허용 목록(allowlist) / 금지 목록(blocklist) 모드 선택
  • language_filter — 최소 단어 길이 설정

테스트 채팅

가드레일을 열면 데스크톱에서는 우측 테스트 패널이 나타납니다. 좁은 화면에서는 상단의 테스트 버튼으로 패널을 엽니다.

  1. 이름을 입력하고 적용 단계를 하나 이상 선택합니다.
  2. 규칙을 펼쳐 유형·조건·동작을 설정합니다. 아래 예시는 내부기밀 키워드를 차단하고, 정규식 엔진으로 이메일과 전화번호를 마스킹하는 구성입니다.
  3. 우측의 테스트 모델 선택에서 응답에 사용할 모델을 고릅니다.
  4. 테스트 입력을 전송합니다. 현재 빌더는 전송 전에 가드레일을 자동 저장하므로, 연결된 챗봇에 사용 중인 규칙을 수정할 때도 저장되는 내용을 확인하세요.
  5. 응답에 나타난 차단됨·마스킹됨·경고 카드를 눌러 검사 단계, 규칙, 안내 메시지를 확인합니다.

아래는 예시 데이터로 촬영한 사용 화면입니다. 규칙 설정에 따라 결과가 달라집니다.

키워드 요청이 차단된 경우

내부기밀 문서 원문을 보여 주세요.를 입력하면 차단됨 카드에 입력 단계와 키워드 차단 규칙이 표시됩니다. 카드를 펼치면 차단 안내를 읽을 수 있습니다. 답변 내용도 설정한 안내로 표시됩니다.

가드레일 테스트에서 내부기밀 키워드 입력을 차단한 결과 — 실제 UI·예시 데이터

이메일·전화번호가 마스킹된 경우

마스킹된 입력은 화면에서도 [이메일], [전화번호]로 치환됩니다. 마스킹됨 카드를 펼치면 원본 개인정보 대신 마스킹된 항목과 건수가 표시됩니다. 예시에서는 이메일 1건과 전화번호 1건, 총 2건을 확인할 수 있습니다.

가드레일 테스트에서 이메일과 전화번호를 가리고 항목별 건수를 표시한 결과 — 실제 UI·예시 데이터

연결한 챗봇에서 결과 확인하기

가드레일을 연결한 챗봇을 일반 채팅에서 선택하면 대화에서도 같은 결과 카드를 확인할 수 있습니다. 아래는 입력 차단과 마스킹을 차례로 확인한 예시입니다. 에이전트 탭의 실행 승인과는 다른 기능입니다.

일반 챗봇 대화의 입력 차단·민감정보 마스킹 결과 카드 — 실제 UI·예시 데이터

액션

규칙이 매치되면 취할 행동을 고릅니다.

  • block — 요청/응답을 차단하고 메시지 노출
  • warn — 경고와 함께 통과
  • mask — 민감정보를 마스킹한 뒤 통과 (민감정보 마스킹 규칙에서만 선택 가능)

챗봇에 연결하기

챗봇 빌더의 가드레일 연결 다이얼로그에서 가드레일을 선택해 연결합니다. 한 가드레일을 여러 챗봇에 공유할 수 있습니다.

연결한 다음에는 빌더 테스트뿐 아니라 해당 챗봇을 선택한 대화에서도 규칙이 적용되는지 확인하세요. 입력·출력 단계 표시를 구분하고, 허용할 문장도 함께 시험해 의도하지 않은 차단이나 마스킹이 없는지 살펴보세요.

챗봇 대시보드에서 집계 확인하기

챗봇의 대시보드 버튼을 누르거나 전체 대시보드의 챗봇 항목을 선택하면 개별 챗봇 대시보드로 이동합니다. 기간을 선택한 뒤 가드레일 카드를 살펴보세요. 결정 수, 차단·경고·마스킹 건수, 규칙 유형별 집계와 최근 처리 내용을 표시합니다. 전체 대시보드의 첫 화면에는 이 상세 카드가 표시되지 않습니다.

아래 예시는 결정 2건 중 차단 1건, 마스킹 1건을 표시한 화면입니다. 마스킹 카드의 개인정보 항목 2건과 대시보드의 마스킹 결정 1건은 서로 다른 집계입니다.

개별 챗봇 대시보드의 가드레일 결정 수와 차단·마스킹 집계 — 실제 UI·예시 데이터

비활성화

가드레일을 끄려면 챗봇에서 연결을 해제하거나 가드레일 자체를 삭제하세요. 연결을 유지한 채 일시정지하는 별도의 on/off 토글은 제공하지 않습니다 — 필요하면 연결 해제 후 다시 연결하면 됩니다.