- 사용자가 작성한 피드를 기반으로 사용자의 MBTI 수치를 보정
- 보정된 MBTI가 마니또 매칭, 장소 추천 등 개인화 기능에 적극 활용
사용 모델: HyperCLOVA X SEED 1.5B
한국어 이해 성능이 뛰어나고, 적은 파라미터 개수로 추론 속도가 빠름
- 사용자 피드와 사용자 MBTI 점수 불러오기
-
Korean-MBTI-Conversation-Dataset
해당 데이터를 임베딩하여 ChromaDB에서 유사 피드를 검색(RAG)
- LangChain의 체인 구조를 활용해 유사 피드를 바탕으로 축별 프롬프트를 생성
- LLM 응답을 MBTIOutputParser로 파싱되어 변화된 점수가 결과로 반환됨
문제1. 단순 수치 조정 → 평가 이유 출력
- 기존: MBTI 점수 변화만 제공되고, 그 변화에 대한 이유는 생성하지 않음
- 사용자들이 결과를 보고 납득하지 못하거나 흥미를 느끼지 못하는 문제 발생
- “왜 점수가 바뀌었는지”, “내 행동이 어떤 MBTI 성향과 연결되는지” 에 대한 맥락 제공의 필요성 발견
- 지속적인 미션 인증을 위해서는 인증에 따라 자신의 성향이 어떻게 바뀌는지에 대한 재미 요소가 있어야 유도 가능
순서 |
내용 |
1 |
LLM 응답 포맷 개선 → 기존 단일 숫자 응답에서 이유도 함께 생성하도록 LLM 출력 구조 설계 |
2 |
프롬프트 템플릿 수정 → 프롬프트에 이 피드의 어떤 점이 축 성향을 나타내는지 명시적 지시 추가 |
3 |
MBTIOutputParser 개발 → 이유를 안정적으로 파싱할 수 있도록 LangChain용 파서 구성 |
4 |
테스트 및 사용자 피드백 반영 → 개선된 결과를 적용한 뒤 실제 사용자 피드백을 수집하고, 이유 문장이 보다 자연스럽도록 계속 튜닝 예정 |
문제 2. 평가 이유와 점수 상승/하락 맥락 X → 논리적 흐름 완성
- 이유는 생성되었지만, 해당 이유가 실제 점수변동(상승/하락/유지)와 맥락이 안맞는 현상 발생
- 이유와 점수가 무관하게 진행되기 때문에 무조건 점수를 상승시키는 현상 발생
- 점수 변화와 이유 사이의 논리적 정합성이 부족하여 사용자 신뢰도 저하
- 실제 피드 내용이 내성적인 성향을 보여줬음에도 불구하고 점수는 상승(E방향)하는 등
→ 무분별한 점수 상승 현상이 반복됨
- MBTI 축별 성향에 대한 판단 기준 명확화와 점수 변화 방향과 이유 사이의 일관된 연결 구조 필요
순서 |
내용 |
1 |
MBTI 성향 판단 기준 명시 → 프롬프트에 축별 성향 기준을 명확히 제시하여 일관된 판단 유도 |
2 |
Few-shot 예시 추가 → 점수 상승/하락/유지 각각에 대해 대표 예시를 삽입하여 모델의 출력을 안정화 |
3 |
미션 정보 반영 → 피드가 마니또 미션 인증 내용인 점을 고려하여 프롬프트에 미션 맥락을 추가, 성향 판단의 정확도 향상 유도 |
4 |
LangGraph 도입 및 구조 개선 → EI/SN/TF/JP 축별 reasoning을 병렬적으로 처리한 후, 최종 노드에서 종합 판단 및 최적 결과 선택 구조로 개선 |
비교 항목 |
Before |
After |
이유 출력 |
점수만 제공되고 이유 없음 |
점수와 함께 성향에 대한 설명 제공 |
점수-이유 논리 정합성 |
점수와 이유가 불일치(ex. 내향적인 피드인데 외향 점수 상승) |
점수 상승/하락/유지가 일관성 있게 출력됨 |
처리 속도 |
LangChain 순차 실행 구조로 응답 시간 지연 |
LangGraph 병렬처리 구조 도입으로 응답 속도 40% 개선 |
사용자 피드백 반응 |
“왜 점수가 바뀌었는지 모르겠다”) |
“해석이 재밌다”, “일부로 반대로 입력했는데 내 MBTI를 어떻게 추적해오는지 모르겠다, 신기하다.” |
- 점수와 이유 사이의 논리 흐름을 명확히 연결하기 위해 프롬프트 설계, 예시 구성, LangGraph 병렬 처리 구조 도입 등 다양한 구조 개선을 시도했고, 그 결과 응답 속도 40% 향상과 함께 출력 품질 또한 크게 개선되었다.
- 단순한 점수 출력에서 벗어나, 사용자 행동에 기반한 맥락 있는 성향 해석을 제공함으로써 결과에 대한 납득 가능성과 재미 요소를 동시에 확보할 수 있었다.
- 단순 수치 조장보다 설명 가능한 AI(Explainable AI) 경험이 사용자에게 더 큰 신뢰와 몰입을 제공한다는 것을 깨달았다.
- 설명 가능한 AI를 만들기 위해 필요한 설계 과정을 반복하면서, 어떤 흐름이 가장 효율적이고 설득력 있는지 판단하는 사고력과 구조 설계 능력도 함께 성장할 수 있었다.