"1분반-MoodPick"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(새 문서: <div>__TOC__</div> ==프로젝트 개요== === 기술개발 과제 === ''' 국문 : ''' 00000000.. ''' 영문 : ''' 00000000.. ===과제 팀명=== 00000.. ===지도교수=== 000...)
 
(유즈케이스 추가)
 
(같은 사용자의 중간 판 3개는 보이지 않습니다)
2번째 줄: 2번째 줄:
 
==프로젝트 개요==
 
==프로젝트 개요==
 
=== 기술개발 과제 ===
 
=== 기술개발 과제 ===
''' 국문 : ''' 00000000..
+
''' 국문 : ''' 감정 기반 디지털 콘텐츠 추천 AI 에이전트
  
''' 영문 : ''' 00000000..
+
''' 영문 : ''' Emotion-based Digital Content Recommendation AI Agent
  
 
===과제 팀명===
 
===과제 팀명===
00000..
+
MoodPick
  
 
===지도교수===
 
===지도교수===
000 교수님
+
이병정 교수님
  
 
===개발기간===
 
===개발기간===
2019년 3월 ~ 2019년 6월 (총 4개월)
+
2026년 3월 ~ 2026년 6월 (총 4개월)
  
 
===구성원 소개===
 
===구성원 소개===
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 김**(팀장)
+
서울시립대학교 컴퓨터과학부 20214300** *(팀장)
  
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 정**
+
서울시립대학교 컴퓨터과학부 20219200** *
  
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 조**
+
서울시립대학교 컴퓨터과학부 20219200** *
  
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 이**
+
서울시립대학교 컴퓨터과학부 20219200** *
 
 
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 남**
 
  
 
==서론==
 
==서론==
 
===개발 과제의 개요===
 
===개발 과제의 개요===
 
====개발 과제 요약====
 
====개발 과제 요약====
내용
+
본 과제는 사용자의 실시간 정서 상태를 심리 대화를 통해 분석하여 최적의 콘텐츠를 추천하고, MCP 기술을 통해 이를 자율적으로 실행하며, 소비 전후의 감정 변화를 정량적으로 측정하는 감정 기반 디지털 콘텐츠 추천 AI 에이전트 개발을 목적으로 한다.
 +
 
 +
핵심 기술 및 특징
 +
*멀티 에이전트 오케스트레이션: 지휘, 심리, 대화, 추천 등으로 분업화된 AI 에이전트가 협력하여 고도화된 심리 상담 및 맞춤형 케어 제공
 +
*MCP 기반 자율 실행 환경: 표준화된 프로토콜을 통해 YouTube, Spotify 등 외부 플랫폼과 연동하여 추천 콘텐츠를 사용자 개입 없이 즉시 실행
 +
*동적 감정 변화 측정: 사전 문진 데이터와 심리 상담형 대화, 사후 피드백을 결합하여 감정 개선도를 수치화하고, 이를 다시 추천 엔진에 반영하는 피드백 루프 구축
 +
*RAG 기반 전문 지식 결합: 심리 상담 매뉴얼 및 전문 DB를 활용해 근거 기반의 신뢰성 있는 상담 서비스 구현
 +
 
 
====개발 과제의 배경====
 
====개발 과제의 배경====
내용
+
1. 현대인의 정신건강 위기 심화
 +
*정신건강 문제의 확산: 건강보험심사평가원에 따르면 2025년 우울증으로 진료받은 국내 환자는 약 113만 8230명에 달하며, 2021년 대비 25% 증가했다. 단순한 슬픔을 넘어 삶의 흥미를 잃고 무기력감에 잠식되는 우울증은 사회 전반의 심리적 위기로 떠오른다.
 +
*특히 전형적인 우울증과 차이가 있는 고기능 우울의 경우에는 다양한 원인에 의해 발생한다. 성과 중심적이고 경쟁이 치열한 한국 사회의 분위기로부터 비롯되는 학업과 취업 압박, 직장에서의 압박, 고용 불안, 주거비 상승 등으로 인한 경제적 스트레스로 인해 발생할 수 있다. 특히 팬데믹 이후 고립감, 불안, 미래에 대한 불확실성이 젊은 세대의 심리에 깊이 뿌리내렸다.
 +
*고기능 우울을 겪는 이들은 자신의 내면 상태를 철저히 숨기려 하기 때문에 가족이나 가까운 사람조차도 쉽게 눈치채지도 못한다. 이런 감정이 장시간 방치되게 된다면 더 깊은 심리적 고립으로 이어질 수 있다.
 +
*이런 점들을 고려할 때, 심리적으로 고립된 현대인들의 스트레스 해소를 위한 방안이 필요하다. 전문 상담은 비용과 심리적 장벽이 높으며, 현대인들이 일상에서의 스트레스 해소 및 정신적 건강을 위해서 일상적 케어의 필요성이 두드러진다.
 +
2. 기존 콘텐츠 추천 시스템의 한계
 +
*감정의 휘발성 미반영: 기존의 Netflix나 YouTube 등의 추천 알고리즘은 과거 시청 이력과 인기 기반 데이터에만 의존한다. 사용자가 지금 당장 우울한지, 위로가 필요한지 등의 실시간 정서 상태를 고려하지 못해 완전히 개인화된 경험을 제공하지 못한다. 본 과제는 대화 기반 감정 이해와 문진 기반 데이터 결합을 통해 보다 현실적이고 개인화된 감정 케어 시스템을 제공하여 감정 상태 완화 및 개인화된 콘텐츠 소비 경험 제공을 기대한다..
 +
*상업적 목적의 알고리즘: 대부분의 상업용 플랫폼은 체류 시간 극대화와 클릭률을 최우선 지표로 삼는다. 사용자의 정서적 안정이 아니라, 더 오래 화면에 머물게 하기 위해 더욱 자극적이거나 확증 편향을 강화하는 콘텐츠를 우선적으로 노출시킨다.
 +
*피드백 루프의 단순성: 기존의 피드백은 좋아요/싫어요, 시청 시간, 시청 완료 여부 등 단순한 데이터에 의존한다. 콘텐츠를 끝까지 봤다고 해서 그게 반드시 만족스러웠거나 기분이 좋아졌음을 의미하지는 않는다. 억지로 시청했을 수도 있고, 보고 나서 오히려 감정 상태가 나빠졌을 수도 있다. 이모지를 활용한 감정적 피드백 루프와 감정 변화 측정을 통해 사용자의 감정을 더욱 반영하여 콘텐츠를 추천할 수 있다.
 +
3. AI 에이전트와 MCP 기술의 고도화
 +
*LLM에서 Agentic AI로의 진화: 과거의 AI는 질문에 답만 하고, 사용자의 지시를 이행하는 수동적인 챗봇에 불과하였지만, 현재는 스스로 목표를 설정하고 도구를 사용하는 에이전트 단위로 진화하였다. 하나의 모델이 모든 것을 처리하는 방식을 벗어나 여러 AI들이 서로 결과물을 검토하고 보완하는 Chain-of-Thought 구조를 구현할 수 있다. 또한 최신 모델의 추론 능력의 고도화로 사용자의 발화 속에 숨겨진 미세한 심리적 기저를 파악할 수 있다.
 +
*MCP(Model Context Protocol): AI 에이전트와 외부 도구를 연결하는 차세대 표준 규격을 도입하여, 단순한 정보 제공을 넘어 실시간으로 외부 서비스와 연동하는 인터페이스를 구축한다. 이를 통해 추천 에이전트가 결정한 콘텐츠를 외부 플랫폼에서 즉시 자율 실행할 수 있는 환경을 조성한다.
 
====개발 과제의 목표 및 내용====
 
====개발 과제의 목표 및 내용====
내용
+
개발 과제의 최종 목표: 사용자의 실시간 감정 맥락을 파악하고, MCP 기반의 자율 실행 도구를 활용하여 정서적 개선 및 개인화된 콘텐츠 제공을 실현하는 멀티 에이전트 심리 케어 시스템 구축
 +
*감정 데이터의 자산화: 사용자의 실시간 감정 변화를 정량적 지표로 도출 및 저장
 +
*에이전트 자율성 확보: AI가 직접 외부 도구를 제어하여 추천에서 실행까지의 사용자 개입 최소화
 +
*신뢰성 있는 상담 엔진: RAG 기술을 접목하여 전문 심리 상담 매뉴얼에 근거한 정서 지원 서비스 제공
 +
 
 +
 
 +
주요 개발 내용
 +
 
 +
1. 지능형 멀티 에이전트 오케스트레이션(AI & Backend)
 +
*지휘 에이전트 설계: LLM의 추론 능력을 활용하여 사용자 발화 의도를 분류하고 적절한 에이전트로 태스크를 라우팅하는 제어 로직 구현
 +
*에이전트 간 컨텍스트 공유: 에이전트들이 실시간으로 사용자와의 대화의 맥락이 끊기지 않도록 데이터 공유
 +
2. MCP 기반 자율 콘텐츠 실행 엔진(Action & Tool)
 +
*MCP Server 구축: YouTube, 팟캐스트 등 외부 API를 표준화된 MCP 규격으로 래핑하여 에이전트가 직접 호출 가능한 도구로 노출
 +
*자율 실행 파이프라인: 추천 에이전트의 결정에 따라 콘텐츠가 즉각 재생되는 인터페이스 개발
 +
3. 심리 전문 지식 기반 RAG 시스템(Data)
 +
*벡터 데이터베이스 구축: 공신력 있는 심리 상담 매뉴얼 및 가이드라인과 사용자 정보를 임베딩하여 벡터 DB에 저장
 +
*근거 기반 응답 생성: 사용자의 정보와 저장된 전문 지식을 기반으로 신뢰도 높은 심리 상담과 대응 가이드 제공
 +
4. 감정 변화 측정 및 데이터 시각화(Frontend)
 +
*정량적 감정 대시보드: 사전/사후 문진 데이터와 대화 분석 결과를 결합하여 감정 변화 추이를 시각적 그래프로 구현
 +
*이모지 기반 피드백 루프: 추천 콘텐츠에 대한 사용자의 직관적인 이모지 반응 수집, 이를 다음 추천 알고리즘에 반영하는 구조 설계
  
 
===관련 기술의 현황===
 
===관련 기술의 현황===
 
====관련 기술의 현황 및 분석(State of art)====
 
====관련 기술의 현황 및 분석(State of art)====
 
*전 세계적인 기술현황
 
*전 세계적인 기술현황
내용
+
**최근 콘텐츠 추천 시스템은 기존의 시청 이력 기반 협업 필터링에서 발전하여 사용자의 감정 상태와 상황을 반영하는 Context-aware Recommendation System으로 진화하고 있다. 특히 emotion-aware 추천 시스템은 사용자의 현재 정서 상태를 반영하여 개인화된 콘텐츠를 제공하는 방향으로 연구가 진행되고 있다. 이러한 협업 필터링 기반 추천 방식은 기존 연구에서도 널리 활용되고 있다 (Koren et al., 2009).
 +
**감정 인식 기술은 자연어 처리를 기반으로 한 텍스트 감정 분석에서 출발하여 최근에는 음성, 표정, 행동 패턴 등을 함께 활용하는 멀티모달 감정 인식 기술로 확장되고 있다. 이를 통해 단일 데이터 기반 분석의 한계를 극복하고 보다 정교한 감정 추론이 가능해지고 있다.
 +
**대화형 AI 시스템은 기존 규칙 기반 챗봇에서 벗어나 LLM 기반의 생성형 AI로 빠르게 전환되고 있으며 이는 Transformer 구조를 기반으로 발전하였다 (Vaswani et al., 2017). 단순 질의응답을 넘어 공감형 대화 및 상담 기능까지 수행하는 방향으로 발전하고 있다. 그러나 LLM은 hallucination 문제로 인해 신뢰성이 부족할 수 있으며 이를 보완하기 위해 RAG 기반 구조가 활용되고 있다. (Lewis et al., 2020).
 +
**또한 최근 AI 시스템은 단일 모델 중심 구조에서 벗어나 역할을 분리한 멀티 에이전트 기반 아키텍처로 발전하고 있다. 각 에이전트가 감정 분석, 대화 생성, 추천 등의 기능을 분담하고 협력함으로써 시스템의 확장성과 안정성을 확보할 수 있다.
 +
**더 나아가 AI는 단순한 응답 생성에 그치지 않고, 외부 시스템과 연동하여 실제 행동을 수행하는 방향으로 발전하고 있다. MCP와 같은 표준화된 인터페이스를 활용하면 다양한 플랫폼과 연결하여 추천 결과를 즉시 실행하는 자율형 AI 시스템 구현이 가능하다.
 +
**따라서 본 과제는 이러한 기술 흐름을 바탕으로 감정 기반 추천, RAG, LLM, MCP 기술을 통합하여 사용자 맞춤형 콘텐츠 추천 및 실행이 가능한 AI 에이전트 시스템을 구현하고자 한다.
 
*특허조사 및 특허 전략 분석
 
*특허조사 및 특허 전략 분석
내용
+
**특허조사
 +
***감정 기반 콘텐츠 추천 기술은 기존에도 다양한 형태로 연구 및 특허가 존재하는 분야로 사용자 감정 상태를 활용하여 콘텐츠를 추천하는 기본적인 구조는 이미 선행 기술이 존재한다.
 +
***또한 감정 인식 기술을 활용하여 사용자 상태를 분석하고 이를 기반으로 서비스를 제공하는 방식 역시 텍스트, 음성, 영상 등 다양한 데이터를 활용하여 지속적으로 발전하고 있다.
 +
***그러나 기존 기술은 감정 분석, 추천 시스템, 대화 시스템 등이 개별적으로 구현된 경우가 많으며 이를 하나의 통합 시스템으로 구성하는 사례는 상대적으로 제한적이다.
 +
***특히 감정 분석 → 상담 대화 → 콘텐츠 추천 → 외부 실행 → 감정 변화 측정까지 이어지는 통합형 AI 에이전트 구조는 기존 기술 대비 차별성을 가지는 요소로 판단된다.
 +
**특허전략
 +
***본 과제는 단순 감정 기반 추천 기술이 아니라 감정 분석, 상담 대화, RAG 기반 지식 활용, 콘텐츠 추천, MCP 기반 실행, 감정 변화 피드백을 포함하는 통합 시스템 구조에 차별성이 있다. 따라서 개별 기능이 아닌 전체 프로세스를 중심으로 특허 전략을 수립해야 한다.
 +
***특허 청구항 설계 시에는 감정 상태 분류 방법, 상담 응답 생성 방식, 콘텐츠 추천 알고리즘, 외부 플랫폼 자동 실행 구조, 감정 변화 측정 및 반영 방식 등을 기능별로 분리하여 구성하는 것이 바람직하다.
 +
***특히 콘텐츠 소비 전후의 감정 변화를 정량적으로 분석하고 이를 다시 추천에 반영하는 피드백 루프 구조는 핵심 차별 요소로 활용 가능하며 이를 중심으로 권리화를 추진할 수 있다.
 
*기술 로드맵
 
*기술 로드맵
내용
+
**1단계(기초 구축): 사용자 입력 데이터를 기반으로 감정 상태를 분류하는 모델을 설계하고 우울, 스트레스, 불안, 안정 등 주요 감정 카테고리를 정의한다. 동시에 심리 상담 문장, 콘텐츠 메타데이터, 사용자 반응 데이터를 수집하여 RAG 기반 지식베이스 및 데이터 구조를 구축한다.
 +
**2단계(모델 고도화): 텍스트 기반 감정 분석 모델을 개선하고 이모지, 사용자 행동 데이터 등을 활용하는 감정 분석 기능을 도입한다. 또한 벡터 데이터베이스를 구축하여 의미 기반 검색이 가능한 RAG 시스템을 구현하고 상담 응답의 신뢰성을 강화한다.
 +
**3단계(자율 실행 시스템 구축): MCP 기반 외부 연동 구조를 설계하고 YouTube, Spotify 등의 플랫폼과 연결하여 추천 콘텐츠를 실제 실행까지 이어지도록 한다. 이를 통해 추천-실행-피드백이 연결된 에이전트형 서비스 흐름을 완성한다.
 +
**4단계(최적화 및 확장): 사용자별 감정 변화 데이터를 축적하여 개인화 추천 모델을 고도화하고 감정 변화 추이를 분석하여 추천 정확도를 향상시킨다. 또한 UI/UX 개선 및 시스템 성능 최적화를 통해 사용자 만족도를 높인다.
  
 
====시장상황에 대한 분석====
 
====시장상황에 대한 분석====
 
*경쟁제품 조사 비교
 
*경쟁제품 조사 비교
내용
+
**유튜브 추천 알고리즘은 이용자의 이용 기록과 개인정보를 기반으로 맞춤형 콘텐츠와 광고를 제공하며, 이용자의 선호도를 예측하여 최적의 콘텐츠를 추천하는 시스템이다. 유튜브는 이용자의 콘텐츠 검색 및 시청 활동을 빅데이터로 수집하고 이를 활용해 메인 화면에 맞춤형 콘텐츠를 제공함으로써 사용자 경험을 향상시키고 있다. 이로 인해 유튜브는 콘텐츠 소비를 증대시키고, 서비스 제공자는 광고 수익을 극대화할 수 있으나 정보의 다양성과 접근성에 부정적인 영향을 미칠 수 있으며 알고리즘이 광고 수익에 의존하는 상업 시스템에 속박될 수밖에 없다는 비판이 제기되고 있다.
 +
**스포티파이는 AI 기반 기능을 지속적으로 선보이고 있다. 프롬프트 플레이리스트는 사용자가 원하는 분위기나 상황, 영감을 자유롭게 입력해 자신의 음악 취향을 반영한 플레이리스트를 생성할 수 있는 기능이다. 각 곡에는 왜 해당 곡이 선택됐는지 간략한 설명도 함께 제공되며, 플레이리스트는 프롬프트를 수정하거나 처음부터 다시 만드는 방식으로 기존 AI 플레이리스트보다 세부 조정이 가능하다. 취향 프로필 기능은 이용자의 음악 감상 습관을 요약해 보여준다. 듣고 싶은 콘텐츠 유형을 직접 설명할 수 있고 AI에게 어떤 음악을 더 듣고 싶은지, 또는 알고리즘에 자주 등장하는 특정 장르를 제외하고 싶은지 등을 직접 입력하는 등 이용자가 직접 AI 추천 알고리즘을 조정할 수 있다.
 +
**ChatGPT 등 인공지능(AI) 챗봇을 심리 상담 도구로 활용할 수 있는지에 대한 논의가 이어지고 있는 가운데 AI를 상담 도구로 활용할 경우 AI 챗봇이 상담 상황에서 다양한 윤리적 문제를 일으킬 수 있어 안전성과 책임 구조를 둘러싼 논쟁이 커질 수 있다는 지적이 나왔다. AI 챗봇과 관련된 극단적 선택 사건을 둘러싼 논쟁도 이어지고 있다.
 +
**경기연구원의 설문조사에 의하면 AI 기반 정신건강 앱과 AI 챗봇 모두 마음을 터놓을 의향이 낮은 수준(의향 ‘있음’ 응답 비율 각각 18.7%, 22.6%)을 보였지만 AI 챗봇은 상호작용 방식이라는 특성상 접근성 및 편리성이 더 크다고 인식한 일부 응답자층이 존재함을 확인할 수 있다.
 
*마케팅 전략 제시
 
*마케팅 전략 제시
내용
+
**한국언론진흥재단 설문조사에 따르면 응답자 1000명 중 60.3%는 AI와의 대화에서 위로와 격려를 받을 때가 있다고 응답했다. 생성형 AI와의 대화를 사람과의 대화와 비슷하다고 느끼는 응답자 또한 61.1%로 과반 이상으로 나타나 생성형 AI가 대인 커뮤니케이션을 대체, 보완할 수 있는 가능성도 보여줬다. 이는 AI가 단순한 정보 전달 도구를 넘어, 사용자와의 ‘정서적 라포’를 형성할 수 있는 단계에 도달했음을 의미한다.
 +
**경기연구원의 설문조사 결과에 따르면 응답자의 37.5%가 AI 기반 서비스(예: ChatGPT)를 이용해 개인적 고민을 상담한 적이 있다고 응답했다. 만족도 측면에서는 보통(38.8%)과 도움이 됨(34.3%)이 전체의 약 73%를 차지해, 대다수는 일정 수준 이상의 유용성을 체감하고 있고 부정적 경험은 약 20% 수준으로 높지 않다. 정서적 지원을 위한 AI 서비스 이용 정도에서 ‘전혀 사용하지 않음’과 ‘거의 사용하지 않음’을 합한 응답이 모두 60% 이상을 차지해, 정서 영역에서의 AI 활용은 아직 낮은 수준으로 보인다. 영국 여론조사기관 센서스와이드가 실시한 조사에 따르면 영국 성인 37%가 정신 건강이나 정서적 지원을 위해 AI 챗봇을 이용한 경험이 있는 것으로 나타났다.
 +
**실제 AI를 정서적 지원에 사용한 경험 여부와 상관없이 향후 ‘AI로 고민 상담을 할 의향이 있다’는 응답이 77.1%로 매우 높게 나타났는데, 응답자 중 이용하려는 이유로 ‘무료 혹은 저렴한 비용’을 선택한 비중이 30.7%로 가장 높았으며, ‘사람에게 말하기 어려운 고민을 털어놓기 쉬움’(26.4%), ‘익명성 및 비밀보장’(24.5%)이 주요 항목으로 나타났다. 반면 향후 AI 기반 서비스를 통해 개인적인 상담을 해볼 의향이 없는 가장 큰 이유는 ‘인간적 공감 부족’(42.7%)으로 나타났고 기술적인 한계와 우려, 즉 ‘개인정보 감시 우려’(29.7%), ‘정확성 및 안정성 불신’(22.2%)이 그 다음으로 높은 이유로 꼽혔다. 실제 AI를 정서적 지원 또는 고민 상담에 사용한 응답자가 많지는 않았지만 유용성이 있는 것으로 나타나고 향후 AI로 고민 상담을 할 의향이 있는 응답자의 비율은 높게 나온 만큼 AI 기반 서비스를 통해 사용 의사가 없게 만드는 요인을 보완할 필요가 있다.
  
 
===개발과제의 기대효과===
 
===개발과제의 기대효과===
 
====기술적 기대효과====
 
====기술적 기대효과====
내용
+
*공감격차 해소: 기존 AI의 한계로 지적된 ‘인간적 공감 부족’을 해결하기 위해, 단순 텍스트 반응이 아닌 사용자의 감정 변화를 측정하고 이에 MCP로 맞춤형 콘텐츠를 실행하는 ‘능동적 공감 루프’ 기술을 확립하여 사용자의 감정 개선 효과를 기대한다. AI가 실제 이해 없이 공감 표현을 사용하는 ‘가짜 공감’이나 이용자의 감정 상태를 지나치게 단순화하거나 충분한 이해 없이 안심시키는 답변을 방지한다.
 +
*신뢰 기반의 상담 아키텍처: 전문가 집단에 대한 신뢰는 높고, 비전문가나 AI 기반 서비스에 대한 신뢰는 상대적으로 낮은 구조이다. 심리 상담 매뉴얼 및 전문 DB를 활용해 근거 없는 답변을 최소화하여, 사용자의 기술적 불신을 해소하고 신뢰성 있는 상담 서비스 지위 확보할 수 있다.
 +
*정밀한 감정 분석 엔진 구축: 단순 텍스트 감성 분석을 넘어, 대화 맥락과 문진 데이터를 결합한 하이브리드 감정 측정 모델을 통해 정서 분석을 정량적 지표로 도출하고 정확도를 향상시킨다.
 
====경제적, 사회적 기대 및 파급효과====
 
====경제적, 사회적 기대 및 파급효과====
내용
+
*정서적 안전망 역할: 응답자의 77%는 AI를 정서적 지원에 사용한 경험 여부와 상관없이 ‘향후 AI로 고민 상담을 할 의향이 있다’고 답변했다. 정신 건강 전문가 부족 등의 이유로 합리적인 비용으로 치료를 받기 어려운 경우 AI 챗봇을 통한 상담 접근성 확대의 효과를 기대할 수 있다.
 +
*낙인효과 해소: 사람에게 말하기 어려운 고민을 털어놓기 쉽다는 응답을 바탕으로, 대면 상담의 부담을 느끼는 집단에게 거부감이 없고 익명성이 보장된 AI 에이전트를 제공하여 심리적 고립 실질적 해소를 기대할 수 있다.
 +
*상업적 확장 가능성: 컨텐츠 추천을 넘어서서 도시락 배달이나 병원 연결 등으로 확장이 가능하다.
  
 
===기술개발 일정 및 추진체계===
 
===기술개발 일정 및 추진체계===
 
====개발 일정====
 
====개발 일정====
내용
+
{|cellspacing="0" border="1" class="wikitable"
 +
! rowspan="2"| 단계별 세부개발 내용 || rowspan="2"| 담당자 || colspan='4'| 개발기간(월단위) || rowspan="2"|비고
 +
|-
 +
!3 || 4 || 5 || 6
 +
|-
 +
| 요구사항 문석 및 시스템 아키텍처 설계 || 전원 || style="background:#444" |  ||  ||  ||  || 
 +
|-
 +
| AI 에이전트 구현 || 김*규 || || style="background:#444" | ||  ||  || 
 +
|-
 +
| RAG DB 구축 || 김*규 || || style="background:#444" | ||  ||  || 
 +
|-
 +
| 대화형 인터페이스 및 시나리오 구현 || 서*훈 || || style="background:#444" | ||  ||  ||
 +
|-
 +
| MCP 서버 구축 || 박*욱, 강*현 || || style="background:#444" | ||  ||  || 
 +
|-
 +
| MCP 자율 실행 파이프라인 연동 및 테스트 || 박*욱, 강*현 || || style="background:#444" | ||  ||  || 
 +
|-
 +
| UI 구현 || 서*훈 || || style="background:#444" | ||  ||  || 
 +
|-
 +
| 감정 변화 산출 로직 구현 || 전원 || || style="background:#444" | ||  ||  || 
 +
|-
 +
| 성능 평가 및 최종 시스템 검토 || 전원 || ||  || style="background:#444" | ||  || 서버 배포 포함
 +
|-
 +
| 사용자 테스트 || 전원 || ||  ||  || style="background:#444" | || 
 +
|}
 +
 
 
====구성원 및 추진체계====
 
====구성원 및 추진체계====
내용
+
* 박*욱(팀장): 백엔드 및 전체 총괄
 +
* 김*규: AI 담당
 +
* 강*현: 백엔드 담당
 +
* 서*훈: 프론트엔드 담당
  
 
==설계==
 
==설계==
 
===설계사양===
 
===설계사양===
 
====제품의 요구사항====
 
====제품의 요구사항====
내용
+
{|cellspacing="0" border="1" class="wikitable"
 +
!번호||요구사항||D||중요도
 +
|-
 +
|1||대화를 통한 감정 상태 분석||D||대
 +
|-
 +
|2||심리 상담 기능의 심리 대화 챗봇||D||대
 +
|-
 +
|3||감정 기반 콘텐츠 추천||D||대
 +
|-
 +
|4||추천 콘텐츠의 자동 재생||D||중
 +
|-
 +
|5||문진을 통한 감정 개선 실태 확인||D||중
 +
|-
 +
|6||콘텐츠 추천 피드백을 통한 개인화||D||중
 +
|-
 +
|7||감정 변화 기록 ||W||소
 +
|}
 +
 
 
====설계 사양====
 
====설계 사양====
내용
+
*Next.js 16 + React 19 + Tailwind CSS: App Router 기반 라우팅, SSR, 35개 이상 접근성 높은 UI 컴포넌트, 유틸리티 우선 스타일.
 +
*FastAPI + Pydantic + Uvicorn: async/await 기반 비동기 처리, 자동 API 문서 생성, 타입 안전성 제공.
 +
*Supabase Auth + JWT + RLS: JWT 토큰 인증, Row Level Security 정책으로 사용자별 데이터 격리.
 +
*GPT-4o-mini + Function Calling: 3개 에이전트(Orchestrator, Counselor, Content Recommender) 통일, RAG 검색, 사용자 프로필 조회, 감정 기록을 구조화된 방식 수행.
 +
*text-embedding-3-small: 1536차원 임베딩으로 RAG 검색 및 콘텐츠 유사도 계산.
 +
*Supabase PostgreSQL + pgvector: ACID 준수, JSON/JSONB 지원, RLS 정책이 있는 관리형 PostgreSQL.
 +
*Valence-Arousal (VA) 2D 감정 모델: Valence(-1~1: 슬픔↔기쁨), Arousal(-1~1: 진정↔활발)의 2축으로 정량화.
 +
*YouTube Data API v3: 이미 시청, 쇼츠, embeddable 필터링
 +
*FastMCP 서버: JSON-RPC 기반 도구 인터페이스로 YouTube/팟캐스트 검색 표준화
 +
*Docker: 프론트, 백, DB를 개별 컨테이너로 관리하여 개발/운영 환경 일관성 유지.
  
 
===개념설계안===
 
===개념설계안===
내용
+
'''1. 멀티 에이전트 협업 상담 시스템'''
 +
 
 +
이 설계는 복잡한 심리 상담과 추천 로직을 전문화된 3개의 AI 에이전트가 완수하는 지능형 구조
 +
 
 +
<에이전트 협업 구조>
 +
 
 +
[[파일:MoodPick 개념설계안 1.png]]
 +
 
 +
<상세 설명>
 +
 
 +
작동 방식: 사용자 입력이 들어오면 Orchestrator가 위기를 감지하고 의도를 분류합니다. Counselor는 RAG를 통해 전문적인 공감 답변을 생성하며, Recommender는 감정 상태에 가장 적합한 콘텐츠 쿼리를 생성합니다.
 +
 
 +
설계 사양 대응:
 +
 
 +
요구사항 1, 2: 멀티 에이전트 분업을 통해 고도화된 감정 분석 및 심리 상담 제공. (D, 대)
 +
 
 +
요구사항 3: Recommender 에이전트가 컨텍스트 기반의 정밀한 추천 수행. (D, 대)
 +
 
 +
'''2. 맞춤형 힐링 루프'''
 +
 
 +
사용자의 감정 케어가 끊김 없이 이어지도록 대화, 영상, 문진을 하나의 여정으로 묶은 UX 설계
 +
 
 +
<심리스 힐링 루프 UI>
 +
 
 +
[[파일:MoodPick 개념설계안 2.png]]
 +
 
 +
<상세 설명>
 +
 
 +
작동 방식: 상담 중 AI가 영상을 추천하면 별도의 이동 없이 대화창 내에서 영상이 자동 재생됩니다. 시청이 끝난 직후 사후 피드백 오버레이가 나타나 감정 변화를 즉시 확인하며, 사용자의 피드백(👍/👎)은 즉각적으로 AI의 다음 추천에 반영됩니다.
 +
 
 +
설계 사양 대응:
 +
 
 +
요구사항 4: 추천 콘텐츠의 자동 재생 구현. (D, 중)
 +
 
 +
요구사항 5, 6: 시각적 오버레이 문진을 통한 개선 실태 확인 및 피드백 기반 개인화. (D, 중)
 +
 
 +
 
 +
'''3. 데이터 기반 개인화 정서 대시보드'''
 +
 
 +
상담과 콘텐츠 시청의 결과물인 사용자의 감정 변화 데이터를 시각적 자산으로 변환하여 제공하는 설계
 +
 
 +
<감정 대시보드>
 +
 
 +
[[파일:MoodPick 개념설계안 3.png]]
 +
 
 +
<상세 설명>
 +
 
 +
작동 방식: 사용자가 매 세션마다 수행한 사전/사후 문진 데이터의 차이(Delta)를 그래프로 시각화합니다. 캘린더 기능을 통해 일주일간의 정서 변화를 한눈에 파악하고, 본인이 즐겨 본 '위로 콘텐츠' 리스트를 체계적으로 관리합니다.
 +
 
 +
설계 사양 대응:
 +
 
 +
요구사항 7: 누적된 데이터를 바탕으로 장기적인 감정 변화 기록 관리. (W, 소)
 +
 
 +
요구사항 5: 문진 데이터를 단순 저장이 아닌 시각적 피드백 자료로 활용. (D, 중)
  
 
===이론적 계산 및 시뮬레이션===
 
===이론적 계산 및 시뮬레이션===
내용
+
'''1. 연구범위'''
 +
 
 +
본 프로젝트(MoodPick)는 웹·API 기반 심리 상담 및 감정 기반 콘텐츠 추천 시스템이다. 따라서 기구 해석, 유한요소법(FEA), 열·유체 해석 등 전통적인 CAE시뮬레이션은 적용되지 않는다.
 +
대신 본 시스템은 다음과 같은 구조를 기반으로 설계되었다.
 +
*문진 기반 감정 분석
 +
*벡터 기반 유사도 검색(RAG)
 +
*외부 콘텐츠 연동(MCP)
 +
본 절에서는 시스템에 실제로 구현된 정량적 계산과 Simulation 결과를 기술한다.
 +
 
 +
 
 +
'''2. 문진 척도 변환 및 세션별 변화량'''
 +
 
 +
'''2.1 이모지 응답의 수치 변환'''
 +
 
 +
사용자의 감정 상태는 사전·사후 문진을 통해 수집되며, 각 이모지 응답은 다음과 같이 수치로 변환된다.
 +
*great → 5
 +
*good → 4
 +
*neutral → 3
 +
*low → 2
 +
*bad → 1
 +
정의되지 않은 값은 기본값 3으로 처리한다.
 +
이와 같은 척도 변환은 감정 상태를 정량적으로 비교하기 위한 기준으로 사용된다.
 +
 
 +
'''2.2 문항별 변화량 및 개선 여부'''
 +
 
 +
각 문항에 대해 사전(pre) 점수와 사후(post) 점수의 차이를 이용하여 변화량을 계산한다.
 +
 
 +
Δ<sub>k</sub>=s<sub>post.k</sub>-s<sub>pre.k</sub>
 +
 
 +
또한 전체 감정 변화는 각 문항 변화량의 평균값으로 판단할 수 있다.
 +
 
 +
[[파일:MoodPick 감정변화 수식.png]]
 +
 
 +
*평균 변화량 > 0 → 감정 상태 개선
 +
*평균 변화량 ≤ 0 → 변화 없음 또는 악화
 +
 
 +
평균 변화량이 0보다 크면 감정 상태가 개선된 것으로 판단한다.
 +
 
 +
이 방식은 통계적 모델이 아닌 사용자 상태 변화를 직관적으로 파악하기 위한 규칙 기반 계산이다.
 +
 
 +
 
 +
'''3. 감정 기록 요약 및 추이'''
 +
 
 +
'''3.1 평균 감정 점수'''
 +
 
 +
최근 일정 기간(기본 7일)의 데이터를 기반으로 평균 감정 점수를 계산한다.
 +
*산술 평균 사용
 +
*소수 둘째 자리까지 반올림
 +
*사용자 상태를 직관적으로 파악하기 위한 지표
 +
 +
'''3.2 감정 변화 추이 판단'''
 +
 
 +
시간 순으로 정렬된 감정 점수를 기준으로 최근 상태와 이전 상태를 비교한다.
 +
*최근 구간: 최근 3개 값
 +
*이전 구간: 그 이전 3개 값
 +
판단 기준은 다음과 같다.
 +
*최근 평균 > 이전 평균 + 0.5 → improving (개선)
 +
*최근 평균 < 이전 평균 − 0.5 → declining (악화)
 +
*그 외 → stable (유지)
 +
이 방법은 최근 상태와 과거 상태를 비교하여 감정 변화 방향을 파악하기 위한 규칙 기반 방식이다. 또한 0.5 이상의 차이를 기준으로 설정하여, 작은 변화가 아닌 의미 있는 변화만 반영하도록 하였다.
 +
 
 +
 
 +
'''4. 텍스트 기반 감정 분석 -> LLM 기반 감정 분석'''
 +
 
 +
현재 감정 분석 기능은 머신러닝 모델이 아닌 키워드 기반 규칙 방식으로 구현되어 있다.
 +
*입력 문장에서 특정 감정 키워드 탐지
 +
*감정 라벨 및 강도 값 반환
 +
*매칭 실패 시 기본값 사용
 +
이 방식은 초기 시스템의 안정성과 처리 속도를 고려한 설계이며, 현재 LLM은 연결된 상태이니 이후 심리 상담 메뉴얼과 논문 등을 데이터베이스에 추가하여 향후 신뢰성을 만족하는 LLM 기반 감정 분석으로 확장할 예정이다.
 +
 
 +
 
 +
'''5. RAG 기반 임베딩 유사도 검색'''
 +
 
 +
'''5.1 유사도 계산'''
 +
 
 +
사용자 입력은 임베딩 벡터로 변환되며, Vector DB에 저장된 데이터와의 거리 기반 비교를 통해 유사도를 계산한다.
 +
 +
similarity=cos(a, b)
 +
 
 +
코사인 유사도를 이용하여 데이터 간의 유사도를 계산하며, 값이 클수록 유사도가 크다는 것을 의미한다.
 +
 
 +
'''5.2 검색 과정'''
 +
 
 +
RAG 검색은 다음과 같은 절차로 수행된다.
 +
*사용자 입력 → 임베딩 생성
 +
*Vector DB에서 유사 벡터 탐색
 +
*거리 기준 정렬
 +
*상위 Top-k 결과 반환
 +
이를 통해 단순 키워드 검색이 아닌, 문맥을 고려한 검색이 가능하다.
 +
 
 +
 
 +
'''6. MCP 기반 외부 콘텐츠 연동'''
 +
 
 +
현재 시스템은 MCP(Model Context Protocol)를 활용하여 외부 콘텐츠와 연동될 예정이다.
 +
*YouTube API 연동 완료
 +
*추천 콘텐츠 자동 실행 가능
 +
향후 팟캐스트 등 다양한 콘텐츠 플랫폼으로 확장할 예정이다.
 +
 
 +
 
 +
'''7. Simulation'''
 +
 
 +
'''7.1 Simulation 방법'''
 +
 
 +
다음과 같은 사용자 흐름을 기반으로 시스템을 검증하였다.
 +
*회원가입 및 로그인
 +
*온보딩 정보 입력
 +
*상담 세션 생성
 +
*사전 문진 수행
 +
*AI 상담 진행
 +
*콘텐츠 추천 및 실행 (YouTube)
 +
*사용자 피드백 입력
 +
*사후 문진 수행
 +
*감정 변화 계산
 +
*대시보드 반영 확인
 +
 
 +
'''7.2 Simulation 결과'''
 +
 
 +
시뮬레이션 결과 다음과 같은 사항을 확인하였다.
 +
*감정 변화 계산이 정상적으로 수행됨
 +
*감정 점수 및 추이 분석이 정확히 반영됨
 +
*RAG 기반 검색 기능이 정상 동작함
 +
*YouTube 콘텐츠 자동 실행이 가능함
 +
*사용자 피드백 및 기록이 정상 저장됨
 +
 
 +
'''7.3 한계 및 개선 방향'''
 +
*감정 분석은 규칙 기반으로 정밀도와 신뢰도가 한계가 있으므로 이후 심리 전문 매뉴얼 및 논문 등을 데이터베이스에 추가하여 LLM 기반 감정 분석으로 변경 필요
 +
*현재 YouTube 중심으로 구현되어 있는 추천 시스템이 추후 MCP와의 연결을 통해 Spotify 등 추가 예정
 +
*개인화 추천은 데이터 축적 단계로 향후 고도화 필요
 +
*감정 추이 분석은 규칙 기반으로 향후 데이터 기반 모델 적용 필요
  
 
===상세설계 내용===
 
===상세설계 내용===
내용
+
'''1. 설계 개요'''
 +
 
 +
본 시스템은 사용자와의 대화를 통해 감정 상태를 분석하고, 이를 기반으로 적절한 디지털 콘텐츠를 추천하며, 외부 서비스 연동을 통해 콘텐츠를 자동 실행할 수 있도록 설계하였다. 또한 사전·사후 문진과 사용자 피드백을 반영하여 감정 변화 추적 및 개인화 추천이 가능하도록 구성하였다.
 +
 
 +
시스템은 크게 사용자 인터페이스, 감정 분석 및 상담 처리, 콘텐츠 추천, 외부 서비스 연동, 데이터 저장 및 관리의 5개 영역으로 나누어 설계하였다. 각 영역은 독립적인 기능을 수행하면서도 상호 연동되도록 하여 확장성과 유지보수성을 높이도록 하였다.
 +
 
 +
 
 +
'''2. 시스템 구성'''
 +
 
 +
[[파일:MoodPick 시스템 구성.png]]
 +
 
 +
Client:
 +
사용자가 감정 케어 플랫폼(무드픽)과 상호작용하기 위해 사용하는 프론트엔드 애플리케이션이다. Next.js/React 기반으로 구축되었으며, Shadcn/ui 계열 컴포넌트와 Tailwind CSS를 활용해 화면 UI를 구성한다.
 +
 
 +
Vercel:
 +
프론트엔드 애플리케이션이 배포되는 글로벌 호스팅 플랫폼이다. 사용자 접속 시 Next.js 기반 화면을 빠르고 안정적으로 제공한다.
 +
 
 +
CloudType:
 +
국내 사용자에게 빠른 응답 속도를 제공하기 위해 채택한 PaaS 클라우드 서비스이다. 서울 리전에서 FastAPI 백엔드와 AI 관련 서버 코드를 실행하는 배포 환경을 제공한다.
 +
 
 +
Docker:
 +
컨테이너 기반 배포 환경이다. 현재 무드픽은 백엔드 Docker 이미지 안에 FastAPI 백엔드, AI 모듈, MCP 도구 서버 코드를 함께 포함하여 CloudType에서 일관된 실행 환경으로 구동한다.
 +
 
 +
FastAPI Backend:
 +
서비스의 핵심 API 서버이다. 프론트엔드 요청을 받아 사용자 인증, 상담 세션, 설문, 감정 기록, 콘텐츠 기록 등을 처리하고, 필요한 경우 AI 모듈을 호출해 상담 응답과 추천 결과를 생성한다.
 +
 
 +
AI Module:
 +
OpenAI API와 내부 프롬프트, 감정 기록, 추천 로직을 활용해 사용자의 대화 문맥에 맞는 상담 응답과 콘텐츠 추천을 생성한다. 과거 상담 기록과 사용자 데이터를 참고해 응답 맥락을 구성한다.
 +
 
 +
MCP Tool Server:
 +
AI 추천 로직에서 외부 콘텐츠 검색 도구를 사용하기 위한 FastMCP 기반 도구 서버이다. 현재는 독립된 별도 배포 서버라기보다 백엔드 컨테이너에 포함되어 AI 추천 과정에서 호출되는 도구 모듈에 가깝다.
 +
 
 +
OpenAI API:
 +
대화형 감정 케어 응답과 일부 임베딩/AI 처리에 활용되는 외부 대규모 언어 모델 API이다. 백엔드와 AI 모듈이 구성한 대화 문맥을 바탕으로 자연스러운 상담 응답을 생성한다.
 +
 
 +
Supabase:
 +
애플리케이션의 인증과 핵심 데이터를 관리하는 클라우드 기반 백엔드 서비스이다. 사용자 계정, 프로필, 상담 세션, 대화 기록, 설문 응답, 감정 기록, 콘텐츠 피드백 등을 저장하고 백엔드에서 이를 조회·수정한다.
 +
 
 +
 
 +
'''3. 기능 흐름 설계'''
 +
 
 +
본 시스템의 전체 동작 흐름은 다음과 같다.
 +
# 사용자는 초기 문진 및 기본 정보 입력을 수행한다.
 +
# 사용자는 챗봇과의 대화를 통해 현재 감정 상태를 표현한다.
 +
# 시스템은 문진 결과와 대화 내용을 바탕으로 감정을 분석한다.
 +
# 분석 결과에 따라 적절한 콘텐츠를 추천한다.
 +
# 추천된 콘텐츠는 외부 서비스와 연동되어 자동 실행된다.
 +
# 사용자는 콘텐츠 이용 후 피드백 및 사후 문진을 입력한다.
 +
# 시스템은 감정 변화와 사용자 피드백을 저장하고, 이후 추천에 반영한다.
 +
 
 +
이와 같은 흐름을 통해 본 시스템은 일회성 추천에 그치지 않고, 사용자 상태 변화에 따라 지속적으로 개인화 수준을 향상시키도록 설계하였다.
 +
 
 +
 
 +
'''4. 모듈별 설계'''
 +
 
 +
1) 사용자 인터페이스 모듈
 +
 
 +
사용자 인터페이스 모듈은 사용자가 시스템과 직접 상호작용하는 영역이다. 본 모듈에서는 로그인, 초기 문진, 상담 대화, 추천 결과 확인, 피드백 입력, 감정 변화 기록 확인 기능을 제공하도록 설계하였다. 또한 사용자 편의성을 고려하여 감정 변화 이력을 그래프 또는 캘린더 형식으로 확인할 수 있도록 구성하였다.
 +
 
 +
2) 감정 분석 및 상담 모듈
 +
 
 +
감정 분석 및 상담 모듈은 사용자 입력 데이터를 기반으로 감정 상태를 파악하는 핵심 모듈이다. 이 모듈은 문진 응답과 대화 내용을 종합적으로 분석하여 감정 상태를 분류하며, 상담형 대화 흐름을 유지하면서 사용자와 상호작용하도록 설계하였다. 또한 분석 결과는 이후 추천 모듈과 데이터 관리 모듈에서 활용할 수 있도록 구조화된 형태로 전달되도록 하였다.
 +
 
 +
3) 콘텐츠 추천 모듈
 +
 
 +
콘텐츠 추천 모듈은 감정 분석 결과를 기반으로 사용자에게 적절한 콘텐츠를 제공하는 기능을 담당한다. 추천 시에는 현재 감정 상태뿐만 아니라 사용자 선호도, 이전 추천 기록, 피드백 결과 등을 함께 반영하도록 설계하였다. 이를 통해 단순 규칙 기반 추천이 아니라, 점진적으로 정교해지는 개인화 추천이 가능하도록 하였다.
 +
 
 +
4) 외부 서비스 연동 모듈
 +
 
 +
외부 서비스 연동 모듈은 추천된 콘텐츠를 실제로 실행하는 기능을 담당한다. 본 모듈은 외부 플랫폼과의 연결을 통해 사용자가 추천 결과를 확인하는 데서 끝나지 않고, 즉시 콘텐츠를 경험할 수 있도록 설계하였다. 이를 통해 추천과 실행이 분리되지 않도록 하여 서비스의 실용성을 높이도록 하였다.
 +
 
 +
5) 데이터 관리 모듈
 +
 
 +
데이터 관리 모듈은 사용자별 기본 정보, 문진 결과, 감정 분석 결과, 추천 내역, 피드백 데이터를 저장하고 관리하는 기능을 담당한다. 또한 이 데이터는 감정 변화 추이 분석 및 향후 추천 정확도 향상에 활용될 수 있도록 설계하였다. 데이터는 사용자 단위로 누적 관리되며, 필요한 경우 시각화 기능과 연동할 수 있도록 구성하였다.
 +
 
 +
 
 +
'''5. 데이터 흐름 설계'''
 +
 
 +
본 시스템의 데이터 흐름은 입력, 처리, 저장, 재활용의 구조를 따른다.
 +
*입력 데이터: 사용자 기본 정보, 사전 문진 응답, 상담 대화 내용, 피드백, 사후 문진 응답
 +
*처리 데이터: 감정 분석 결과, 추천 결과, 감정 변화 분석 결과
 +
*저장 데이터: 사용자 프로필, 감정 기록, 추천 이력, 피드백 이력
 +
*재활용 데이터: 개인화 추천을 위한 사용자 선호도 및 과거 이용 기록
 +
이러한 구조를 통해 시스템은 단순히 현재 입력만 처리하는 것이 아니라, 누적된 데이터를 활용하여 점차 더 정교한 서비스를 제공할 수 있도록 설계하였다.
 +
 
 +
 
 +
'''6. 설계 시 고려사항'''
 +
 
 +
본 시스템 설계 시 다음과 같은 사항을 중점적으로 고려하였다.
 +
*감정 분석 결과가 추천 기능에 직접 연결될 수 있도록 모듈 간 연계를 명확히 할 것
 +
*사용자 피드백이 이후 추천에 반영될 수 있도록 데이터 누적 구조를 설계할 것
 +
*외부 서비스 연동을 통해 추천 결과가 실제 실행까지 이어지도록 할 것
 +
*감정 변화 데이터를 사용자가 직관적으로 확인할 수 있도록 시각화 기능을 고려할 것
 +
*각 기능을 모듈화하여 향후 유지보수 및 기능 확장이 용이하도록 할 것
 +
 
 +
 
 +
'''7. 기대 효과'''
 +
 
 +
이와 같은 소프트웨어 설계를 통해 본 시스템은 감정 분석, 상담, 추천, 실행, 피드백의 전 과정을 하나의 흐름으로 통합할 수 있다. 또한 사용자 데이터를 지속적으로 반영함으로써 추천의 개인화 수준을 향상시킬 수 있으며, 감정 변화 기록을 통해 사용자에게 실질적인 정서 지원 도구로 활용될 수 있다.
 +
 
 +
 
 +
'''8. 시스템 구조도'''
 +
 
 +
본 시스템은 사용자 인터페이스를 중심으로 감정 분석, 콘텐츠 추천, 외부 서비스 연동, 데이터 관리 모듈이 유기적으로 연결된 구조로 설계하였다.
 +
각 모듈은 독립적으로 동작하면서도 데이터 흐름을 통해 상호 연계되며, 사용자 입력을 기반으로 감정 분석 → 콘텐츠 추천 → 콘텐츠 실행 → 피드백 수집의 순환 구조를 형성한다.
 +
 
 +
*전반적인 소프트웨어 구조는 다음과 같다.
 +
[[파일:MoodPick 소프트웨어 구조.png]]
 +
*클라이언트(프론트엔드): Next.js 기반으로 구성하였으며, 사용자가 문진, 상담 대화, 추천 결과 확인, 피드백 입력 등 시스템과 상호작용할 수 있도록 설계하였다.
 +
*서버(백엔드): FastAPI 기반으로 구성하였으며, 사용자 API, 감정 분석 API, 상담 API, 추천 API 등을 처리하도록 설계하였다.
 +
*DB: Supabase를 기반으로 사용자 정보, 감정 분석 결과, 상담 이력, 추천 이력, 피드백 데이터를 저장 및 관리하도록 설계하였다. 또한 저장된 데이터는 개인화 추천과 상담 응답 개선을 위한 검색 기반 데이터로 활용될 수 있도록 구성하였다.
 +
*LLM 에이전트: Orchestrator AI, Counselor AI, Content Recommender AI의 3개 에이전트로 구성된다.
 +
:*Orchestrator AI: 사용자 입력의 의도를 분류하고, 위기 상황 여부를 판단하며, 후속 처리 흐름을 제어한다.
 +
:*Counselor AI: 사용자 감정 및 상담 맥락을 반영하여 공감형 상담 응답을 생성하고, 필요 시 저장된 데이터를 검색하여 활용한다.
 +
:*Content Recommender AI: 사용자 감정 상태, 선호 정보, 과거 기록을 바탕으로 맞춤형 콘텐츠를 추천한다.
 +
*에이전트 처리 흐름
 +
 
 +
:(1) 사용자 입력: “너무 우울해요...”와 같은 메시지 수신
 +
 
 +
:(2) Orchestrator AI: 의도 분류 및 위기 여부 판단
 +
 
 +
:(3) Counselor AI: 관련 정보 검색 및 공감형 상담 응답 생성
 +
 
 +
:(4) Content Recommender AI: 사용자 상태에 적합한 콘텐츠 추천 생성 및 외부 플랫폼 검색 요청
 +
 
 +
:(5) 최종 응답: 상담 메시지와 함께 맞춤형 영상 또는 음악 콘텐츠 반환
 +
 
 +
*MCP 연동: YouTube Data API, Spotify Web API 등 외부 서비스와 연동하여 적합한 영상 및 음악 콘텐츠를 검색하고 추천 목록을 구성하도록 설계하였다.
 +
 
 +
유즈케이스
 +
 
 +
{|cellspacing="0" border="1" style="wikitable"
 +
|이름||상담채팅
 +
|-
 +
|액터||사용자
 +
|-
 +
|요약||사용자가 AI 상담 챗봇과 대화를 통해 현재 감정 상태를 표현하고 상담을 진행한다.
 +
|-
 +
|사전 조건||로그인
 +
|-
 +
|흐름||
 +
1. 사용자가 AI 심리 상담 메뉴를 선택한다.<br>
 +
2. 시스템은 상담 채팅 화면을 제공한다.<br>
 +
3. 사용자가 감정 상태를 입력한다.<br>
 +
4. 시스템은 입력 내용을 분석하여 상담 응답을 생성한다.<br>
 +
5. 사용자와 시스템이 대화를 반복하며 상담을 진행한다.
 +
|}
 +
 
 +
 
 +
{|cellspacing="0" border="1" style="wikitable"
 +
|이름||추천 콘텐츠 이용
 +
|-
 +
|액터||사용자
 +
|-
 +
|요약||시스템이 사용자 감정 상태를 기반으로 맞춤형 콘텐츠를 추천하고, 사용자는 이를 이용한 후 피드백을 제공한다.
 +
|-
 +
|사전 조건||상담 채팅 수행
 +
|-
 +
|흐름||
 +
1. 시스템은 사용자 감정 상태를 분석한다.<br>
 +
2. 시스템은 분석 결과를 기반으로 콘텐츠를 추천한다.<br>
 +
3. 사용자는 추천된 콘텐츠를 선택하여 이용한다.<br>
 +
4. 시스템은 콘텐츠를 실행한다.<br>
 +
5. 사용자는 콘텐츠 이용 후 피드백을 입력한다.<br>
 +
6. 시스템은 피드백을 저장하고 이후 추천에 반영한다.
 +
|}
 +
 
 +
 
 +
{|cellspacing="0" border="1" style="wikitable"
 +
|이름||감정 기록 분석
 +
|-
 +
|액터||사용자
 +
|-
 +
|요약||사용자의 감정 변화 데이터를 분석하여 시각적으로 제공한다.
 +
|-
 +
|사전 조건||로그인
 +
|-
 +
|흐름||
 +
1. 사용자가 감정 기록 분석 메뉴를 선택한다.<br>
 +
2. 시스템은 저장된 감정 데이터를 조회한다.<br>
 +
3. 시스템은 감정 변화 데이터를 그래프 형태로 제공한다.<br>
 +
4. 사용자는 감정 변화 추이를 확인한다.
 +
|}
 +
 
 +
[[파일:MoodPick 유즈케이스 다이어그램.png|유즈케이스 다이어그램]]
 +
[[파일:MoodPick 액티비티 다이어그램.png|액티비티 다이어그램]]
  
 
==결과 및 평가==
 
==결과 및 평가==
 
===완료 작품의 소개===
 
===완료 작품의 소개===
 
====프로토타입 사진 혹은 작동 장면====
 
====프로토타입 사진 혹은 작동 장면====
내용
+
[[파일:MoodPick 메인화면.png]]
 +
[[파일:MoodPick 상담 시작화면.png]]
 +
[[파일:MoodPick 상담화면.png]]
 +
[[파일:MoodPick 상담 기록화면.png]]
 +
[[파일:MoodPick 마이페이지.png]]
 +
 
 
====포스터====
 
====포스터====
내용
+
[[파일:MoodPick 설문지 배너.jpg|1000픽셀]]
  
 
===관련사업비 내역서===
 
===관련사업비 내역서===
내용
+
{|cellspacing="0" border="1" class="wikitable"
 
+
!집행항목||사용내역||거래처||거래일자||금액(원)||항목별 집행액(원)
 +
|-
 +
|rowspan="14"|SW활용비||Pro plus 구독||Cursor||4.2.(목)||96,592||rowspan="14"|1,451,086
 +
|-
 +
|Max plan 구독||Claude||4.2.(목)||168,014
 +
|-
 +
|Pro 구독||ChatGPT(나이스정보통신)||4.2.(목)||299,000
 +
|-
 +
|Pro 구독||GAMMA.A||4.2.(목)||38,185
 +
|-
 +
|Organization Pro 플랜||SUPABASE||4.2.(목)||38,185
 +
|-
 +
|openai api 20$ 선불||OPENAI||4.2.(목)||33,602
 +
|-
 +
|Pro plus 구독||Cursor||5.7.(목)||87,678
 +
|-
 +
|Max plan 구독||Claude||5.7.(목)||160,743
 +
|-
 +
|Pro 구독||ChatGPT(나이스정보통신)||5.7.(목)||303,541
 +
|-
 +
|Pro 구독||GAMMA.A||5.7.(목)||36,532
 +
|-
 +
|Organization Pro 플랜||SUPABASE||5.7.(목)||35,319
 +
|-
 +
|클라우드 타입 배포 관련 결제||주식회사 클라우드타입||5.12.(화)||107,800
 +
|-
 +
|openai api 20$ 선불||OPENAI||5.12.(화)||32,793
 +
|-
 +
|도메인 주소 구매||VERCEL||5.12.(화)||13,102
 +
|-
 +
|rowspan="5"|직접개발비||자문비(1시간)||마크노바(백*호 이사)||3.13.(금)||150,000||rowspan="5"|750,000
 +
|-
 +
|자문비(1시간)||마크노바(백*호 이사)||4.10.(금)||150,000
 +
|-
 +
|자문비(1시간)||마크노바(백*호 이사)||5.7.(목)||150,000
 +
|-
 +
|자문비(1시간)||마크노바(백*호 이사)||5.22.(금)||150,000
 +
|-
 +
|자문비(1시간)||마크노바(백*호 이사)||6.12.(금)||150,000
 +
|-
 +
|colspan="4"|합계(VAT 포함)||colspan="2"|2,201,086
 +
|}
 
===완료작품의 평가===
 
===완료작품의 평가===
내용
+
{|cellspacing="0" border="1" class="wikitable"
 +
!평가항목||평가방법||적용기준||개발 목표치||비중(%)||평가결과
 +
|-
 +
|1.감정 변화 측정 정확성||사전, 사후 문진 결과 비교 분석||문진 점수 변화 감소 여부||감정 개선 효과 확인(70% 이상 사용자 개선)||20||달성(사용자 설문결과 평균 5점 만점 3.72점으로 목표치 달성)
 +
|-
 +
|2.콘텐츠 추천 적합성||사용자 피드백 분석||추천 콘텐츠 만족도 및 긍정 반응 비율||긍정 피드백 70% 이상||20||보류(일부 사용자들로부터 긍정적인 반응을 얻었으나 정량적으로 평가할 만큼 충분한 피드백을 받지 못함)
 +
|-
 +
|3.MCP 기반 자율 실행 성공||시나리오별 에이전트의 외부 도구 호출 및 응답 로그 점검||사용자 개입 없는 외부 API 자동 실행 여부||실행 성공률 95% 이상||30||달성(알파테스트와 베타테스트 결과 MCP 연결 오류가 발생한 적 없음)
 +
|-
 +
|4.RAG 응답의 신뢰성||응답 메시지 내 전문 지식 DB 인용 및 키워드 포함 비율||할루시네이션 방지 및 준비된 전문 상담 가이드라인 준수 여부||응답 내 키워드와 DB 데이터 일치 비율 90% 이상||15||달성(상담매뉴얼에 명시된 특정 상황에 대하여 상담매뉴얼에 있는 내용 기반으로 답변함)
 +
|-
 +
|5.시스템 성능 및 사용자 만족도||응답 지연 시간 측정 및 설문||입력 후 실행까지의 시간 및 사용자 만족도 설문||응답 지연 3초 이내, 평균 점수 4/5 이상||15||실패(단순 응답은 평균 5초 소요되지만, 콘텐츠를 추천하는 경우 15초 이상 소요)
 +
|}
  
 
===향후계획===
 
===향후계획===
내용
+
*어려웠던 내용들
 +
**상담 대화에서 추천까지 이어지는 사용자 흐름을 매끄럽게 제공하기 위해서는 추천의 빈도가 중요한데, 적절한 추천 빈도를 설정하는 것이 어려웠다.
 +
**단순한 LLM의 소통 및 공감이 아닌 서비스의 차별점인 적절한 심리 상담을 제공하기 위해서는 감정을 분석 및 저장하는 과정이 필요했다. 신뢰도 있고 근거 있는 감정 기반 로직을 녹여내는 과정에서 관련 논문을 찾는 등 상당한 시간이 소요됐다.
 +
**해당 서비스의 AI가 본래 의도된 목적으로만 작동하고, 사용자들의 Jail Breaking이나 서비스의 의도에 맞지 않는 질문을 차단하기 위해 가드레일을 적용하였다. 그러나 가드레일을 적용하는 과정에서 오히려 일반적인 상담이 안 되는 경우가 있어서 가드레일의 정도를 조절하는 부분에서 어려움을 겪었다.
 +
**결국 이 서비스의 핵심은 심리 상담에서 콘텐츠 추천으로 이어지는 흐름인데, 사용자에게 개인화된 콘텐츠를 제공하기 위한 추천 성능 향상 과정이 어려웠다. 유튜브의 영상에 대한 정보는 MCP를 통해 불러오는 형태이므로, 서비스 자체에 저장할 수가 없었고, 결국은 쿼리를 잘 만들고, 불러온 후보 영상들을 사용자에게 개인화된 형태로 재랭킹하는 형태로 어느 정도 극복할 수 있었다.
 +
**사용자에게 더 나은 경험을 제공하기 위해서는 심리 상담 과정에서 빠른 답변이 필요하다. 그러나 서비스가 사용자에게 콘텐츠를 추천을 하게 되면, 백엔드에서 돌아가는 각종 로직과 추천 과정으로 인해 지연시간이 증가했고, 이를 병렬화하여 추천시간을 줄이는 과정에서 상당한 시간이 소요됐다.
 +
**서비스를 완성한 후, 실제 사용자 테스트를 진행하기 위해 배포 준비를 하는 과정에서 일부 어려움이 있었고, 실제 사용할 수 있는 서비스로서 작동하기 위한 보안 설정을 하는 데 어려움이 있었다.
 +
 
 +
*차후 구현할 내용
 +
**감정이라는 것은 텍스트만으로 온전히 전달되기 어렵다. 따라서 멀티모달 AI를 사용해 텍스트가 가지고 있는 의미론적 내용 외에도 말투나 속도, 톤에서 나오는 비언어적 표현을 활용해 더욱 정밀한 감정 분석을 실행할 수 있을 것이다.
 +
**현재는 감정 분석 로직을 LLM에게 관련 자료를 근거로 분석하도록 하지만, 더욱 정밀하고 신뢰성 있는 감정 로직을 이용해 감정을 분석하고 사용자에게 제공하기 위해서 z 점수와 p 값을 활용할 수 있을 것이다.
 +
**사용자에게 더욱 부드럽고 편리한 경험을 제공하기 위해서 음성 대화 기능을 추가할 수 있을 것이다. 사용자가 본인이 이야기를 하고 기다리는 것이 아닌 실제 사람과 대화하는 것처럼 실시간성을 추가하여 더욱 나은 사용자 경험을 제공할 수 있을 것이다.
 +
**유튜브 등 타 사이트의 정보를 우리 서버 쪽으로 끌어와서 사용자에게 더욱 더 개인화된 추천을 할 수 있을 것이다.
 +
**상담 속도로 인해 비교적 가벼운 모델을 사용하고 있는데, 그러다 보니 최신 정보에 대한 상담 시 답변 문제가 발생한다. 더 좋은 모델을 사용하거나 외부 웹을 연결하여 해결할 수 있을 것이다.
  
 
===특허 출원 내용===
 
===특허 출원 내용===
내용
+
없음

2026년 6월 17일 (수) 20:59 기준 최신판

프로젝트 개요

기술개발 과제

국문 : 감정 기반 디지털 콘텐츠 추천 AI 에이전트

영문 : Emotion-based Digital Content Recommendation AI Agent

과제 팀명

MoodPick

지도교수

이병정 교수님

개발기간

2026년 3월 ~ 2026년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20214300** 박*욱(팀장)

서울시립대학교 컴퓨터과학부 20219200** 강*현

서울시립대학교 컴퓨터과학부 20219200** 김*규

서울시립대학교 컴퓨터과학부 20219200** 서*훈

서론

개발 과제의 개요

개발 과제 요약

본 과제는 사용자의 실시간 정서 상태를 심리 대화를 통해 분석하여 최적의 콘텐츠를 추천하고, MCP 기술을 통해 이를 자율적으로 실행하며, 소비 전후의 감정 변화를 정량적으로 측정하는 감정 기반 디지털 콘텐츠 추천 AI 에이전트 개발을 목적으로 한다.

핵심 기술 및 특징

  • 멀티 에이전트 오케스트레이션: 지휘, 심리, 대화, 추천 등으로 분업화된 AI 에이전트가 협력하여 고도화된 심리 상담 및 맞춤형 케어 제공
  • MCP 기반 자율 실행 환경: 표준화된 프로토콜을 통해 YouTube, Spotify 등 외부 플랫폼과 연동하여 추천 콘텐츠를 사용자 개입 없이 즉시 실행
  • 동적 감정 변화 측정: 사전 문진 데이터와 심리 상담형 대화, 사후 피드백을 결합하여 감정 개선도를 수치화하고, 이를 다시 추천 엔진에 반영하는 피드백 루프 구축
  • RAG 기반 전문 지식 결합: 심리 상담 매뉴얼 및 전문 DB를 활용해 근거 기반의 신뢰성 있는 상담 서비스 구현

개발 과제의 배경

1. 현대인의 정신건강 위기 심화

  • 정신건강 문제의 확산: 건강보험심사평가원에 따르면 2025년 우울증으로 진료받은 국내 환자는 약 113만 8230명에 달하며, 2021년 대비 25% 증가했다. 단순한 슬픔을 넘어 삶의 흥미를 잃고 무기력감에 잠식되는 우울증은 사회 전반의 심리적 위기로 떠오른다.
  • 특히 전형적인 우울증과 차이가 있는 고기능 우울의 경우에는 다양한 원인에 의해 발생한다. 성과 중심적이고 경쟁이 치열한 한국 사회의 분위기로부터 비롯되는 학업과 취업 압박, 직장에서의 압박, 고용 불안, 주거비 상승 등으로 인한 경제적 스트레스로 인해 발생할 수 있다. 특히 팬데믹 이후 고립감, 불안, 미래에 대한 불확실성이 젊은 세대의 심리에 깊이 뿌리내렸다.
  • 고기능 우울을 겪는 이들은 자신의 내면 상태를 철저히 숨기려 하기 때문에 가족이나 가까운 사람조차도 쉽게 눈치채지도 못한다. 이런 감정이 장시간 방치되게 된다면 더 깊은 심리적 고립으로 이어질 수 있다.
  • 이런 점들을 고려할 때, 심리적으로 고립된 현대인들의 스트레스 해소를 위한 방안이 필요하다. 전문 상담은 비용과 심리적 장벽이 높으며, 현대인들이 일상에서의 스트레스 해소 및 정신적 건강을 위해서 일상적 케어의 필요성이 두드러진다.

2. 기존 콘텐츠 추천 시스템의 한계

  • 감정의 휘발성 미반영: 기존의 Netflix나 YouTube 등의 추천 알고리즘은 과거 시청 이력과 인기 기반 데이터에만 의존한다. 사용자가 지금 당장 우울한지, 위로가 필요한지 등의 실시간 정서 상태를 고려하지 못해 완전히 개인화된 경험을 제공하지 못한다. 본 과제는 대화 기반 감정 이해와 문진 기반 데이터 결합을 통해 보다 현실적이고 개인화된 감정 케어 시스템을 제공하여 감정 상태 완화 및 개인화된 콘텐츠 소비 경험 제공을 기대한다..
  • 상업적 목적의 알고리즘: 대부분의 상업용 플랫폼은 체류 시간 극대화와 클릭률을 최우선 지표로 삼는다. 사용자의 정서적 안정이 아니라, 더 오래 화면에 머물게 하기 위해 더욱 자극적이거나 확증 편향을 강화하는 콘텐츠를 우선적으로 노출시킨다.
  • 피드백 루프의 단순성: 기존의 피드백은 좋아요/싫어요, 시청 시간, 시청 완료 여부 등 단순한 데이터에 의존한다. 콘텐츠를 끝까지 봤다고 해서 그게 반드시 만족스러웠거나 기분이 좋아졌음을 의미하지는 않는다. 억지로 시청했을 수도 있고, 보고 나서 오히려 감정 상태가 나빠졌을 수도 있다. 이모지를 활용한 감정적 피드백 루프와 감정 변화 측정을 통해 사용자의 감정을 더욱 반영하여 콘텐츠를 추천할 수 있다.

3. AI 에이전트와 MCP 기술의 고도화

  • LLM에서 Agentic AI로의 진화: 과거의 AI는 질문에 답만 하고, 사용자의 지시를 이행하는 수동적인 챗봇에 불과하였지만, 현재는 스스로 목표를 설정하고 도구를 사용하는 에이전트 단위로 진화하였다. 하나의 모델이 모든 것을 처리하는 방식을 벗어나 여러 AI들이 서로 결과물을 검토하고 보완하는 Chain-of-Thought 구조를 구현할 수 있다. 또한 최신 모델의 추론 능력의 고도화로 사용자의 발화 속에 숨겨진 미세한 심리적 기저를 파악할 수 있다.
  • MCP(Model Context Protocol): AI 에이전트와 외부 도구를 연결하는 차세대 표준 규격을 도입하여, 단순한 정보 제공을 넘어 실시간으로 외부 서비스와 연동하는 인터페이스를 구축한다. 이를 통해 추천 에이전트가 결정한 콘텐츠를 외부 플랫폼에서 즉시 자율 실행할 수 있는 환경을 조성한다.

개발 과제의 목표 및 내용

개발 과제의 최종 목표: 사용자의 실시간 감정 맥락을 파악하고, MCP 기반의 자율 실행 도구를 활용하여 정서적 개선 및 개인화된 콘텐츠 제공을 실현하는 멀티 에이전트 심리 케어 시스템 구축

  • 감정 데이터의 자산화: 사용자의 실시간 감정 변화를 정량적 지표로 도출 및 저장
  • 에이전트 자율성 확보: AI가 직접 외부 도구를 제어하여 추천에서 실행까지의 사용자 개입 최소화
  • 신뢰성 있는 상담 엔진: RAG 기술을 접목하여 전문 심리 상담 매뉴얼에 근거한 정서 지원 서비스 제공


주요 개발 내용

1. 지능형 멀티 에이전트 오케스트레이션(AI & Backend)

  • 지휘 에이전트 설계: LLM의 추론 능력을 활용하여 사용자 발화 의도를 분류하고 적절한 에이전트로 태스크를 라우팅하는 제어 로직 구현
  • 에이전트 간 컨텍스트 공유: 에이전트들이 실시간으로 사용자와의 대화의 맥락이 끊기지 않도록 데이터 공유

2. MCP 기반 자율 콘텐츠 실행 엔진(Action & Tool)

  • MCP Server 구축: YouTube, 팟캐스트 등 외부 API를 표준화된 MCP 규격으로 래핑하여 에이전트가 직접 호출 가능한 도구로 노출
  • 자율 실행 파이프라인: 추천 에이전트의 결정에 따라 콘텐츠가 즉각 재생되는 인터페이스 개발

3. 심리 전문 지식 기반 RAG 시스템(Data)

  • 벡터 데이터베이스 구축: 공신력 있는 심리 상담 매뉴얼 및 가이드라인과 사용자 정보를 임베딩하여 벡터 DB에 저장
  • 근거 기반 응답 생성: 사용자의 정보와 저장된 전문 지식을 기반으로 신뢰도 높은 심리 상담과 대응 가이드 제공

4. 감정 변화 측정 및 데이터 시각화(Frontend)

  • 정량적 감정 대시보드: 사전/사후 문진 데이터와 대화 분석 결과를 결합하여 감정 변화 추이를 시각적 그래프로 구현
  • 이모지 기반 피드백 루프: 추천 콘텐츠에 대한 사용자의 직관적인 이모지 반응 수집, 이를 다음 추천 알고리즘에 반영하는 구조 설계

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황
    • 최근 콘텐츠 추천 시스템은 기존의 시청 이력 기반 협업 필터링에서 발전하여 사용자의 감정 상태와 상황을 반영하는 Context-aware Recommendation System으로 진화하고 있다. 특히 emotion-aware 추천 시스템은 사용자의 현재 정서 상태를 반영하여 개인화된 콘텐츠를 제공하는 방향으로 연구가 진행되고 있다. 이러한 협업 필터링 기반 추천 방식은 기존 연구에서도 널리 활용되고 있다 (Koren et al., 2009).
    • 감정 인식 기술은 자연어 처리를 기반으로 한 텍스트 감정 분석에서 출발하여 최근에는 음성, 표정, 행동 패턴 등을 함께 활용하는 멀티모달 감정 인식 기술로 확장되고 있다. 이를 통해 단일 데이터 기반 분석의 한계를 극복하고 보다 정교한 감정 추론이 가능해지고 있다.
    • 대화형 AI 시스템은 기존 규칙 기반 챗봇에서 벗어나 LLM 기반의 생성형 AI로 빠르게 전환되고 있으며 이는 Transformer 구조를 기반으로 발전하였다 (Vaswani et al., 2017). 단순 질의응답을 넘어 공감형 대화 및 상담 기능까지 수행하는 방향으로 발전하고 있다. 그러나 LLM은 hallucination 문제로 인해 신뢰성이 부족할 수 있으며 이를 보완하기 위해 RAG 기반 구조가 활용되고 있다. (Lewis et al., 2020).
    • 또한 최근 AI 시스템은 단일 모델 중심 구조에서 벗어나 역할을 분리한 멀티 에이전트 기반 아키텍처로 발전하고 있다. 각 에이전트가 감정 분석, 대화 생성, 추천 등의 기능을 분담하고 협력함으로써 시스템의 확장성과 안정성을 확보할 수 있다.
    • 더 나아가 AI는 단순한 응답 생성에 그치지 않고, 외부 시스템과 연동하여 실제 행동을 수행하는 방향으로 발전하고 있다. MCP와 같은 표준화된 인터페이스를 활용하면 다양한 플랫폼과 연결하여 추천 결과를 즉시 실행하는 자율형 AI 시스템 구현이 가능하다.
    • 따라서 본 과제는 이러한 기술 흐름을 바탕으로 감정 기반 추천, RAG, LLM, MCP 기술을 통합하여 사용자 맞춤형 콘텐츠 추천 및 실행이 가능한 AI 에이전트 시스템을 구현하고자 한다.
  • 특허조사 및 특허 전략 분석
    • 특허조사
      • 감정 기반 콘텐츠 추천 기술은 기존에도 다양한 형태로 연구 및 특허가 존재하는 분야로 사용자 감정 상태를 활용하여 콘텐츠를 추천하는 기본적인 구조는 이미 선행 기술이 존재한다.
      • 또한 감정 인식 기술을 활용하여 사용자 상태를 분석하고 이를 기반으로 서비스를 제공하는 방식 역시 텍스트, 음성, 영상 등 다양한 데이터를 활용하여 지속적으로 발전하고 있다.
      • 그러나 기존 기술은 감정 분석, 추천 시스템, 대화 시스템 등이 개별적으로 구현된 경우가 많으며 이를 하나의 통합 시스템으로 구성하는 사례는 상대적으로 제한적이다.
      • 특히 감정 분석 → 상담 대화 → 콘텐츠 추천 → 외부 실행 → 감정 변화 측정까지 이어지는 통합형 AI 에이전트 구조는 기존 기술 대비 차별성을 가지는 요소로 판단된다.
    • 특허전략
      • 본 과제는 단순 감정 기반 추천 기술이 아니라 감정 분석, 상담 대화, RAG 기반 지식 활용, 콘텐츠 추천, MCP 기반 실행, 감정 변화 피드백을 포함하는 통합 시스템 구조에 차별성이 있다. 따라서 개별 기능이 아닌 전체 프로세스를 중심으로 특허 전략을 수립해야 한다.
      • 특허 청구항 설계 시에는 감정 상태 분류 방법, 상담 응답 생성 방식, 콘텐츠 추천 알고리즘, 외부 플랫폼 자동 실행 구조, 감정 변화 측정 및 반영 방식 등을 기능별로 분리하여 구성하는 것이 바람직하다.
      • 특히 콘텐츠 소비 전후의 감정 변화를 정량적으로 분석하고 이를 다시 추천에 반영하는 피드백 루프 구조는 핵심 차별 요소로 활용 가능하며 이를 중심으로 권리화를 추진할 수 있다.
  • 기술 로드맵
    • 1단계(기초 구축): 사용자 입력 데이터를 기반으로 감정 상태를 분류하는 모델을 설계하고 우울, 스트레스, 불안, 안정 등 주요 감정 카테고리를 정의한다. 동시에 심리 상담 문장, 콘텐츠 메타데이터, 사용자 반응 데이터를 수집하여 RAG 기반 지식베이스 및 데이터 구조를 구축한다.
    • 2단계(모델 고도화): 텍스트 기반 감정 분석 모델을 개선하고 이모지, 사용자 행동 데이터 등을 활용하는 감정 분석 기능을 도입한다. 또한 벡터 데이터베이스를 구축하여 의미 기반 검색이 가능한 RAG 시스템을 구현하고 상담 응답의 신뢰성을 강화한다.
    • 3단계(자율 실행 시스템 구축): MCP 기반 외부 연동 구조를 설계하고 YouTube, Spotify 등의 플랫폼과 연결하여 추천 콘텐츠를 실제 실행까지 이어지도록 한다. 이를 통해 추천-실행-피드백이 연결된 에이전트형 서비스 흐름을 완성한다.
    • 4단계(최적화 및 확장): 사용자별 감정 변화 데이터를 축적하여 개인화 추천 모델을 고도화하고 감정 변화 추이를 분석하여 추천 정확도를 향상시킨다. 또한 UI/UX 개선 및 시스템 성능 최적화를 통해 사용자 만족도를 높인다.

시장상황에 대한 분석

  • 경쟁제품 조사 비교
    • 유튜브 추천 알고리즘은 이용자의 이용 기록과 개인정보를 기반으로 맞춤형 콘텐츠와 광고를 제공하며, 이용자의 선호도를 예측하여 최적의 콘텐츠를 추천하는 시스템이다. 유튜브는 이용자의 콘텐츠 검색 및 시청 활동을 빅데이터로 수집하고 이를 활용해 메인 화면에 맞춤형 콘텐츠를 제공함으로써 사용자 경험을 향상시키고 있다. 이로 인해 유튜브는 콘텐츠 소비를 증대시키고, 서비스 제공자는 광고 수익을 극대화할 수 있으나 정보의 다양성과 접근성에 부정적인 영향을 미칠 수 있으며 알고리즘이 광고 수익에 의존하는 상업 시스템에 속박될 수밖에 없다는 비판이 제기되고 있다.
    • 스포티파이는 AI 기반 기능을 지속적으로 선보이고 있다. 프롬프트 플레이리스트는 사용자가 원하는 분위기나 상황, 영감을 자유롭게 입력해 자신의 음악 취향을 반영한 플레이리스트를 생성할 수 있는 기능이다. 각 곡에는 왜 해당 곡이 선택됐는지 간략한 설명도 함께 제공되며, 플레이리스트는 프롬프트를 수정하거나 처음부터 다시 만드는 방식으로 기존 AI 플레이리스트보다 세부 조정이 가능하다. 취향 프로필 기능은 이용자의 음악 감상 습관을 요약해 보여준다. 듣고 싶은 콘텐츠 유형을 직접 설명할 수 있고 AI에게 어떤 음악을 더 듣고 싶은지, 또는 알고리즘에 자주 등장하는 특정 장르를 제외하고 싶은지 등을 직접 입력하는 등 이용자가 직접 AI 추천 알고리즘을 조정할 수 있다.
    • ChatGPT 등 인공지능(AI) 챗봇을 심리 상담 도구로 활용할 수 있는지에 대한 논의가 이어지고 있는 가운데 AI를 상담 도구로 활용할 경우 AI 챗봇이 상담 상황에서 다양한 윤리적 문제를 일으킬 수 있어 안전성과 책임 구조를 둘러싼 논쟁이 커질 수 있다는 지적이 나왔다. AI 챗봇과 관련된 극단적 선택 사건을 둘러싼 논쟁도 이어지고 있다.
    • 경기연구원의 설문조사에 의하면 AI 기반 정신건강 앱과 AI 챗봇 모두 마음을 터놓을 의향이 낮은 수준(의향 ‘있음’ 응답 비율 각각 18.7%, 22.6%)을 보였지만 AI 챗봇은 상호작용 방식이라는 특성상 접근성 및 편리성이 더 크다고 인식한 일부 응답자층이 존재함을 확인할 수 있다.
  • 마케팅 전략 제시
    • 한국언론진흥재단 설문조사에 따르면 응답자 1000명 중 60.3%는 AI와의 대화에서 위로와 격려를 받을 때가 있다고 응답했다. 생성형 AI와의 대화를 사람과의 대화와 비슷하다고 느끼는 응답자 또한 61.1%로 과반 이상으로 나타나 생성형 AI가 대인 커뮤니케이션을 대체, 보완할 수 있는 가능성도 보여줬다. 이는 AI가 단순한 정보 전달 도구를 넘어, 사용자와의 ‘정서적 라포’를 형성할 수 있는 단계에 도달했음을 의미한다.
    • 경기연구원의 설문조사 결과에 따르면 응답자의 37.5%가 AI 기반 서비스(예: ChatGPT)를 이용해 개인적 고민을 상담한 적이 있다고 응답했다. 만족도 측면에서는 보통(38.8%)과 도움이 됨(34.3%)이 전체의 약 73%를 차지해, 대다수는 일정 수준 이상의 유용성을 체감하고 있고 부정적 경험은 약 20% 수준으로 높지 않다. 정서적 지원을 위한 AI 서비스 이용 정도에서 ‘전혀 사용하지 않음’과 ‘거의 사용하지 않음’을 합한 응답이 모두 60% 이상을 차지해, 정서 영역에서의 AI 활용은 아직 낮은 수준으로 보인다. 영국 여론조사기관 센서스와이드가 실시한 조사에 따르면 영국 성인 37%가 정신 건강이나 정서적 지원을 위해 AI 챗봇을 이용한 경험이 있는 것으로 나타났다.
    • 실제 AI를 정서적 지원에 사용한 경험 여부와 상관없이 향후 ‘AI로 고민 상담을 할 의향이 있다’는 응답이 77.1%로 매우 높게 나타났는데, 응답자 중 이용하려는 이유로 ‘무료 혹은 저렴한 비용’을 선택한 비중이 30.7%로 가장 높았으며, ‘사람에게 말하기 어려운 고민을 털어놓기 쉬움’(26.4%), ‘익명성 및 비밀보장’(24.5%)이 주요 항목으로 나타났다. 반면 향후 AI 기반 서비스를 통해 개인적인 상담을 해볼 의향이 없는 가장 큰 이유는 ‘인간적 공감 부족’(42.7%)으로 나타났고 기술적인 한계와 우려, 즉 ‘개인정보 감시 우려’(29.7%), ‘정확성 및 안정성 불신’(22.2%)이 그 다음으로 높은 이유로 꼽혔다. 실제 AI를 정서적 지원 또는 고민 상담에 사용한 응답자가 많지는 않았지만 유용성이 있는 것으로 나타나고 향후 AI로 고민 상담을 할 의향이 있는 응답자의 비율은 높게 나온 만큼 AI 기반 서비스를 통해 사용 의사가 없게 만드는 요인을 보완할 필요가 있다.

개발과제의 기대효과

기술적 기대효과

  • 공감격차 해소: 기존 AI의 한계로 지적된 ‘인간적 공감 부족’을 해결하기 위해, 단순 텍스트 반응이 아닌 사용자의 감정 변화를 측정하고 이에 MCP로 맞춤형 콘텐츠를 실행하는 ‘능동적 공감 루프’ 기술을 확립하여 사용자의 감정 개선 효과를 기대한다. AI가 실제 이해 없이 공감 표현을 사용하는 ‘가짜 공감’이나 이용자의 감정 상태를 지나치게 단순화하거나 충분한 이해 없이 안심시키는 답변을 방지한다.
  • 신뢰 기반의 상담 아키텍처: 전문가 집단에 대한 신뢰는 높고, 비전문가나 AI 기반 서비스에 대한 신뢰는 상대적으로 낮은 구조이다. 심리 상담 매뉴얼 및 전문 DB를 활용해 근거 없는 답변을 최소화하여, 사용자의 기술적 불신을 해소하고 신뢰성 있는 상담 서비스 지위 확보할 수 있다.
  • 정밀한 감정 분석 엔진 구축: 단순 텍스트 감성 분석을 넘어, 대화 맥락과 문진 데이터를 결합한 하이브리드 감정 측정 모델을 통해 정서 분석을 정량적 지표로 도출하고 정확도를 향상시킨다.

경제적, 사회적 기대 및 파급효과

  • 정서적 안전망 역할: 응답자의 77%는 AI를 정서적 지원에 사용한 경험 여부와 상관없이 ‘향후 AI로 고민 상담을 할 의향이 있다’고 답변했다. 정신 건강 전문가 부족 등의 이유로 합리적인 비용으로 치료를 받기 어려운 경우 AI 챗봇을 통한 상담 접근성 확대의 효과를 기대할 수 있다.
  • 낙인효과 해소: 사람에게 말하기 어려운 고민을 털어놓기 쉽다는 응답을 바탕으로, 대면 상담의 부담을 느끼는 집단에게 거부감이 없고 익명성이 보장된 AI 에이전트를 제공하여 심리적 고립 실질적 해소를 기대할 수 있다.
  • 상업적 확장 가능성: 컨텐츠 추천을 넘어서서 도시락 배달이나 병원 연결 등으로 확장이 가능하다.

기술개발 일정 및 추진체계

개발 일정

단계별 세부개발 내용 담당자 개발기간(월단위) 비고
3 4 5 6
요구사항 문석 및 시스템 아키텍처 설계 전원
AI 에이전트 구현 김*규
RAG DB 구축 김*규
대화형 인터페이스 및 시나리오 구현 서*훈
MCP 서버 구축 박*욱, 강*현
MCP 자율 실행 파이프라인 연동 및 테스트 박*욱, 강*현
UI 구현 서*훈
감정 변화 산출 로직 구현 전원
성능 평가 및 최종 시스템 검토 전원 서버 배포 포함
사용자 테스트 전원

구성원 및 추진체계

  • 박*욱(팀장): 백엔드 및 전체 총괄
  • 김*규: AI 담당
  • 강*현: 백엔드 담당
  • 서*훈: 프론트엔드 담당

설계

설계사양

제품의 요구사항

번호 요구사항 D 중요도
1 대화를 통한 감정 상태 분석 D
2 심리 상담 기능의 심리 대화 챗봇 D
3 감정 기반 콘텐츠 추천 D
4 추천 콘텐츠의 자동 재생 D
5 문진을 통한 감정 개선 실태 확인 D
6 콘텐츠 추천 피드백을 통한 개인화 D
7 감정 변화 기록 W

설계 사양

  • Next.js 16 + React 19 + Tailwind CSS: App Router 기반 라우팅, SSR, 35개 이상 접근성 높은 UI 컴포넌트, 유틸리티 우선 스타일.
  • FastAPI + Pydantic + Uvicorn: async/await 기반 비동기 처리, 자동 API 문서 생성, 타입 안전성 제공.
  • Supabase Auth + JWT + RLS: JWT 토큰 인증, Row Level Security 정책으로 사용자별 데이터 격리.
  • GPT-4o-mini + Function Calling: 3개 에이전트(Orchestrator, Counselor, Content Recommender) 통일, RAG 검색, 사용자 프로필 조회, 감정 기록을 구조화된 방식 수행.
  • text-embedding-3-small: 1536차원 임베딩으로 RAG 검색 및 콘텐츠 유사도 계산.
  • Supabase PostgreSQL + pgvector: ACID 준수, JSON/JSONB 지원, RLS 정책이 있는 관리형 PostgreSQL.
  • Valence-Arousal (VA) 2D 감정 모델: Valence(-1~1: 슬픔↔기쁨), Arousal(-1~1: 진정↔활발)의 2축으로 정량화.
  • YouTube Data API v3: 이미 시청, 쇼츠, embeddable 필터링
  • FastMCP 서버: JSON-RPC 기반 도구 인터페이스로 YouTube/팟캐스트 검색 표준화
  • Docker: 프론트, 백, DB를 개별 컨테이너로 관리하여 개발/운영 환경 일관성 유지.

개념설계안

1. 멀티 에이전트 협업 상담 시스템

이 설계는 복잡한 심리 상담과 추천 로직을 전문화된 3개의 AI 에이전트가 완수하는 지능형 구조

<에이전트 협업 구조>

MoodPick 개념설계안 1.png

<상세 설명>

작동 방식: 사용자 입력이 들어오면 Orchestrator가 위기를 감지하고 의도를 분류합니다. Counselor는 RAG를 통해 전문적인 공감 답변을 생성하며, Recommender는 감정 상태에 가장 적합한 콘텐츠 쿼리를 생성합니다.

설계 사양 대응:

요구사항 1, 2: 멀티 에이전트 분업을 통해 고도화된 감정 분석 및 심리 상담 제공. (D, 대)

요구사항 3: Recommender 에이전트가 컨텍스트 기반의 정밀한 추천 수행. (D, 대)

2. 맞춤형 힐링 루프

사용자의 감정 케어가 끊김 없이 이어지도록 대화, 영상, 문진을 하나의 여정으로 묶은 UX 설계

<심리스 힐링 루프 UI>

MoodPick 개념설계안 2.png

<상세 설명>

작동 방식: 상담 중 AI가 영상을 추천하면 별도의 이동 없이 대화창 내에서 영상이 자동 재생됩니다. 시청이 끝난 직후 사후 피드백 오버레이가 나타나 감정 변화를 즉시 확인하며, 사용자의 피드백(👍/👎)은 즉각적으로 AI의 다음 추천에 반영됩니다.

설계 사양 대응:

요구사항 4: 추천 콘텐츠의 자동 재생 구현. (D, 중)

요구사항 5, 6: 시각적 오버레이 문진을 통한 개선 실태 확인 및 피드백 기반 개인화. (D, 중)


3. 데이터 기반 개인화 정서 대시보드

상담과 콘텐츠 시청의 결과물인 사용자의 감정 변화 데이터를 시각적 자산으로 변환하여 제공하는 설계

<감정 대시보드>

MoodPick 개념설계안 3.png

<상세 설명>

작동 방식: 사용자가 매 세션마다 수행한 사전/사후 문진 데이터의 차이(Delta)를 그래프로 시각화합니다. 캘린더 기능을 통해 일주일간의 정서 변화를 한눈에 파악하고, 본인이 즐겨 본 '위로 콘텐츠' 리스트를 체계적으로 관리합니다.

설계 사양 대응:

요구사항 7: 누적된 데이터를 바탕으로 장기적인 감정 변화 기록 관리. (W, 소)

요구사항 5: 문진 데이터를 단순 저장이 아닌 시각적 피드백 자료로 활용. (D, 중)

이론적 계산 및 시뮬레이션

1. 연구범위

본 프로젝트(MoodPick)는 웹·API 기반 심리 상담 및 감정 기반 콘텐츠 추천 시스템이다. 따라서 기구 해석, 유한요소법(FEA), 열·유체 해석 등 전통적인 CAE시뮬레이션은 적용되지 않는다. 대신 본 시스템은 다음과 같은 구조를 기반으로 설계되었다.

  • 문진 기반 감정 분석
  • 벡터 기반 유사도 검색(RAG)
  • 외부 콘텐츠 연동(MCP)

본 절에서는 시스템에 실제로 구현된 정량적 계산과 Simulation 결과를 기술한다.


2. 문진 척도 변환 및 세션별 변화량

2.1 이모지 응답의 수치 변환

사용자의 감정 상태는 사전·사후 문진을 통해 수집되며, 각 이모지 응답은 다음과 같이 수치로 변환된다.

  • great → 5
  • good → 4
  • neutral → 3
  • low → 2
  • bad → 1

정의되지 않은 값은 기본값 3으로 처리한다. 이와 같은 척도 변환은 감정 상태를 정량적으로 비교하기 위한 기준으로 사용된다.

2.2 문항별 변화량 및 개선 여부

각 문항에 대해 사전(pre) 점수와 사후(post) 점수의 차이를 이용하여 변화량을 계산한다.

Δk=spost.k-spre.k

또한 전체 감정 변화는 각 문항 변화량의 평균값으로 판단할 수 있다.

MoodPick 감정변화 수식.png

  • 평균 변화량 > 0 → 감정 상태 개선
  • 평균 변화량 ≤ 0 → 변화 없음 또는 악화

평균 변화량이 0보다 크면 감정 상태가 개선된 것으로 판단한다.

이 방식은 통계적 모델이 아닌 사용자 상태 변화를 직관적으로 파악하기 위한 규칙 기반 계산이다.


3. 감정 기록 요약 및 추이

3.1 평균 감정 점수

최근 일정 기간(기본 7일)의 데이터를 기반으로 평균 감정 점수를 계산한다.

  • 산술 평균 사용
  • 소수 둘째 자리까지 반올림
  • 사용자 상태를 직관적으로 파악하기 위한 지표

3.2 감정 변화 추이 판단

시간 순으로 정렬된 감정 점수를 기준으로 최근 상태와 이전 상태를 비교한다.

  • 최근 구간: 최근 3개 값
  • 이전 구간: 그 이전 3개 값

판단 기준은 다음과 같다.

  • 최근 평균 > 이전 평균 + 0.5 → improving (개선)
  • 최근 평균 < 이전 평균 − 0.5 → declining (악화)
  • 그 외 → stable (유지)

이 방법은 최근 상태와 과거 상태를 비교하여 감정 변화 방향을 파악하기 위한 규칙 기반 방식이다. 또한 0.5 이상의 차이를 기준으로 설정하여, 작은 변화가 아닌 의미 있는 변화만 반영하도록 하였다.


4. 텍스트 기반 감정 분석 -> LLM 기반 감정 분석

현재 감정 분석 기능은 머신러닝 모델이 아닌 키워드 기반 규칙 방식으로 구현되어 있다.

  • 입력 문장에서 특정 감정 키워드 탐지
  • 감정 라벨 및 강도 값 반환
  • 매칭 실패 시 기본값 사용

이 방식은 초기 시스템의 안정성과 처리 속도를 고려한 설계이며, 현재 LLM은 연결된 상태이니 이후 심리 상담 메뉴얼과 논문 등을 데이터베이스에 추가하여 향후 신뢰성을 만족하는 LLM 기반 감정 분석으로 확장할 예정이다.


5. RAG 기반 임베딩 유사도 검색

5.1 유사도 계산

사용자 입력은 임베딩 벡터로 변환되며, Vector DB에 저장된 데이터와의 거리 기반 비교를 통해 유사도를 계산한다.

similarity=cos(a, b)

코사인 유사도를 이용하여 데이터 간의 유사도를 계산하며, 값이 클수록 유사도가 크다는 것을 의미한다.

5.2 검색 과정

RAG 검색은 다음과 같은 절차로 수행된다.

  • 사용자 입력 → 임베딩 생성
  • Vector DB에서 유사 벡터 탐색
  • 거리 기준 정렬
  • 상위 Top-k 결과 반환

이를 통해 단순 키워드 검색이 아닌, 문맥을 고려한 검색이 가능하다.


6. MCP 기반 외부 콘텐츠 연동

현재 시스템은 MCP(Model Context Protocol)를 활용하여 외부 콘텐츠와 연동될 예정이다.

  • YouTube API 연동 완료
  • 추천 콘텐츠 자동 실행 가능

향후 팟캐스트 등 다양한 콘텐츠 플랫폼으로 확장할 예정이다.


7. Simulation

7.1 Simulation 방법

다음과 같은 사용자 흐름을 기반으로 시스템을 검증하였다.

  • 회원가입 및 로그인
  • 온보딩 정보 입력
  • 상담 세션 생성
  • 사전 문진 수행
  • AI 상담 진행
  • 콘텐츠 추천 및 실행 (YouTube)
  • 사용자 피드백 입력
  • 사후 문진 수행
  • 감정 변화 계산
  • 대시보드 반영 확인

7.2 Simulation 결과

시뮬레이션 결과 다음과 같은 사항을 확인하였다.

  • 감정 변화 계산이 정상적으로 수행됨
  • 감정 점수 및 추이 분석이 정확히 반영됨
  • RAG 기반 검색 기능이 정상 동작함
  • YouTube 콘텐츠 자동 실행이 가능함
  • 사용자 피드백 및 기록이 정상 저장됨

7.3 한계 및 개선 방향

  • 감정 분석은 규칙 기반으로 정밀도와 신뢰도가 한계가 있으므로 이후 심리 전문 매뉴얼 및 논문 등을 데이터베이스에 추가하여 LLM 기반 감정 분석으로 변경 필요
  • 현재 YouTube 중심으로 구현되어 있는 추천 시스템이 추후 MCP와의 연결을 통해 Spotify 등 추가 예정
  • 개인화 추천은 데이터 축적 단계로 향후 고도화 필요
  • 감정 추이 분석은 규칙 기반으로 향후 데이터 기반 모델 적용 필요

상세설계 내용

1. 설계 개요

본 시스템은 사용자와의 대화를 통해 감정 상태를 분석하고, 이를 기반으로 적절한 디지털 콘텐츠를 추천하며, 외부 서비스 연동을 통해 콘텐츠를 자동 실행할 수 있도록 설계하였다. 또한 사전·사후 문진과 사용자 피드백을 반영하여 감정 변화 추적 및 개인화 추천이 가능하도록 구성하였다.

시스템은 크게 사용자 인터페이스, 감정 분석 및 상담 처리, 콘텐츠 추천, 외부 서비스 연동, 데이터 저장 및 관리의 5개 영역으로 나누어 설계하였다. 각 영역은 독립적인 기능을 수행하면서도 상호 연동되도록 하여 확장성과 유지보수성을 높이도록 하였다.


2. 시스템 구성

MoodPick 시스템 구성.png

Client: 사용자가 감정 케어 플랫폼(무드픽)과 상호작용하기 위해 사용하는 프론트엔드 애플리케이션이다. Next.js/React 기반으로 구축되었으며, Shadcn/ui 계열 컴포넌트와 Tailwind CSS를 활용해 화면 UI를 구성한다.

Vercel: 프론트엔드 애플리케이션이 배포되는 글로벌 호스팅 플랫폼이다. 사용자 접속 시 Next.js 기반 화면을 빠르고 안정적으로 제공한다.

CloudType: 국내 사용자에게 빠른 응답 속도를 제공하기 위해 채택한 PaaS 클라우드 서비스이다. 서울 리전에서 FastAPI 백엔드와 AI 관련 서버 코드를 실행하는 배포 환경을 제공한다.

Docker: 컨테이너 기반 배포 환경이다. 현재 무드픽은 백엔드 Docker 이미지 안에 FastAPI 백엔드, AI 모듈, MCP 도구 서버 코드를 함께 포함하여 CloudType에서 일관된 실행 환경으로 구동한다.

FastAPI Backend: 서비스의 핵심 API 서버이다. 프론트엔드 요청을 받아 사용자 인증, 상담 세션, 설문, 감정 기록, 콘텐츠 기록 등을 처리하고, 필요한 경우 AI 모듈을 호출해 상담 응답과 추천 결과를 생성한다.

AI Module: OpenAI API와 내부 프롬프트, 감정 기록, 추천 로직을 활용해 사용자의 대화 문맥에 맞는 상담 응답과 콘텐츠 추천을 생성한다. 과거 상담 기록과 사용자 데이터를 참고해 응답 맥락을 구성한다.

MCP Tool Server: AI 추천 로직에서 외부 콘텐츠 검색 도구를 사용하기 위한 FastMCP 기반 도구 서버이다. 현재는 독립된 별도 배포 서버라기보다 백엔드 컨테이너에 포함되어 AI 추천 과정에서 호출되는 도구 모듈에 가깝다.

OpenAI API: 대화형 감정 케어 응답과 일부 임베딩/AI 처리에 활용되는 외부 대규모 언어 모델 API이다. 백엔드와 AI 모듈이 구성한 대화 문맥을 바탕으로 자연스러운 상담 응답을 생성한다.

Supabase: 애플리케이션의 인증과 핵심 데이터를 관리하는 클라우드 기반 백엔드 서비스이다. 사용자 계정, 프로필, 상담 세션, 대화 기록, 설문 응답, 감정 기록, 콘텐츠 피드백 등을 저장하고 백엔드에서 이를 조회·수정한다.


3. 기능 흐름 설계

본 시스템의 전체 동작 흐름은 다음과 같다.

  1. 사용자는 초기 문진 및 기본 정보 입력을 수행한다.
  2. 사용자는 챗봇과의 대화를 통해 현재 감정 상태를 표현한다.
  3. 시스템은 문진 결과와 대화 내용을 바탕으로 감정을 분석한다.
  4. 분석 결과에 따라 적절한 콘텐츠를 추천한다.
  5. 추천된 콘텐츠는 외부 서비스와 연동되어 자동 실행된다.
  6. 사용자는 콘텐츠 이용 후 피드백 및 사후 문진을 입력한다.
  7. 시스템은 감정 변화와 사용자 피드백을 저장하고, 이후 추천에 반영한다.

이와 같은 흐름을 통해 본 시스템은 일회성 추천에 그치지 않고, 사용자 상태 변화에 따라 지속적으로 개인화 수준을 향상시키도록 설계하였다.


4. 모듈별 설계

1) 사용자 인터페이스 모듈

사용자 인터페이스 모듈은 사용자가 시스템과 직접 상호작용하는 영역이다. 본 모듈에서는 로그인, 초기 문진, 상담 대화, 추천 결과 확인, 피드백 입력, 감정 변화 기록 확인 기능을 제공하도록 설계하였다. 또한 사용자 편의성을 고려하여 감정 변화 이력을 그래프 또는 캘린더 형식으로 확인할 수 있도록 구성하였다.

2) 감정 분석 및 상담 모듈

감정 분석 및 상담 모듈은 사용자 입력 데이터를 기반으로 감정 상태를 파악하는 핵심 모듈이다. 이 모듈은 문진 응답과 대화 내용을 종합적으로 분석하여 감정 상태를 분류하며, 상담형 대화 흐름을 유지하면서 사용자와 상호작용하도록 설계하였다. 또한 분석 결과는 이후 추천 모듈과 데이터 관리 모듈에서 활용할 수 있도록 구조화된 형태로 전달되도록 하였다.

3) 콘텐츠 추천 모듈

콘텐츠 추천 모듈은 감정 분석 결과를 기반으로 사용자에게 적절한 콘텐츠를 제공하는 기능을 담당한다. 추천 시에는 현재 감정 상태뿐만 아니라 사용자 선호도, 이전 추천 기록, 피드백 결과 등을 함께 반영하도록 설계하였다. 이를 통해 단순 규칙 기반 추천이 아니라, 점진적으로 정교해지는 개인화 추천이 가능하도록 하였다.

4) 외부 서비스 연동 모듈

외부 서비스 연동 모듈은 추천된 콘텐츠를 실제로 실행하는 기능을 담당한다. 본 모듈은 외부 플랫폼과의 연결을 통해 사용자가 추천 결과를 확인하는 데서 끝나지 않고, 즉시 콘텐츠를 경험할 수 있도록 설계하였다. 이를 통해 추천과 실행이 분리되지 않도록 하여 서비스의 실용성을 높이도록 하였다.

5) 데이터 관리 모듈

데이터 관리 모듈은 사용자별 기본 정보, 문진 결과, 감정 분석 결과, 추천 내역, 피드백 데이터를 저장하고 관리하는 기능을 담당한다. 또한 이 데이터는 감정 변화 추이 분석 및 향후 추천 정확도 향상에 활용될 수 있도록 설계하였다. 데이터는 사용자 단위로 누적 관리되며, 필요한 경우 시각화 기능과 연동할 수 있도록 구성하였다.


5. 데이터 흐름 설계

본 시스템의 데이터 흐름은 입력, 처리, 저장, 재활용의 구조를 따른다.

  • 입력 데이터: 사용자 기본 정보, 사전 문진 응답, 상담 대화 내용, 피드백, 사후 문진 응답
  • 처리 데이터: 감정 분석 결과, 추천 결과, 감정 변화 분석 결과
  • 저장 데이터: 사용자 프로필, 감정 기록, 추천 이력, 피드백 이력
  • 재활용 데이터: 개인화 추천을 위한 사용자 선호도 및 과거 이용 기록

이러한 구조를 통해 시스템은 단순히 현재 입력만 처리하는 것이 아니라, 누적된 데이터를 활용하여 점차 더 정교한 서비스를 제공할 수 있도록 설계하였다.


6. 설계 시 고려사항

본 시스템 설계 시 다음과 같은 사항을 중점적으로 고려하였다.

  • 감정 분석 결과가 추천 기능에 직접 연결될 수 있도록 모듈 간 연계를 명확히 할 것
  • 사용자 피드백이 이후 추천에 반영될 수 있도록 데이터 누적 구조를 설계할 것
  • 외부 서비스 연동을 통해 추천 결과가 실제 실행까지 이어지도록 할 것
  • 감정 변화 데이터를 사용자가 직관적으로 확인할 수 있도록 시각화 기능을 고려할 것
  • 각 기능을 모듈화하여 향후 유지보수 및 기능 확장이 용이하도록 할 것


7. 기대 효과

이와 같은 소프트웨어 설계를 통해 본 시스템은 감정 분석, 상담, 추천, 실행, 피드백의 전 과정을 하나의 흐름으로 통합할 수 있다. 또한 사용자 데이터를 지속적으로 반영함으로써 추천의 개인화 수준을 향상시킬 수 있으며, 감정 변화 기록을 통해 사용자에게 실질적인 정서 지원 도구로 활용될 수 있다.


8. 시스템 구조도

본 시스템은 사용자 인터페이스를 중심으로 감정 분석, 콘텐츠 추천, 외부 서비스 연동, 데이터 관리 모듈이 유기적으로 연결된 구조로 설계하였다. 각 모듈은 독립적으로 동작하면서도 데이터 흐름을 통해 상호 연계되며, 사용자 입력을 기반으로 감정 분석 → 콘텐츠 추천 → 콘텐츠 실행 → 피드백 수집의 순환 구조를 형성한다.

  • 전반적인 소프트웨어 구조는 다음과 같다.

MoodPick 소프트웨어 구조.png

  • 클라이언트(프론트엔드): Next.js 기반으로 구성하였으며, 사용자가 문진, 상담 대화, 추천 결과 확인, 피드백 입력 등 시스템과 상호작용할 수 있도록 설계하였다.
  • 서버(백엔드): FastAPI 기반으로 구성하였으며, 사용자 API, 감정 분석 API, 상담 API, 추천 API 등을 처리하도록 설계하였다.
  • DB: Supabase를 기반으로 사용자 정보, 감정 분석 결과, 상담 이력, 추천 이력, 피드백 데이터를 저장 및 관리하도록 설계하였다. 또한 저장된 데이터는 개인화 추천과 상담 응답 개선을 위한 검색 기반 데이터로 활용될 수 있도록 구성하였다.
  • LLM 에이전트: Orchestrator AI, Counselor AI, Content Recommender AI의 3개 에이전트로 구성된다.
  • Orchestrator AI: 사용자 입력의 의도를 분류하고, 위기 상황 여부를 판단하며, 후속 처리 흐름을 제어한다.
  • Counselor AI: 사용자 감정 및 상담 맥락을 반영하여 공감형 상담 응답을 생성하고, 필요 시 저장된 데이터를 검색하여 활용한다.
  • Content Recommender AI: 사용자 감정 상태, 선호 정보, 과거 기록을 바탕으로 맞춤형 콘텐츠를 추천한다.
  • 에이전트 처리 흐름
(1) 사용자 입력: “너무 우울해요...”와 같은 메시지 수신
(2) Orchestrator AI: 의도 분류 및 위기 여부 판단
(3) Counselor AI: 관련 정보 검색 및 공감형 상담 응답 생성
(4) Content Recommender AI: 사용자 상태에 적합한 콘텐츠 추천 생성 및 외부 플랫폼 검색 요청
(5) 최종 응답: 상담 메시지와 함께 맞춤형 영상 또는 음악 콘텐츠 반환
  • MCP 연동: YouTube Data API, Spotify Web API 등 외부 서비스와 연동하여 적합한 영상 및 음악 콘텐츠를 검색하고 추천 목록을 구성하도록 설계하였다.

유즈케이스

이름 상담채팅
액터 사용자
요약 사용자가 AI 상담 챗봇과 대화를 통해 현재 감정 상태를 표현하고 상담을 진행한다.
사전 조건 로그인
흐름

1. 사용자가 AI 심리 상담 메뉴를 선택한다.
2. 시스템은 상담 채팅 화면을 제공한다.
3. 사용자가 감정 상태를 입력한다.
4. 시스템은 입력 내용을 분석하여 상담 응답을 생성한다.
5. 사용자와 시스템이 대화를 반복하며 상담을 진행한다.


이름 추천 콘텐츠 이용
액터 사용자
요약 시스템이 사용자 감정 상태를 기반으로 맞춤형 콘텐츠를 추천하고, 사용자는 이를 이용한 후 피드백을 제공한다.
사전 조건 상담 채팅 수행
흐름

1. 시스템은 사용자 감정 상태를 분석한다.
2. 시스템은 분석 결과를 기반으로 콘텐츠를 추천한다.
3. 사용자는 추천된 콘텐츠를 선택하여 이용한다.
4. 시스템은 콘텐츠를 실행한다.
5. 사용자는 콘텐츠 이용 후 피드백을 입력한다.
6. 시스템은 피드백을 저장하고 이후 추천에 반영한다.


이름 감정 기록 분석
액터 사용자
요약 사용자의 감정 변화 데이터를 분석하여 시각적으로 제공한다.
사전 조건 로그인
흐름

1. 사용자가 감정 기록 분석 메뉴를 선택한다.
2. 시스템은 저장된 감정 데이터를 조회한다.
3. 시스템은 감정 변화 데이터를 그래프 형태로 제공한다.
4. 사용자는 감정 변화 추이를 확인한다.

유즈케이스 다이어그램 액티비티 다이어그램

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

MoodPick 메인화면.png MoodPick 상담 시작화면.png MoodPick 상담화면.png MoodPick 상담 기록화면.png MoodPick 마이페이지.png

포스터

MoodPick 설문지 배너.jpg

관련사업비 내역서

집행항목 사용내역 거래처 거래일자 금액(원) 항목별 집행액(원)
SW활용비 Pro plus 구독 Cursor 4.2.(목) 96,592 1,451,086
Max plan 구독 Claude 4.2.(목) 168,014
Pro 구독 ChatGPT(나이스정보통신) 4.2.(목) 299,000
Pro 구독 GAMMA.A 4.2.(목) 38,185
Organization Pro 플랜 SUPABASE 4.2.(목) 38,185
openai api 20$ 선불 OPENAI 4.2.(목) 33,602
Pro plus 구독 Cursor 5.7.(목) 87,678
Max plan 구독 Claude 5.7.(목) 160,743
Pro 구독 ChatGPT(나이스정보통신) 5.7.(목) 303,541
Pro 구독 GAMMA.A 5.7.(목) 36,532
Organization Pro 플랜 SUPABASE 5.7.(목) 35,319
클라우드 타입 배포 관련 결제 주식회사 클라우드타입 5.12.(화) 107,800
openai api 20$ 선불 OPENAI 5.12.(화) 32,793
도메인 주소 구매 VERCEL 5.12.(화) 13,102
직접개발비 자문비(1시간) 마크노바(백*호 이사) 3.13.(금) 150,000 750,000
자문비(1시간) 마크노바(백*호 이사) 4.10.(금) 150,000
자문비(1시간) 마크노바(백*호 이사) 5.7.(목) 150,000
자문비(1시간) 마크노바(백*호 이사) 5.22.(금) 150,000
자문비(1시간) 마크노바(백*호 이사) 6.12.(금) 150,000
합계(VAT 포함) 2,201,086

완료작품의 평가

평가항목 평가방법 적용기준 개발 목표치 비중(%) 평가결과
1.감정 변화 측정 정확성 사전, 사후 문진 결과 비교 분석 문진 점수 변화 감소 여부 감정 개선 효과 확인(70% 이상 사용자 개선) 20 달성(사용자 설문결과 평균 5점 만점 3.72점으로 목표치 달성)
2.콘텐츠 추천 적합성 사용자 피드백 분석 추천 콘텐츠 만족도 및 긍정 반응 비율 긍정 피드백 70% 이상 20 보류(일부 사용자들로부터 긍정적인 반응을 얻었으나 정량적으로 평가할 만큼 충분한 피드백을 받지 못함)
3.MCP 기반 자율 실행 성공 시나리오별 에이전트의 외부 도구 호출 및 응답 로그 점검 사용자 개입 없는 외부 API 자동 실행 여부 실행 성공률 95% 이상 30 달성(알파테스트와 베타테스트 결과 MCP 연결 오류가 발생한 적 없음)
4.RAG 응답의 신뢰성 응답 메시지 내 전문 지식 DB 인용 및 키워드 포함 비율 할루시네이션 방지 및 준비된 전문 상담 가이드라인 준수 여부 응답 내 키워드와 DB 데이터 일치 비율 90% 이상 15 달성(상담매뉴얼에 명시된 특정 상황에 대하여 상담매뉴얼에 있는 내용 기반으로 답변함)
5.시스템 성능 및 사용자 만족도 응답 지연 시간 측정 및 설문 입력 후 실행까지의 시간 및 사용자 만족도 설문 응답 지연 3초 이내, 평균 점수 4/5 이상 15 실패(단순 응답은 평균 5초 소요되지만, 콘텐츠를 추천하는 경우 15초 이상 소요)

향후계획

  • 어려웠던 내용들
    • 상담 대화에서 추천까지 이어지는 사용자 흐름을 매끄럽게 제공하기 위해서는 추천의 빈도가 중요한데, 적절한 추천 빈도를 설정하는 것이 어려웠다.
    • 단순한 LLM의 소통 및 공감이 아닌 서비스의 차별점인 적절한 심리 상담을 제공하기 위해서는 감정을 분석 및 저장하는 과정이 필요했다. 신뢰도 있고 근거 있는 감정 기반 로직을 녹여내는 과정에서 관련 논문을 찾는 등 상당한 시간이 소요됐다.
    • 해당 서비스의 AI가 본래 의도된 목적으로만 작동하고, 사용자들의 Jail Breaking이나 서비스의 의도에 맞지 않는 질문을 차단하기 위해 가드레일을 적용하였다. 그러나 가드레일을 적용하는 과정에서 오히려 일반적인 상담이 안 되는 경우가 있어서 가드레일의 정도를 조절하는 부분에서 어려움을 겪었다.
    • 결국 이 서비스의 핵심은 심리 상담에서 콘텐츠 추천으로 이어지는 흐름인데, 사용자에게 개인화된 콘텐츠를 제공하기 위한 추천 성능 향상 과정이 어려웠다. 유튜브의 영상에 대한 정보는 MCP를 통해 불러오는 형태이므로, 서비스 자체에 저장할 수가 없었고, 결국은 쿼리를 잘 만들고, 불러온 후보 영상들을 사용자에게 개인화된 형태로 재랭킹하는 형태로 어느 정도 극복할 수 있었다.
    • 사용자에게 더 나은 경험을 제공하기 위해서는 심리 상담 과정에서 빠른 답변이 필요하다. 그러나 서비스가 사용자에게 콘텐츠를 추천을 하게 되면, 백엔드에서 돌아가는 각종 로직과 추천 과정으로 인해 지연시간이 증가했고, 이를 병렬화하여 추천시간을 줄이는 과정에서 상당한 시간이 소요됐다.
    • 서비스를 완성한 후, 실제 사용자 테스트를 진행하기 위해 배포 준비를 하는 과정에서 일부 어려움이 있었고, 실제 사용할 수 있는 서비스로서 작동하기 위한 보안 설정을 하는 데 어려움이 있었다.
  • 차후 구현할 내용
    • 감정이라는 것은 텍스트만으로 온전히 전달되기 어렵다. 따라서 멀티모달 AI를 사용해 텍스트가 가지고 있는 의미론적 내용 외에도 말투나 속도, 톤에서 나오는 비언어적 표현을 활용해 더욱 정밀한 감정 분석을 실행할 수 있을 것이다.
    • 현재는 감정 분석 로직을 LLM에게 관련 자료를 근거로 분석하도록 하지만, 더욱 정밀하고 신뢰성 있는 감정 로직을 이용해 감정을 분석하고 사용자에게 제공하기 위해서 z 점수와 p 값을 활용할 수 있을 것이다.
    • 사용자에게 더욱 부드럽고 편리한 경험을 제공하기 위해서 음성 대화 기능을 추가할 수 있을 것이다. 사용자가 본인이 이야기를 하고 기다리는 것이 아닌 실제 사람과 대화하는 것처럼 실시간성을 추가하여 더욱 나은 사용자 경험을 제공할 수 있을 것이다.
    • 유튜브 등 타 사이트의 정보를 우리 서버 쪽으로 끌어와서 사용자에게 더욱 더 개인화된 추천을 할 수 있을 것이다.
    • 상담 속도로 인해 비교적 가벼운 모델을 사용하고 있는데, 그러다 보니 최신 정보에 대한 상담 시 답변 문제가 발생한다. 더 좋은 모델을 사용하거나 외부 웹을 연결하여 해결할 수 있을 것이다.

특허 출원 내용

없음