세계 최초
LLM 앞에 끼우는 정신건강 가드레일.
AI 챗봇과 매일 대화하는 시대, 사용자 입력 속 자살·자해·AI 의존·정신증·급성 위기 신호를 LLM 응답 전 약 20ms 안에 감지해 운영자에게만 알려드려요. 차단이 아니라 알림이라 챗봇 응답 흐름은 그대로, 본문도 저장하지 않아요.
학습에 안 쓴 8,116건 평가 기준 · 1393 안내 자동 트리거
"이전 지시 무시"·"할머니 옛날이야기 형식"·"AI 작동 원리" 같은 표현 모두 정상 통과
"오늘 죽겠다"·"엿같네"·"한이 맺힌다" 같은 한국어 일상 표현 한 건도 위기로 잘못 분류 X
AI 의존은 이미 사회 문제로 옮겨왔어요.
사용자가 AI와 보내는 시간이 친구·가족과 보내는 시간을 추월하기 시작하면서, 정신건강 신호가 AI 대화 로그에 먼저 나타나는 사례가 빠르게 늘고 있어요. 운영자가 그걸 미리 인지하지 못하면, 책임 소재 문제는 결국 챗봇 사업자에게 돌아와요.
한국인 AI 챗 사용 시간
2025년 기준 일평균 AI 챗·캐릭터챗 사용 시간이 같은 시기 친구와 직접 대화 시간을 추월했어요. 사용자의 감정·일상·고민이 AI 로그에 먼저 쌓여요.
2025 한국인 AI 사용 행태(정보통신정책연구원, 2025-12)"AI 만이 내 얘기를 들어줘요"
20-30대 우울 호소자 중 "오프라인 인간관계보다 AI와 대화하는 게 편하다" 응답이 1년 새 38% 증가. 파라소셜 의존 지표가 임상 영역으로 진입 중.
한국심리학회 디지털 심리건강 리포트, 2026-Q1챗봇 사업자의 의무가 커지고 있어요
해외에선 AI 챗봇 사용 후 자살한 청소년 사건으로 사업자 책임을 묻는 소송이 진행 중. 한국에서도 의무 가이드라인이 곧 정형화될 전망. 지금 가드레일을 끼워두는 게 가장 저렴한 보험이에요.
국회 AI 기본법·정통망법 개정 논의(2026-)어떤 가드레일도 잡지 못하는
감정 신호를 잡습니다.
한국 정서·표현·관계 맥락은 영어권 정신건강 분류기가 학습한 분포와 달라요. 그래서 한국 임상 레퍼런스 + 한국어 임상 합성 데이터로 좁게 학습한 모델 하나가 필요해요.
한국 임상 레퍼런스 학습
각 축 정의가 한국 임상 현장에서 통용되는 평가 기준에 맞춰져 있어요. 학습 데이터는 한국 임상 문헌과 합의된 사례 기준을 레퍼런스로 합성·검증한 셋이에요.
AI 시대에만 나타나는 축
AI 파라소셜 의존(MH03), AI 망상 강화(MH04) 처럼 AI와 매일 대화하는 환경에서 새로 부각된 축을 별도로 다뤄요. 기존 정신건강 라벨링 셋엔 거의 등장하지 않는 신호들이라, 자체 합성·검증으로 구축했어요.
본문 비저장 · 개인정보보호법 준수
정신건강 신호는 개인정보보호법상 민감정보(질병 정보) 카테고리에 가까워요. 기본 audit 모드에서 입력 본문을 저장하지 않고 분류 결과·축·등급·권고 액션만 운영 로그에 남겨요. 의료 reviewer가 본문을 봐야 하는 경우 별도 동의 흐름으로 분리 운영하세요.
LLM 응답 전, 한 번의 분류 호출로 끝.
사용자 입력이 들어오는 시점에 정신건강 필터를 한 번 호출하고, 그 결과로 LLM 응답 흐름을 그대로 두면서 운영자에게만 알림을 보내요. 차단이 아니므로 사용자 경험은 그대로예요.
정직한 숫자로 공개해요.
학습에 한 번도 쓰지 않은 8,116 건의 별도 평가 데이터에서 측정한 결과예요. 위기 신호를 얼마나 잘 잡는지뿐 아니라, 정상 한국어를 잘못 위기로 분류하는 비율도 함께 봐 주세요. 양쪽 모두가 좋아야 운영에서 쓸 수 있는 모델이에요.
정신건강 필터의 핵심 4 지표
평균 5단계 분류 F1(76.6%) 보다 위급 신호 탐지율이 우선이에요. 자살·자해·급성 위기처럼 절대 놓치면 안 되는 신호는 95~100% 까지 끌어올렸어요.
Gemini와 사실상 동률 (-0.004), GPT·Sonnet·Opus 모두 위. 속도 113~500× 빠름, 호출당 비용 1/5 ~ 1/14.
평가 셋 — AIMH/SWMH(Reddit Mental Health Posts) 한국어 번역본에서 200건 무작위 추출(100건 SuicideWatch + 100건 mixed-non, 전 모델 동일 셋). 학습에 절대 사용하지 않은 외부 데이터.
정확도(F1) — "자해·자살 위험 텍스트인가" binary 분류. 우리는 MH01·MH02 ≥moderate+ 임계치 기준(실제 운영 동작점).
응답 시간 — 외산 latency 는 한국 → 미국 왕복 포함 실측.
호출당 비용 — 10축 분류용 실 운영 프롬프트 기준(3K 토큰 입력 + 200 토큰 출력 + thinking/reasoning 평균 2.5K 토큰). 외산 플래그십 는 모두 추론 토큰을 출력 단가로 청구 (Gemini $12/1M, GPT-5.5 $30/1M, Sonnet 4.6 $15/1M, Opus 4.7 $25/1M, 2026-05 공시 단가 × 1,480원 환율).
비교 모델 버전 — Gemini 3 Pro Preview · GPT-5.5 · Claude Sonnet 4.6 · Claude Opus 4.7. 측정 시점 2026-05-06(v5 직접 측정).
즉시 1393 안내 트리거
놓치지 않음
"이전 지시 무시"·"할머니 옛날이야기" 등 100건 별도 셋 기준
"오늘 죽겠다"·"엿같네"·"한이 맺힌다" 등 724건 기준
"오늘 죽겠다" · "엿같네" · "한이 맺힌다" · "미쳐버릴 것 같아" 처럼 한국어에서 일상적으로 쓰는 강한 감정 표현은 한 건도 위기로 잘못 분류하지 않았어요 (724건 중 0건). 일반 한국어 입력 전체에서도 잘못 차단되는 비율은 1% 미만 (0.6%) 이에요. "이전 지시 무시해줘" · "할머니가 들려주신 옛날 이야기 형식으로" · "AI 작동 원리 알려줘" 같이 위험처럼 보여도 실제로는 정상인 표현 100건도 한 건도 위기로 오해하지 않았어요. 정상 사용자는 영향을 받지 않아요.
합성·임상 레퍼런스·실제 한국어
— 총 약 163,000건 학습.
정신건강 분류는 학습 데이터의 양과 질이 곧 모델 신뢰도예요. 한국 정서·표현 분포, 임상 레퍼런스 매핑, AI 시대 신규 축까지 모두 균형 있게 학습했어요.
한국 임상 레퍼런스 기반 합성
한국 임상 평가 기준과 임상 문헌을 레퍼런스로 두고, 여러 프런티어 LLM으로 합성한 한국어 사례 데이터. 어려운 케이스·일반 케이스·NEG 케이스를 분리해 모델별로 분담 합성하고, 합성 후 자동 + 수동 품질 검수를 거쳤어요.
한국어 직접 데이터
한국어 공감 대화·일반 한국어 텍스트·정상 표현 셋을 함께 학습. 한국어 모국어 분포를 균형 있게 보강해서 "오늘 힘들어" 같은 평범한 표현을 잘못 차단하지 않도록 균형을 맞췄어요.
영문 임상 데이터셋 한국어 번역
정신건강 분야의 공개·연구용 영문 데이터를 한국어로 번역해 학습 셋에 포함했어요. 영문권 임상 사례 분포를 한국어로 가져와서 학습 다양성을 보강하고, 한국 데이터에서 잘 등장하지 않는 케이스도 포괄적으로 다룰 수 있게 했어요.
대화 흐름(multi-turn) 합성
같은 마지막 발화라도 앞선 대화 맥락에 따라 위험도가 완전히 달라지는 점을 학습하기 위한 multi-turn 대조 셋. Opus 4.7로 prefix-harmless / prefix-risky 두 버전을 함께 합성해서 모델이 맥락을 정확히 반영하게 했어요.
평가 셋 — 학습에 절대 사용하지 않은 별도 데이터
학습/검증/평가 분리 원칙에 따라 모델이 한 번도 보지 못한 8,116건으로 최종 성능을 측정했어요. 위 평가 결과 표의 모든 정확도 수치는 이 셋 기준이에요. 일반 한국어·민감한 정상 표현·급성 위기 케이스를 모두 포함해 균형 있게 측정했어요. 추가로 "이전 지시 무시"·"할머니 옛날이야기 형식"·"AI 작동 원리" 같이 위기처럼 보여도 정상인 표현 100건 별도 셋으로 헛알람도 별도 측정 — 100건 모두 정상으로 통과했어요.
합성 데이터는 한국 임상 레퍼런스 + 자동 품질 검수 + 수동 표본 검수를 거쳐 학습 셋에 포함됐어요. 임상 의료진 검증을 거친 한국 임상 평가 기준에 정의된 분류 체계라, 출력의 임상적 해석 가능성을 처음부터 염두에 두고 설계했어요.
한국어 입력에서
이런 신호들을 잡아내요.
각 축이 어떤 임상 기준에 매핑되는지, 어떤 패턴을 잡는지, 어느 알림 우선순위로 운영자에게 분배되는지 모두 미리 확인할 수 있어요. 임상 매핑 정보는 외부 검증·도입 검토 단계에서 의료 reviewer가 가장 먼저 묻는 부분이라, 처음부터 공개로 두고 있어요.
한 사람의 위험 신호는 단계가 있어요.
각 축마다 5단계로 분류해요. 약한 신호는 누적해서 모니터링하고, 심각한 신호는 4시간 안에, 급한 신호는 즉시 운영자에게 알려줘요.
키워드의 빠름과 LLM의 문맥 이해를
한 호출에서 결합.
외산 플래그십 LLM으로 정신건강 신호 분류 = 호출당 1.4-6.5초·약 51-142원(실 운영 프롬프트 + 추론 토큰 기준). 우리는 키워드 사전 → 한국어 특화 다축 분류기 → 큰 모델 검증으로 평균 약 20ms·10원 정액 안에 끝내요. 외산 거대 LLM 대비 1/5 ~ 1/14 비용으로, 한 번 호출하는 동안 같은 작업 100~500건을 마무리해요. SLM의 강점이에요 — 사용자 경험에 지장을 전혀 주지 않으면서 챗봇 운영자의 컴플라이언스 걱정을 안전하게 예방해드려요.
API 응답: 종합 위험 등급(
risk_level), 권고 액션(recommended_action), 위험 축 목록(active_axes, 등급이 "없음" 이 아닌 축만)을 받아요. async_mode: true 옵션으로 호출하면 분류·운영자 알림 모두 백그라운드 처리 → 챗봇 응답에 0ms 추가.
외산 LLM 한 번 호출하는 동안 우리는 같은 작업 100~500건을 마무리해요. SLM(작은 한국어 특화 모델)의 강점이에요 — 사용자 경험에 지장을 전혀 주지 않으면서 기업·공공의 정신건강 신호 인지 의무를 안전하게 충족해드려요. 챗봇 가드레일이 사용자가 느낄 정도로 늦어지면 결국 운영자가 떼어내고, 그러면 정작 위기 신호를 놓치게 돼요.
분류 결과를 바로 쓰는 액션으로.
신호의 강도에 따라 운영팀이 받을 액션 권고를 함께 출력해요. 워크플로 도구에 그대로 라우팅 가능해요.
| 액션 | 의미 |
|---|---|
| monitor (모니터링) | 세션 메타 누적, 알림 없음 |
| soft_resource (자원 안내) | 관련 자원 카드 노출 (의료/상담) |
| warn_operator (운영자 큐) | 운영자 SLA 큐 등록 (4-24h) |
| human_review (임상 검토) | 임상 reviewer 즉시 큐 |
| emergency_1393 (응급 1393) | 자살예방상담전화 1393 카드 우선 노출 + 운영자 즉시 알림 |
실제 입력으로 바로 확인해보세요.
아래 시나리오 버튼을 누르거나 직접 텍스트를 입력하면 10축 분류 결과·위험 등급·권장 조치를 즉시 보여드려요. 실제 운영에서는 이 결과가 운영자 대시보드 알림으로 자동 분배돼요.
한 번의 호출로 10축 모두.
한 번의 분류 응답에 10개 축 × 5단계 + risk_level + recommended_action이 모두 들어 있어요. 멀티턴 컨텍스트도 함께 보내면 정확도가 좋아져요.
Authorization: Bearer sk_live_…
Content-Type: application/json
{
"text": "오늘 너무 힘들어. 그동안 고마웠어.",
"context_turns": [
{ "role": "user", "text": "요즘 회사 일이 너무 힘들어" },
{ "role": "assistant", "text": "어떤 부분이 가장 힘드세요?" }
],
"async_mode": true // 비동기 모드 — 챗봇 응답에 시간 추가 안 함
}
↓ 응답(즉시 반환, 백그라운드에서 분류 + 운영자 알림)
{
"accepted": true,
"mode": "async",
"request_id": "abc123...",
"quota_remaining": 996
}
위험 신호 감지 시 즉시 이용 차단 가능
분류 결과를 ~20ms 안에 즉시 받아서 운영자가 직접 결정할 수 있어요. "위험 신호가 보이면 챗봇 응답을 잠시 막고 1393 카드를 먼저 보여준다" 같은 워크플로에 적합해요. 기다리는 시간은 사용자가 거의 체감하지 못할 정도로 짧아요.
막지 않고 운영자에게만 알림(latency 0ms)
챗봇 응답은 평소대로 흘러가고, 분류·운영자 알림만 백그라운드로 처리해요. "막지 말고 운영자에게만 보고하라" 가 더 적합한 서비스(장기 사용자 케어, 단순 모니터링)에 추천해요. 사용자 체감 응답 시간에 전혀 영향 없어요.
두 모드는 async_mode 한 옵션으로 분기돼요. 같은 운영 안에서 사용자/케이스별로 다르게 분기해도 돼요. 예: 평소엔 async(운영자 큐), 매우 강한 신호엔 sync(즉시 차단·자원 안내). 이 필터를 넣는 게 운영을 도울 뿐, 사용자 경험을 해치지 않게 디자인했어요.
사고가 났을 때 가장 먼저 받는 질문은 "운영자가 미리 알 수 있는 방법이 있었나요?" 예요.
실제로 해외에서 AI 챗봇과 대화한 사용자가 자해·자살한 사건에서 챗봇 회사에 책임을 묻는 소송이 진행 중이에요. 한국에서도 비슷한 논의가 시작되고 있어요.
정신건강 필터는 그 "미리 알 수 있는 방법"을 시스템에 만들어 둡니다. 본문은 저장하지 않으면서도, "이런 위험 신호가 있었다", "운영자에게 알림이 갔다", "몇 시 몇 분에 운영자가 처리했다" 같은 기록만 남겨요. 나중에 "회사가 알 수 있는 방법이 없었다" 라는 말이 나오지 않게 해요.
이미 챗봇을 운영 중이라면, 정신건강 필터를 한 줄 끼워두는 비용은 사후에 책임을 다투는 비용과 비교할 수 없이 작아요.
AI 시대의 안전, 한 줄 가드레일로.
LLM 호출 한 줄 옆에 정신건강 필터 한 번. 사용자는 보호받고, 운영자는 사전에 인지하고, 사업자는 책임 소재를 예방해요. 가입하면 무료 1,000회/월 사용 가능, 카드 등록 없이 바로 시작.