System Architecture

PRISM 시스템 아키텍처

AWS 서버를 중심으로, 결정적 코드생성형 AI가 역할을 나눠 현장 안전을 처리합니다.

코딩 로직 — 규칙·계산으로 정확히 Claude AI — 의미·맥락을 추론
한눈에 보는 전체 구조

앱은 서버에 요청하고,
서버만 바깥세상과 이야기합니다.

현장 클라이언트
React Native · Expo안드로이드 태블릿 — 현장 주기기
역할 기반 화면작업자 · 관리자 · 한전
AWS EC2 · 서울 리전
FastAPI · main.pyREST API 59개 · systemd 상시가동
ai_guard — 단일 AI 관문kill-switch · PII 가명화 · 인젝션 방어 · egress 화이트리스트 · 감사로그
SQLite · prism.dbTBM · 사고사례 · 아찔순간 · 감사기록
외부 서비스 · egress 7 (+자기 1)
Claude위험분석 · 의미매칭 · 요약 · 퀴즈
Google TTSAI 분석 음성 낭독
Google STT아찔순간 · 낭독 음성→텍스트
기상청 KMA현장 날씨 · open-meteo 백업
Kakao Map주소 · 지도 · 작업계획도
SendGrid메일 발송
코드와 AI의 분업

누가 무엇을 하는가.

확실히 정해진 일은 코드가, 사람의 말과 맥락을 읽는 일은 AI가 맡습니다.

코딩 로직

규칙과 계산으로 정확히

같은 입력이면 언제나 같은 결과
  • 인증·권한과 역할 분기JWT 검증, 화면·데이터 접근 통제
  • 개인정보 가명화·마스킹이름·연락처·주소를 정규식으로 제거
  • 사고사례 1차 규칙 필터공종·전압·날씨·시간대로 후보 압축
  • 급락 플래그평균 − 최근 ≥ 8점이면 자동 경고
  • 외부 API 집계·자동수집날씨·위치·작업이력을 서버가 수집
Claude AI

의미와 맥락을 추론

정답이 하나가 아닌, 판단이 필요한 일
  • 결합 위험 추론흩어진 조건을 엮어 오늘의 위험을 경고
  • 아찔순간 텍스트 구조화·익명화음성 제보를 정리하고 신원을 지움
  • 사고사례 의미 매칭후보 중 가장 닮은 사례를 골라 랭킹
  • 회의록 요약·전달사항 생성대화를 핵심과 지시로 정리
  • 공종별 이해 퀴즈·문서 스캔 해석무지성 체크 방지, OCR 판독

경계는 뚜렷합니다 — 돈이 들고 느린 AI 호출은 꼭 필요한 판단에만. 나머지는 빠르고 값싼 코드가 처리합니다.

특화 로직 · 유사 사고사례 연결

수백 건에서, 오늘 작업과
닮은 사고 2건을 골라냅니다.

DATA사고사례 코퍼스한전 386·KOSHA 344·앱 1 (2026-09-02)731건
코드규칙 필터SQL 조직 · 공종 · 전압 · 공법 · 날씨 · 시간대
코드후보 상한 경량화random.sample≤ 60건
AILLM 의미 랭킹id|유형|분야|공사명 압축목록→ 2건
코드id 검증 · 실패 시 규칙 폴백AI가 없어도 앱은 멈추지 않음
작업자오늘 작업과 닮은 실제 사고 2건 경고
왜 벡터DB·임베딩이 아닌가

규모에 맞는 설계가 더 정확하고 저렴합니다.

수백 건 규모에서 벡터 임베딩 인프라는 과잉입니다. 결정적 규칙으로 60건까지 좁힌 뒤, 최종 의미판단만 LLM에 맡깁니다.

↓ 비용·지연
AI에 보내는 양을 규칙으로 축소
↑ 정확도
닮음의 판단은 사람처럼 읽는 LLM이
단 하나의 문

외부로 나가는 모든 AI 호출은
같은 문을 지납니다.

🛡️ ai_guard — Claude·Google로 나가는 트래픽을 한 파일에서 통제합니다. 무엇이 나가고 무엇이 막히는지, 감사자가 파일 하나로 확인합니다.

kill-switch로 즉시 전면 차단 · 개인정보 가명화 · 프롬프트 인젝션 방어 · 허용 호스트 화이트리스트 · 본문 없는 감사로그
— 한전 정보보안 보안성 검토에 대응하는 단일 통제 지점입니다.

PRISM · prizmwork.com