목록으로
생활 속 AI 활용
CBT(인지 행동 치료)기반 멘탈 케어 및 비서 AI 프로그램 제작
우울 증세 완화를 위한 멘탈 케어 및 비서 역할 수행 AI 프로그램 제작
🤖 활용 AI 도구
google Gemini, Claude
시중의 AI 심리 케어 앱들을 살펴보면서 한 가지 불편함을 느꼈습니다. 기분 기록, 사고 패턴, 위기 상황에서의 대화처럼 가장 내밀한 개인 데이터를 다루면서도, 그 데이터가 결국 외부 서버로 전송되어 저장된다는 점이었습니다. "정말 편하게 마음을 털어놓을 수 있는 AI"를 만들려면, 오히려 그 데이터가 내 손을 벗어나지 않는다는 확신이 먼저 필요하다고 생각했습니다. 이런 문제 의식에서 출발해, Google Gemini Live API를 활용한 로컬 우선 심리 케어 동반자 애플리케이션 "온율(ONyuul)"을 개인 프로젝트로 기획하고 개발했습니다.
앞서 언급하였던 Google Gemini Live API를 중심으로, 두 가지 층위에서 AI를 활용했습니다.
실시간 양방향 음성 대화: 단순 텍스트 챗봇이 아니라, 지연 없는 실시간 음성 스트리밍으로 자연스러운 대화가 가능하도록 구현했습니다. 함수 호출 기능을 적극 활용해, AI가 대화 중 스스로 판단해 기분·수면 기록 저장, 사고기록 작성, 할 일·알림 등록, 파일 검색 등 20개가 넘는 실제 동작을 수행하도록 설계했습니다.
이중 안전장치: 위기 상황 감지를 위해 정규식 기반의 즉각적인 1차 필터와, 경량 Gemini 모델을 활용한 문맥 기반 2차 필터를 함께 운영합니다. 속도가 중요한 즉각 반응은 규칙 기반으로, 뉘앙스 판단이 필요한 부분은 AI 판단으로 역할을 나눈 것이 핵심입니다.
"AI와 대화한다"는 개념을 "매일 곁에 있는 심리 케어 동반자"로 실체화할 수 있었습니다. 구체적으로는 CBT(인지행동치료) 기반의 사고기록 관리, 기분·수면 추이 시각화, 긍정 기억 아카이빙, 무기력감 극복을 위한 마이크로 퀘스트, 그리고 위기 상황 시 안전 계획 안내와 다음 날 자동 팔로우업 체크인까지 하나의 앱 안에서 자연스럽게 이어지도록 만들었습니다. 여기에 복약 알림, 할 일 관리, 파일 검색 같은 일상 비서 기능까지 더해, "심리 케어"와 "일상 보조"가 분리되지 않고 하나의 대화 흐름 안에 녹아들게 했습니다.
세 가지를 특히 신경 썼습니다.
철저한 로컬 우선 설계: 모든 대화·기분·사고기록 데이터는 사용자 PC에만 저장되며, Gemini API 호출을 제외하면 외부로 전송되지 않습니다. 나아가 앱이 실행되지 않는 동안에는 DB 파일 자체를 Windows DPAPI로 보호되는 키로 암호화해, 쉬고 있을 때도 데이터가 안전하도록 설계했습니다.
CBT 원칙을 시스템 프롬프트 레벨에서 강제: "공감 → 인지 오류 식별 → 소크라테스식 질문 → 대안적 사고 도출"이라는 임상적 순서를 코드 차원에서 지키도록 만들어, AI가 성급하게 조언하거나 진단성 발언을 하지 않도록 제약했습니다.
끊김 없는 안전망: 정규식 필터가 놓친 위기 신호를 LLM이 뒤늦게 포착하면, 직전에 자동 저장된 데이터를 스스로 롤백하는 등, 여러 겹의 안전장치가 서로를 보완하도록 설계했습니다.
전체 소스코드를 MIT 라이선스로 GitHub에 공개해두었고, Google AI Studio에서 무료로 발급받을 수 있는 Gemini API 키만 있으면 pip install -r requirements.txt 후 python jarvis_ui.py 실행만으로 누구나 직접 구동해볼 수 있습니다. 별도의 서버 인프라나 유료 서비스 없이도 개인이 로컬 환경에서 완결된 AI 음성 동반자를 운영할 수 있다는 것을 이 프로젝트로 보여주고 싶었습니다.
앞서 언급하였던 Google Gemini Live API를 중심으로, 두 가지 층위에서 AI를 활용했습니다.
실시간 양방향 음성 대화: 단순 텍스트 챗봇이 아니라, 지연 없는 실시간 음성 스트리밍으로 자연스러운 대화가 가능하도록 구현했습니다. 함수 호출 기능을 적극 활용해, AI가 대화 중 스스로 판단해 기분·수면 기록 저장, 사고기록 작성, 할 일·알림 등록, 파일 검색 등 20개가 넘는 실제 동작을 수행하도록 설계했습니다.
이중 안전장치: 위기 상황 감지를 위해 정규식 기반의 즉각적인 1차 필터와, 경량 Gemini 모델을 활용한 문맥 기반 2차 필터를 함께 운영합니다. 속도가 중요한 즉각 반응은 규칙 기반으로, 뉘앙스 판단이 필요한 부분은 AI 판단으로 역할을 나눈 것이 핵심입니다.
"AI와 대화한다"는 개념을 "매일 곁에 있는 심리 케어 동반자"로 실체화할 수 있었습니다. 구체적으로는 CBT(인지행동치료) 기반의 사고기록 관리, 기분·수면 추이 시각화, 긍정 기억 아카이빙, 무기력감 극복을 위한 마이크로 퀘스트, 그리고 위기 상황 시 안전 계획 안내와 다음 날 자동 팔로우업 체크인까지 하나의 앱 안에서 자연스럽게 이어지도록 만들었습니다. 여기에 복약 알림, 할 일 관리, 파일 검색 같은 일상 비서 기능까지 더해, "심리 케어"와 "일상 보조"가 분리되지 않고 하나의 대화 흐름 안에 녹아들게 했습니다.
세 가지를 특히 신경 썼습니다.
철저한 로컬 우선 설계: 모든 대화·기분·사고기록 데이터는 사용자 PC에만 저장되며, Gemini API 호출을 제외하면 외부로 전송되지 않습니다. 나아가 앱이 실행되지 않는 동안에는 DB 파일 자체를 Windows DPAPI로 보호되는 키로 암호화해, 쉬고 있을 때도 데이터가 안전하도록 설계했습니다.
CBT 원칙을 시스템 프롬프트 레벨에서 강제: "공감 → 인지 오류 식별 → 소크라테스식 질문 → 대안적 사고 도출"이라는 임상적 순서를 코드 차원에서 지키도록 만들어, AI가 성급하게 조언하거나 진단성 발언을 하지 않도록 제약했습니다.
끊김 없는 안전망: 정규식 필터가 놓친 위기 신호를 LLM이 뒤늦게 포착하면, 직전에 자동 저장된 데이터를 스스로 롤백하는 등, 여러 겹의 안전장치가 서로를 보완하도록 설계했습니다.
전체 소스코드를 MIT 라이선스로 GitHub에 공개해두었고, Google AI Studio에서 무료로 발급받을 수 있는 Gemini API 키만 있으면 pip install -r requirements.txt 후 python jarvis_ui.py 실행만으로 누구나 직접 구동해볼 수 있습니다. 별도의 서버 인프라나 유료 서비스 없이도 개인이 로컬 환경에서 완결된 AI 음성 동반자를 운영할 수 있다는 것을 이 프로젝트로 보여주고 싶었습니다.
📎 첨부파일 (1)
📄 2026-08-18 11-44-37.mp4