본문으로 건너뛰기

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)이전 질문과 성격 글에 든 내용은 검사하지 않습니다.

막힌 요청 확인하기​

오탐은 가드레일이 정책에 어긋나지 않는 정상 글을 막은 경우입니다. 사용자가 「정책에 위반되어 처리할 수 없다고 나옵니다」라고 알려 오면 다음 순서로 확인합니다.

  1. 사용자가 직접 쓴 글이 실제로 정책에 어긋나는지 읽습니다. 어긋나면 가드레일이 맞게 동작한 것입니다.
  2. 막힐 이유가 없는 글이면 오탐으로 봅니다. 같은 글이 계속 막히는지 보려고 다시 보내 달라고 합니다.
  3. 계속 막히면 다음 정보를 사용자에게 받습니다.
    • 막힌 시각
    • 어느 AI 에이전트 작업공간(사용자마다 하나씩 만들어지는 AI 에이전트의 일터, 용어 사전)과 프로파일인지
    • 채팅, 메신저, 예약 작업 중 어디였는지
    • 사용자가 친 글(그대로)
    • 화면에 나온 안내 문장
  4. 위 정보를 모아 운영자에게 전달합니다. 아래 「오탐 문의」를 따릅니다.

오탐 문의​

운영자에게는 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 에이전트가 파일을 지우지 못했다」고 알려 오면 다음을 확인합니다.

  1. 화면의 빨간 표시와 이유를 사용자에게 확인합니다.
  2. 막힌 경로가 데이터 폴더, 프로파일, 작업 폴더 전체처럼 위 표의 대상인지 봅니다.
  3. 대상이면 정상 동작입니다. 지우려는 것이 작업 폴더 안의 하위 폴더나 파일이면 그 경로로 다시 시키도록 안내합니다.
  4. 프로파일이나 작업공간을 지우려는 것이면, AAS 화면의 지우기를 쓰도록 안내합니다. 프로파일은 「내 AI 에이전트 › 프로파일」의 「삭제」를, AI 에이전트 작업공간은 「AI 에이전트 작업공간」 화면의 「지우기」를 씁니다. 지우기 전에 설정·예약 작업·스킬·기억을 내보내기 파일로 먼저 남기고, 작업공간은 id 를 다시 입력해야 지워집니다.
  5. 대상이 아닌데 막혔다고 보이면 이유와 경로를 모아 운영자에게 전달합니다.

승인 설정을 바꿔도 위 차단은 풀리지 않습니다. 차단은 설정 파일과 무관하게 동작하기 때문입니다.

참고: 이 차단은 사용자 Hermes 이미지에 들어 있습니다. 차단 규칙은 Hermes 버전을 올릴 때 함께 확인해야 하므로, 새 이미지를 롤아웃한 뒤에는 데이터 폴더를 지우는 명령이 계속 막히는지 운영자가 확인합니다. 3.3. 사용자 Hermes 새 이미지 롤아웃을 봅니다.

관련 문서​