AI의 성능은 모델 하나가 아니라, 그것을 감싼 도구·메모리·상태·실행·안전장치·관측이 결정합니다. PRISM은 이 여섯을 ai_guard 하나로 묶었습니다.
harness 스스로는 아무것도 만들지 않습니다. 아래 AI 기능(skill)들을 감싸 안전하게 실행시킵니다. 범용 모델이 주는 것과, PRISM이 직접 설계한 것을 나눕니다.
텍스트 요약·생성(회의록) · 음성↔텍스트(STT·TTS) · 이미지 판독(OCR)
Claude·Google이 원래 잘하는 능력을 그대로 활용합니다.
결합위험 추론 · 유사 사고매칭(규칙+LLM) · 급락 플래그 · 아찔순간 이중 비식별 · 공종별 이해 퀴즈
안전철학과 한전 현장 데이터로 만든 도메인 특화 기능입니다.
상용 AI로 나가는 모든 요청은 backend/ai_guard.py 단 하나를 통과합니다. 감사자가 파일 하나로 "무엇이 나가고 무엇이 막히는지" 확인할 수 있습니다.
모든 호출은 ai_audit_log에 기록됩니다. 단, 프롬프트·응답 본문은 저장하지 않습니다 — 감사로그가 이 시스템에서 가장 큰 개인정보 저장소가 되는 것을 막기 위해서입니다.
harness가 쓸 수 있는 외부 도구는 화이트리스트 7곳으로 못박혀 있습니다(ai_guard 허용목록은 앱 자기 백엔드 api.prizmwork.com을 더해 8개 항목). 목록 밖 호스트는 코드가 호출 자체를 막고, 테스트가 소스를 훑어 우회를 실패시킵니다.
harness는 결정론 규칙과 LLM을 엮습니다. 규칙으로 값싸게 좁히고, 판단만 LLM에 맡기며, AI가 실패해도 규칙으로 폴백해 앱이 멈추지 않습니다. (유사 사고매칭 예)
지속 상태는 서버 DB가 보관하고, 민감한 연결은 요청 범위 안에서만 다룹니다.
TBM 기록 · 사고사례 코퍼스 · 아찔순간 · 감사기록을 단일 DB에 보관합니다(ORM과 raw 쿼리가 같은 DB — split-brain 제거).
호출마다 실명↔가명(작업자A) 표를 만들어 텍스트를 받는 Claude에는 가명만 보내고, 응답을 화면에 보이기 직전 실명으로 복원합니다. 즉 Claude는 실명 텍스트를 받지 않습니다. (아찔순간 음성은 인식을 위해 Google STT에 원음이 전달되며, 이름 등 식별정보는 인식된 텍스트 단계에서 제거하고 원음 자체는 저장하지 않고 즉시 파기합니다.)
화면 규칙도 작업자를 지키는 harness입니다 — 취지만 짧게.
진한 바탕·흰 글자 — 옥외 반사광에도 또렷하게.
화면 비율로 커지는 큰 글자와 넓은 터치 영역.
꼭 필요한 정보만 — 과부하는 곧 주의 분산.
PRISM의 안전은 ai_guard라는 harness가 지킵니다 — 도구를 제한하고, 개인정보를 가리고, 무엇이 나갔는지 남기고, AI가 멈춰도 규칙으로 이어갑니다.
단일 관문 · 본문 없는 감사 · egress 화이트리스트 · 규칙 폴백 — 한전 정보보안 보안성 검토에 대응하는 실행 인프라입니다.
← PRISM 홈으로 돌아가기