System Architecture · 한눈에 보는 전체 구조

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

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

현장 클라이언트
React Native · Expo안드로이드 태블릿 — 현장 주기기
역할 기반 화면작업자 · 관리자 · 한전
AWS EC2 · 서울 리전
FastAPI 서버REST API · systemd 상시가동
ai_guard — 단일 AI 관문긴급차단 · 개인정보 가명화 · 악성지시 차단 · 허용한 주소만 연결 · 호출기록
SQLite 데이터베이스TBM · 사고사례 · 아찔순간 · 감사기록
외부 서비스(API)
Claude위험분석 · 의미매칭 · 요약 · 퀴즈
Google TTSAI 분석 음성 낭독
Google STT아찔순간 · 낭독 음성→텍스트
기상청 KMA현장 날씨 · open-meteo 백업
Kakao Map주소 · 지도 · 작업계획도
SendGrid메일 발송
TBM 마법사 8단계

작업 전 10분, 요청은 이 길을 지납니다.

단계를 누르면 그 단계가 지나는 길이 켜집니다. 설명 항목을 가리키거나 누르면 그 일 하나의 경로만 남습니다.

현장 앱
카메라·앨범증빙 촬영
마이크음성 입력
화면 입력선택·서명
음성 낭독읽어주기
위치현장 좌표
PRISM
서버
기록 저장TBM·증빙·서명
사고사례 매칭규칙 필터
ai_guard단일 AI 관문
날씨 수집예보 정리
주소 변환좌표→주소
외부
서비스
Claude추론·판정
Google STT받아쓰기
Google TTS음성 합성
기상청open-meteo 백업
Kakao주소·지도
이 단계는 서버를 부르지 않습니다
코드와 AI의 분업

누가 무엇을 하는가.

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

코딩 로직

규칙과 계산으로 정확히

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

의미와 맥락을 추론

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

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

예 · 유사 사고사례 연결 사고사례 731건→규칙 필터 · 60건 이하→AI가 닮은 2건 선택→번호 검증 · 실패하면 규칙으로 자세히 · Harness →
결론 · 좋은 AX란

AI를 얼마나 많이 넣느냐가 아니라,
누가 무엇을 맡느냐입니다.

모든 일을 AI로 바꾸는 것이 지금 바람직한 AX는 아닙니다. 현장이라는 도메인에 맞게 코드와 AI, 사람이 역할을 나누고 서로를 보완할 때, 작업자는 더 안전해집니다.

PRISM의 AX는 AI가 일할 자리와 사람이 지킬 자리를 함께 설계하는 일입니다.

AI가 멈춰도 현장이 멈추지 않는 안전장치 — ai_guard·검증·폴백은 Harness에서 →
PRISM · prizmwork.com