[AI]8단계_최종_통합_설계_및_회고 - 100-hours-a-week/12-marong-Wiki GitHub Wiki

1. 통합 아키텍처

최종아키택처 drawio

'익명 닉네임 생성', '피드 기반 행동분석', '장소추천' 세 가지 기능을 모두 하나의 MainDB에 접근하여 수행하도록 통합한 설계

익명 닉네임 생성

  • 사용자가 마니또 활동에 참여할 때, LLM 기반 닉네임 생성 모듈을 통해 완전히 익명성을 보장하면서도 약간의 힌트를 담은 닉네임 자동 부여
  • RAG 모듈 (문서로딩 -> Splitting -> Embedding -> Retriever -> Top-k)
  • PromptTemplate -> LLM Chain -> Score Parser -> mbti 업데이트
  • 사용모델: hyperclovax-1.5b-instruct
  • 응답속도 : 약 6초

피드 기반 행동분석

  • 사용자가 업로드한 피드 텍스트를 RAG 기반으로 분석해, 현 MBTI 점수를 보정 및 업데이트 진행
  • RAG 모듈 (문서로딩 -> Splitting -> Embedding -> Retriever -> Top-k)
  • PromptTemplate -> LLM Chain -> Score Parser -> mbti 업데이트
  • 사용모델: hyperclovax-1.5b-instruct
  • 응답속도: 약 10초

장소추천

  • 업데이트된 MBTI 성향을 기반으로, 사용자 맞춤 장소 추천
  • vector db 검색 -> Top-k 유사도 계산 -> 히스토리 기록 -> 최종 목록 반환
  • 사용모델: sBERT
  • 응답 속도: 약 25초

2. 회고

설계 단계에서 각 기술과 모델, 전략을 선택한 근거를 명확히 함으로써 개발 과정에서 발생할 수 있는 불확실성을 줄이고, 모듈 간 인터페이스 충돌을 사전에 방지

  • 모듈화의 중요성: LangChain과 RAG 모듈을 독립 구성해 재사용성을 극대화했고, 각 단게별 책임을 명확히 하여 유지보수성 확보
  • 모델 선택 전략: HyperCLOVAX-1.5B 모델을 채택한 이유는 한국어 이해도가 높으면서도 빠른 추론 성능을 보였기 때문이며, sBERT는 경량화된 임베딩 용도로 최적화되어있어 추천 모듈의 속도 저하를 최소화할 수 있음

3. 향후 개선 계획

익명닉네임 생성

  • 경량화 모델 적용으로 평균 생성 시간 감소

피드기반 행동분석

  • 취미, 활동이력 등 추가 컨텍스트 반영해 MBTI 정확도 상승 목표
  • 파인튜닝된 llm 사용으로 정확도 상승

장소추천

  • 쌓인 유저의 데이터셋으로 더 정확한 추천

6. 기능 타당성

  • 익명닉네임 생성: 마니또 몰래 역할을 수행하고, 인증하기 위해서는 익명이 필수지만, 마니또가 마니띠를 어느정도 유추할 수 있어야하기 때문에 '힌트'를 위한 요소로 필요
  • 피드기반 행동분석: 마니또, 마니띠의 피드 텍스트를 분석해 좀 더 잘맞는 사람과 다음 마니또 매칭 및 더 잘 맞는 식당과의 매칭 적용 가능
  • 장소 추천: 사용자의 성향에 맞는 개인맞춤형 장소추천 가능