가드레일 타입 — 입력부터 출력까지 LLM 흐름을 다섯 단계로 보호하기

가드레일 타입 — 입력부터 출력까지 LLM 흐름을 다섯 단계로 보호하기

LLM 상호작용은 사용자 입력이 들어오고, 필요하면 문서를 검색하고, 도구를 부르고, 마지막에 모델이 응답을 내는 흐름으로 이어져요. NeMo Guardrails는 이 흐름의 각 단계에 맞는 레일(rail)을 배치해서, 어느 시점에 무엇을 막거나 고칠지 세밀하게 제어할 수 있게 해 줘요. 레일은 다섯 종류로 나뉘어요 — 입력, 검색, 대화, 실행, 출력 레일이 그것이에요. 어떤 단계에서 어떤 보호가 필요한지가 레일 선택의 기준이 되죠.

출처: NVIDIA NeMo Guardrails Library - Guardrail Types

다섯 가지 레일이 각각 맡는 일

  • 입력 레일(Input rails): LLM이 호출되기 전에 사용자 입력을 검증하고 살균해요. 유해 콘텐츠나 악의적인 프롬프트가 모델에 닿지 않게 막는 게 첫 관문이에요.
  • 검색 레일(Retrieval rails): 검색된 문서와 청크를 필터링·검증해서, 신뢰할 수 있는 컨텍스트만 LLM에 넘겨줘요. RAG 파이프라인에서 신뢰도를 지키는 핵심이에요.
  • 대화 레일(Dialog rails): 다중 턴 대화의 방향을 잡고 제약을 걸어요. 턴을 넘나들며 흐름 로직과 정책을 강제하죠.
  • 실행 레일(Execution rails): 도구·함수 호출과 그 인자·결과를 검증해서 외부 시스템과 안전하게 상호작용하게 해요.
  • 출력 레일(Output rails): 모델 응답을 평가하고 후처리해요. 안전하지 않거나 정책에 어긋난 내용을 사용자에게 전달되기 전에 걸러내거나 수정하거나 차단해요.

단계별·유형별 개요

단계 레일 타입 대표 사용 사례
LLM 호출 전 입력 레일 콘텐츠 안전, 젤브레이크 탐지, 토픽 컨트롤, PII 마스킹
RAG 파이프라인 검색 레일 문서 필터링, 청크 검증
도구 호출 실행 레일 액션 입력/출력 검증
LLM 호출 후 출력 레일 응답 필터링, 사실 확인, 민감 데이터 제거

사용 사례에 맞는 레일 조합

각 사용 사례가 어떤 레일 타입을 쓰는지 정리하면 이렇게 돼요.

사용 사례 입력 검색 대화 실행 출력
콘텐츠 안전
젤브레이크 보호
토픽 컨트롤
PII 탐지
지식 베이스 / RAG
에이전트 보안
커스텀 레일

토픽 컨트롤은 입력 단계와 대화 단계를 함께 쓰는 반면, 젤브레이크 보호는 입력 레일 하나로 끝나는 걸 볼 수 있어요. 이렇게 표로 보면 '내가 만드는 앱은 어떤 레일을 조합해야 할까'가 한눈에 들어와요.

더 알아보기