> For the complete documentation index, see [llms.txt](https://docs.allganize.ai/allganize-alli-works/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.allganize.ai/allganize-alli-works/alli-dashboard/setting/security/guardrail.md).

# 가드레일 기능

<figure><img src="/files/BaDJFGOp5gVF2svThBCQ" alt=""><figcaption></figcaption></figure>

#### 가드레일 기능이란?

가드레일은 사용자가 입력한 메시지에 유해하거나 부적절한 콘텐츠가 포함되어 있는지 사전에 검사하고 차단하는 보안 기능입니다. 문제가 감지된 콘텐츠는 LLM에 전달되지 않으며, 이를 통해 보다 안전하고 신뢰할 수 있는 서비스 환경을 제공합니다.

### 가드레일 유형

Alli에서는 다음 세 가지 유형의 가드레일을 제공합니다.

#### 1. 키워드 기반 가드레일

미리 등록한 **특정 단어 또는 문구**를 기준으로 콘텐츠를 감지합니다.

* 활용 예시: 특정 단어, 금지어, 내부 정책상 사용 불가 표현 등
* 키워드는 기본값으로 제공되지 않으며, 새로운 키워드를 추가하려면 신규 가드레일을 작성해야 합니다.

***

#### 2. 정규식(Regex) 기반 가드레일

정규 표현식(Regex)을 사용해 **특정 형식의 입력값**을 감지합니다.

* 활용 예시: 전화번호, 주민등록번호, 특정 코드 패턴 등
* Alli에서 기본값으로 제공되는 정규식은 수정이 불가능하며 활성화/비활성화에 대한 조정만 가능합니다.
* 추가 편집이나 새로운 패턴이 필요한 경우 신규 가드레일을 작성해야 합니다.

***

#### 3. AI 기반 가드레일

입력된 콘텐츠를 **AI가 자동 분석**하여 유해 여부를 판단합니다. 카테고리별로 **검증 강도 설정**이 가능합니다.

**카테고리**

* 폭력
* 성적 콘텐츠
* 자해
* 혐오

AI 기반 가드레일은 신규 작성이 불가능하며, 기본 제공되는 항목만 조정 및 편집할 수 있습니다.

### 키워드 기반 가드레일 추가 방법

<figure><img src="/files/FzDfxUr1VMwwIDMQ8RcO" alt=""><figcaption></figcaption></figure>

1. 우측 상단의 +추가 버튼을 클릭하여 키워드 기반을 선택합니다.

<figure><img src="/files/CMhAtoJ0AQ7bAiIKvNzc" alt=""><figcaption></figcaption></figure>

2. 가드레일 활성화 여부를 선택합니다.&#x20;

* 활성화 시, 프로젝트 내 LLM을 활용하는 앱에 해당 가드레일이 적용됩니다.

3. 가드레일 이름을 입력합니다.&#x20;
4. 차단할 키워드를 등록합니다.

* 여러 개의 키워드를 동시에 등록할 수도 있습니다. 등록할 수 있는 키워드 수에는 제한이 없습니다.

5. 가드레일 설명을 입력합니다. (선택사항 입니다)
6. 확인 버튼을 클릭합니다.

<figure><img src="/files/Y82mOWG59QF3junFQ6YP" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/kexRmsYpsKEeN5We91zg" alt=""><figcaption></figcaption></figure>

7. 실제 동작 여부는 앱 테스트 및 앱 실행 시 확인할 수 있습니다. 사전에 지정한 키워드가 감지되면 송신 버튼이 비활성화되고 경고 메시지가 표시되며, 사용자는 새로운 메시지를 입력하도록 안내받습니다.

### 정규표현식 기반 가드레일 수정 및 추가 방법

#### 기본으로 제공되는 정규표현식 편집하기

<figure><img src="/files/8t21O8FZhvLE8ZgfjJHJ" alt=""><figcaption></figcaption></figure>

Alli에서는 총 세 개의 정규식 표현이 기본으로 제공됩니다. 기본 제공되는 정규식은 활성화 또는 비활성화 여부만 선택할 수 있습니다.

1. 기본으로 제공되는 특정 정규식을 활성화하려면 편집 버튼을 클릭합니다.

<figure><img src="/files/mT9ZAEm6XAio0wqvTLLR" alt=""><figcaption></figcaption></figure>

2. 가드레일 활성화 여부를 선택한 후, 확인 버튼을 눌러 설정을 프로젝트에 적용합니다.

#### 정규표현식 추가하기

<figure><img src="/files/YJnN0kbXE80vu3ze61ZK" alt=""><figcaption></figcaption></figure>

1. 우측 상단의 +추가 버튼을 클릭하여 정규표현식 기반을 선택합니다.

<figure><img src="/files/XUUNZFzc44QXaQk0wqur" alt=""><figcaption></figcaption></figure>

2. 가드레일 활성화 여부를 선택합니다.&#x20;

* 활성화 시, 프로젝트 내 LLM을 활용하는 앱에 해당 가드레일이 적용됩니다.

3. 가드레일 이름을 입력합니다.&#x20;
4. 차단할 정규 표현식을 등록합니다.

* [정규 표현식 검증 서비스](https://www.regextester.com/) 등을 활용하여 사내에서 활용하고자 하는 정규표현식을 작성합니다.&#x20;

***

#### 정규표현식 사용 예시

정규표현식(Regex)은 특정 패턴의 문자열을 탐지하거나 필터링하기 위해 사용됩니다. 가드레일 설정 시 입력된 메시지가 정규표현식 패턴과 일치하는 경우, 해당 규칙이 적용됩니다.

**1. 특정 단어 포함 여부 확인**

```regex
금지어
```

* 메시지에 `금지어`라는 문자열이 포함된 경우 탐지합니다.

**2. 여러 단어 중 하나라도 포함된 경우**

```regex
(욕설1|욕설2|욕설3)
```

* `욕설1`, `욕설2`, `욕설3` 중 하나라도 포함되면 탐지합니다.

**3. 대소문자 구분 없이 탐지**

```regex
(?i)badword
```

* `badword`, `BadWord`, `BADWORD` 등 대소문자와 관계없이 탐지합니다.

**4. 숫자 패턴 탐지 (예: 전화번호)**

```regex
\d{3}-\d{4}-\d{4}
```

* `010-1234-5678` 형식의 전화번호를 탐지합니다.

**5. 이메일 주소 탐지**

```regex
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
```

* 일반적인 이메일 주소 형식을 탐지합니다.

**6. 특정 문장으로 시작하는 경우**

```regex
^문의드립니다
```

* 메시지가 `문의드립니다`로 시작하는 경우에만 탐지합니다.

**7. 특정 문장으로 끝나는 경우**

```regex
감사합니다$
```

* 메시지가 `감사합니다`로 끝나는 경우에만 탐지합니다.

#### 참고 사항

* 정규표현식은 **문맥을 이해하지 않고 패턴 기반으로만 동작**합니다.
* 과도하게 포괄적인 패턴을 사용할 경우, 정상 메시지도 함께 탐지될 수 있으므로 주의가 필요합니다.
* 정규표현식은 매우 다양한 패턴을 표현할 수 있으므로, 실제 예시를 참고하며 활용 방법을 익히는 것이 도움이 됩니다. 필요 시 정규식 예시 자료를 찾아보시길 권장드립니다.

***

5. 가드레일 설명을 입력합니다. (선택사항 입니다)
6. 확인 버튼을 클릭합니다.

<figure><img src="/files/laiPgVmMar6bljgZ9DVC" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/EzrcuLS6XTm0gRGCZZWn" alt=""><figcaption></figcaption></figure>

5. 실제 동작 여부는 앱 테스트 및 앱 실행 시 확인할 수 있습니다. 사전에 지정한 정규표현식이 메시지 내에서 감지되면 송신 버튼이 비활성화되고 경고 메시지가 표시되며, 사용자는 새로운 메시지를 입력하도록 안내받습니다.

#### AI 기반 가드레일 수정 방법

AI 기반 가드레일은 신규 생성이 불가능하며, 기본 제공되는 4개 카테고리에 대해 설정을 변경할 수 있습니다.

<figure><img src="/files/b8IAX6pvCKnDORla0Jw9" alt=""><figcaption></figcaption></figure>

1. 편집하고 싶은 AI 기반 가드레일을 선택합니다.

<figure><img src="/files/qJdZ0WgtOS8PLfbVK4Hl" alt=""><figcaption></figcaption></figure>

2. 가드레일 활성화 여부를 선택합니다.&#x20;
   * 활성화 시, 프로젝트 내 LLM을 활용하는 앱에 해당 가드레일이 적용됩니다.
3. 검증 강도는 낮음 / 보통 / 높음 중에서 선택할 수 있으며, 이는 AI 판단 기준을 사용합니다.&#x20;
4. 확인 버튼을 클릭합니다.

<figure><img src="/files/0xnBijwfG1MEUnYF7LEE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/MUfegCNpTPQ0GVsatgO1" alt=""><figcaption></figcaption></figure>

5. 사전에 설정한 AI 기반 가드레일의 검증 강도에 따라, AI가 메시지 내용을 분석하여 정책 위반 가능성이 있다고 판단할 경우 메시지 전송 버튼이 비활성화되며, 경고 메시지가 표시됩니다. 이 경우 사용자는 새로운 메시지를 입력하도록 안내받습니다. \
   \
   **AI 기반 평가의 특성상 전후 문맥이나 단어 조합, 메모리에 따라 판단 결과가 달라질 수 있습니다. 이에 따라 결과를 명확하게 이분법적으로 구분하거나 100%의 정확성을 보장할 수는 없다는 점에 반드시 주의해 주세요.**

#### 필터 조회

<figure><img src="/files/k4XHlp4YB8fQIsBj0NuX" alt=""><figcaption></figcaption></figure>

1. 필터 기능을 통해 가드레일을 항목별로 구분하여 확인할 수 있습니다.
2. 또한 프로젝트 내에 반영된 가드레일에 대해 적용 여부와 미적용 여부를 구분하여 확인할 수 있습니다.

#### 사용 가능한 범위

<figure><img src="/files/8nN9NMmdjxwiynf51jNm" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/VGF4d1ABg17RhBwOq48V" alt=""><figcaption></figcaption></figure>

**가드레일은 LLM으로 메시지가 전달되는 시점에 콘텐츠를 탐지하고 필터링하는 방식으로 동작합니다.**\
**따라서 모든 노드에서 적용되는 것이 아니라, 실제로 LLM을 호출하는 특정 노드에서만 사용됩니다.**

예를 들어 다음과 같은 경우에 가드레일이 적용됩니다.

* 답변 생성 노드\
  사용자가 메시지를 입력하고, 해당 메시지를 모델에 송신하여 답변을 생성하는 경우
* 질문하기 노드 + LLM 실행 노드\
  질문하기 노드에서 사용자 입력을 받은 뒤, 해당 내용을 기반으로 LLM 실행 노드를 통해 모델을 호출하는 경우
* 딥리서치\
  사용자가 메시지를 입력하면 내부적으로 LLM 호출이 발생하는 리서치 및 분석 작업

반대로, LLM 호출이 발생하지 않는 노드에서는 가드레일이 동작하지 않는다는 점에 주의해 주세요.
