4.2. 안전장치
개요
AAS 는 AI 에이전트가 하는 일을 두 곳에서 막습니다.
| 안전장치 | 막는 것 |
|---|---|
| 질문 가드레일 | 사용자가 보낸 질문이 정책에 어긋날 때 모델을 부르지 않습니다. |
| 위험한 명령 차단 | AI 에이전트가 자기 데이터 폴더를 통째로 지우는 명령을 실행하지 못하게 합니다. |
가드레일은 유해하거나 정책에 어긋나는 질문을 걸러 주는 검사 서비스입니다. 두 안전장치 모두 관리자 화면에서 켜거나 끄는 설정이 없습니다. 관리자의 일은 두 가지입니다. 사용자가 막힌 요청을 보고하면 무엇이 막 았는지 가려내고, 필요하면 운영자(AAS 를 설치하고 서버를 관리하는 사람, 용어 사전)에게 확인을 요청합니다.
권한: 이 장의 확인은 관리자가 합니다. 서버 로그를 봐야 하는 확인은 운영자가 합니다.
참고: 프로파일 상세의 「설정」 탭에서 명령 승인(approvals) 설정은 관리자만 바꿉니다. AI 에이전트 작업공간의 주인과 팀 관리자는 바꿀 수 없습니다. 이 설정은 아래 「위험한 명령 차단」을 풀지 못합니다. 자세한 내용은 3.4. 프로파일 모델과 설정 대신 고치기를 봅니다.
사용자 쪽 설명은 사용자 매뉴얼의 2.7. 답이 막히거나 늦을 때를 봅니다.
질문 가드레일
동작
cogentai-aas 로 시작하는 AAS 모델에 요청이 오면, LiteLLM(여러 AI 모델을 한 주소로 쓰게 해 주는 중계 서버)이 사용자가 쓴 질문을 가드레일에 먼저 보냅니다. 가드레일이 차단하면 모델을 부르지 않습니다. 차단 안내 문장이 AI 에이전트의 답처럼 돌아갑니다.
이 동작은 채팅, 메신저 연결, 예약 작업 모두에 같습니다.
가드레일은 다음만 검사합니다.
- 지금 보내는 사람의 글만 검사합니다. 이전 대화 기록은 검사하지 않습니다.
- Hermes 와 AAS 가 스스로 붙인 글은 검사하지 않습니다. 안내 문장, 스킬 본문, 도구 결과, 자동으로 이어 가는 글이 여기에 해당합니다.
- 모델의 답변과 도구 실행 결과는 검사하지 않습니다.
사용자가 보는 모습
사용자의 채팅 답 자리에 다음과 같은 문장이 나옵니다.
죄송합니다. 입력하신 내용이 정책에 위반되어 처리할 수 없습니다.
이 문장은 모델이 쓴 글이 아닙니다. 가드레일 쪽이 모델을 부르기 전에 돌려준 안내입니다. 사용자는 AI 에이전트가 답을 거절한 것으로 읽습니다. 같은 글을 다시 보내면 통과하는 경우도 있습니다. 가드레일의 판정이 늘 같지는 않기 때문입니다.
한계
관리자가 알아 둘 한계는 다음과 같습니다.
| 한계 | 설명 |
|---|---|
| 가드레일 서비스 장애 | 장애나 시간 초과 동안에는 검사하지 않고 질문을 통과시킵니다. |
| AAS 모델이 아닌 모델 | cogentai-aas 로 시작하지 않는 모델은 가드레일을 거치지 않습니다. 4.1. 모델의 「AAS 모델 아님」 표시를 확인합니다. |
| 보조 작업용 별칭 | cogentai-aas-aux 는 검사하지 않습니다. |
| 대화 기록과 성격(SOUL) | 이전 질문과 성격 글에 든 내용은 검사하지 않습니다. |
막힌 요청 확인하기
오탐은 가드레일이 정책에 어긋나지 않는 정상 글을 막은 경우입니다. 사용자가 「정책에 위반되어 처리할 수 없다고 나옵니다」라고 알려 오면 다음 순서로 확인합니다.
- 사용자가 직접 쓴 글이 실제로 정책에 어긋나는지 읽습니다. 어긋나면 가드레일이 맞게 동작한 것입니다.
- 막힐 이유가 없는 글이면 오탐으로 봅니다. 같은 글이 계속 막히는지 보려고 다시 보내 달라고 합니다.
- 계속 막히면 다음 정보를 사용자에게 받습니다.
- 막힌 시각
- 어느 AI 에이전트 작업공간(사용자마다 하나씩 만들어지는 AI 에이전트의 일터, 용어 사전)과 프로파일인지
- 채팅, 메신저, 예약 작업 중 어디였는지
- 사용자가 친 글(그대로)
- 화면에 나온 안내 문장
- 위 정보를 모아 운영자에게 전달합니다. 아래 「오탐 문의」를 따릅니다.
오탐 문의
운영자에게는 3단계에서 모은 정보 전체와 AAS 버전을 보내고, 다음 확인을 요 청합니다. 이 확인은 서버 로그를 보는 일이라 AAS 화면에서는 할 수 없습니다.
- 가드레일이 실제로 검사한 글이 사용자가 친 글과 같은지
- 가드레일이 어떤 범주로 판정했는지. 예를 들어 jailbreak 는 AI 에게 규칙을 어기게 시키려는 시도로 본 범주입니다.
- LiteLLM 의 차단 기록이 같은 시각에 있는지
참고: 가드레일이 검사한 글이 사용자가 친 글보다 길면, 사람이 치지 않은 안내 글이 함께 검사된 것입니다. 운영자가 그 글의 출처를 찾아 고칩니다.
위험한 명령 차단
동작
AI 에이전트는 터미널 명령을 실행할 수 있습니다. 그중 자기 데이터 폴더를 통째로 지우는 명령은 승인 여부와 관계없이 실행되지 않습니다. 사용자가 승인 카드에서 「허락」을 눌러도, 승인 기능을 꺼도, 예약 작업이 자동으로 허락하는 설정이어도 막힙니다. 사용자도 관리자도 화면에서 이 차단을 풀 수 없습니다.
막히는 대상은 다음과 같습니다.
| 대상 | 예 |
|---|---|
| 루트·홈·시스템 폴더 | rm -rf /, rm -rf ~ |
| 사용자 Hermes 데이터 폴더 전체 | 프로파일, 대화 기록, 기억, 스킬, 비밀값, 설정이 든 폴더 |
| 프로파일 하나 통째 로 | 프로파일 폴더 |
| 대화 기록·기억·스킬·비밀값·설정 | 각각의 폴더나 파일 |
| 작업 폴더와 공유 결과물 폴더 통째로 | 업로드·공유 폴더 전체 |
경로를 직접 쓰는 경우, 작업 폴더에서 rm -rf * 처럼 상대 경로로 같은 폴더를 가리키는 경우도 막습니다.
막지 않는 것은 다음과 같습니다.
- 작업 폴더 안의 하위 폴더나 파일을 지우는 일: 예를 들어
build폴더를 지우는 일 - 위 목록 밖의 상대 경로를 지우는 일
막지 않는 명령 중 위험해 보이는 것은 승인 카드로 사용자에게 먼저 묻습니다. 사용자가 「거부」하면 실행하지 않습니다.
사용자가 보는 모습
차단이 일어나면 채팅 화면에 세 곳이 바뀝니다.
| 자리 | 표시 |
|---|---|
| 작업 단계 묶음의 머리글 | 빨간 점과 「작업 {n}단계 · 안전장치가 막음」 |
| 막힌 도구 줄 | 빨간 점과 「막힘」 |
| AI 에이전트 답 위 | 빨간 표시 「안전장치가 위험한 명령을 막았습니다」와 이유 한 줄 |
이유는 영문으로 나옵니다. 예를 들어 recursive delete of Hermes data (/opt/data/profiles/예시) 는 「Hermes 데이터를 통째로 지우려 했다」는 뜻입니다. 이유에는 막힌 경로가 들어 있습니다.
지난 대화를 다시 열어도 같은 표시가 나옵니다. 빨간 표시는 막힌 단계 바로 뒤의 첫 답 하나에만 붙습니다.
사용자가 승인 카드에서 직접 「거부」한 명령에는 이 표시가 붙지 않습니다.
관리자가 확인할 것
사용자가 「AI 에이전트가 파일을 지우지 못했다」고 알려 오면 다음을 확인합니다.
- 화면의 빨간 표시와 이유를 사용자에게 확인합니다.
- 막힌 경로가 데이터 폴더, 프로파일, 작업 폴더 전체처럼 위 표의 대상인지 봅니다.
- 대상이면 정상 동작입니다. 지우려는 것이 작업 폴더 안의 하위 폴더나 파일이면 그 경로로 다시 시키도록 안내합니다.
- 프로파일이나 작업공간을 지우려는 것이면, AAS 화면의 지우기를 쓰도록 안내합니다. 프로파일은 「내 AI 에이전트 › 프로파일」의 「삭제」를, AI 에이전트 작업공간은 「AI 에이전트 작업공간」 화면의 「지우기」를 씁니다. 지우기 전에 설정·예약 작업·스킬·기억을 내보내기 파일로 먼저 남기고, 작업공간은 id 를 다시 입력해야 지워집니다.
- 대상이 아닌데 막혔다고 보이면 이유와 경로를 모아 운영자에게 전달합니다.
승인 설정을 바꿔도 위 차단은 풀리지 않습니다. 차단은 설정 파일과 무관하게 동작하기 때문입니다.
참고: 이 차단은 사용자 Hermes 이미지에 들어 있습니다. 차단 규칙은 Hermes 버전을 올릴 때 함께 확인해야 하므로, 새 이미지를 롤아웃한 뒤에는 데이터 폴더를 지우는 명령이 계속 막히는지 운영자가 확인합니다. 3.3. 사용자 Hermes 새 이미지 롤아웃을 봅니다.