AI범죄 시나리오 시뮬레이터 시나리오 (서버)

개요

Scenario”는 AI 기술을 이용하여 사용자에게 보이스피싱 및 기타 범죄 상황을 체험하게 하여 예방 교육을 제공합니다.
AI와의 전화 및 메시지 시뮬레이션을 통해사용자는 경각심을 높이고 올바른 대처 방법을 학습할 수 있습니다.
이 서비스를 통해 경각심을 높이고 범죄 예방 능력을 강화할 수 있습니다. 궁극적으로, 보다 안전한 사회를 만드는 데 기여하는 것을 목표로 합니다.

개발 동기

요즘에는 젊은 사람들도 보이스피싱에 피해를 받을 만큼 이 범죄가 날로 진화하고 있습니다. 팀원 중에도 보이스피싱 피해를 경험한 사례가 있어,
보이스피싱은 누구에게나 발생할 수 있는 문제라고 생각하게 되었습니다. 예방 방법에 대해 고민하던 중, 단순히 글로 경각심을 높이는 것보다,
사용자가 실제와 유사한 범죄 상황을 체험하게 함으로써 올바른 대처 방법을 학습할 수 있도록 하는 것이 더 효과적일 것이라고 판단했습니다.

주요기능

주요 사용 기술

- Swift, SwiftUI, CallKit, Alamofire, UIKit, SwiftAudio
- Kotlin, Spring Boot, Websocket, Python, FastAPI
- Spring Data JPA, Sqlalchemy, MySQL, Redis, Mongo DB
- OpenAI, Google Cloud, AWS EC2, AWS S3, DOCKER

팀원

- 프론트엔드 2명, AI 기능 개발자 2명(본인), 백엔드 2명(본인), 디자이너 2명(본인)

담당 역할 및 주요 업무

백엔드 - Kotlin과 Spring Boot를 이용하여 안정성 있는 서버를 구현 하였습니다. 도메인형 디렉토리 구조를 채택하여 확장 및 유지보수를 편하게 만들었으며 또한 배포 과정에서 Docker와 Github Action을 사용하여 환경이 바뀌더라도 쉽게 설정을 할수있게 구성 하였습니다.
AI 프롬포팅/벡엔드 구축 - 원래는 Spring Boot Webflux 를 사용할려고 했으니 OpenAI에 공식적인 모듈지원이 없어 공식문서에 나와있는 Python기반의 FastAPI와 OpenAI Assistant를 통해 챗봇을 구성 하고 타입 캐스트의 TTS로 변환하는 작업을 하였습니다. 또한 Websocket을 사용하여 낮은 지연률의 챗봇을 구현 하였습니다.
디자인 - Figma를 이용하여 디자인을 하였습니다. 피그마의 Auto Layout 기능을 컴포너트들을 일관될 관격으로 유지하였습니다. 사용자가 편한 UI가 무엇인지 사용자의 입장에서 생각하고 디자인 하였습니다.

트러블 슈팅을 통해 배운 점

프롬포트 생성기는 원래 GPT 4o-mini를 사용 하였지만 이 프롬포트를 우회하기 위해 레딧 및 스택 오버플로우등 해외사이트를 검색한 결과 최신 모델인 GPT o3-mini 에서는 해당 이슈가 발생하지 않는다는 리포트가 있어 모델을 변경하여 해결 하였습니다. 시나리오의 프롬포트 생성기를 GPT 4o-mini에서 최신 GPT o3-mini로 변경한 결과, 기존에는 프롬포트를 생성 할 시 간혈적으로 이슈가 발생 하였지만 새로운 모델은 인물 정보를 빠르게 만들어내며, 간혈적으로 발생하던 이슈가 발생하지 않게 되었습니다. 이를 통해 보이스피싱 예방의 효과를 극대화하고, 더욱 완벽한 시뮬레이션을 할 수 있게 되었습니다.