Personalization
사용자 취향과 현재 요청 조건을 함께 반영
HyperCLOVA X 기반 영화 관람 기록·취향 분석 AI Agent
사용자의 취향뿐 아니라 누구와 보는지, 현재 기분과 시청 가능 시간 같은 상황까지 이해하고 추천 이유와 검증 근거를 함께 제공하는 Personal Movie AI Agent입니다.
영화 선택에 시간이 오래 걸리지만 기존 추천은 현재 상황을 충분히 반영하지 못했습니다.
생성형 AI 추천은 근거가 부족하고 환각 가능성이 있어 결과를 신뢰하기 어려웠습니다.
영화 정보, 리뷰, 평점과 관람 기록이 여러 서비스에 분산되어 있었습니다.
사용자 취향과 현재 요청 조건을 함께 반영
추천한 이유와 사용한 근거를 사용자에게 설명
영화 정보, 요청 조건과 리뷰 근거를 재검증
검수 결과와 안전한 폴백으로 응답 신뢰성 확보
팀 프로젝트 중 데이터·AI Agent 구현에 참여한 범위를 발표자료의 처리 흐름에 맞춰 구체화했습니다.
KOBIS·KMDB 데이터를 스케줄 수집하고 정제·병합해 PostgreSQL에 적재하는 흐름을 구현했습니다.
영화와 리뷰 임베딩을 pgvector에 저장하고, 검색 결과와 근거 ID가 응답 생성까지 이어지도록 구성했습니다.
의도 분류·QueryPlan·검색·생성·검수를 분리하고 실패 원인에 따라 필요한 단계부터 재실행하도록 설계했습니다.
발표자료에 포함된 실제 구현 화면입니다. 사용자 경험과 데이터 운영 화면을 함께 보여주어 서비스가 어디까지 완성됐는지 확인할 수 있습니다.

영화 탐색과 상세 정보, 관람객 리뷰, 가입 시 선호 키워드 선택까지 개인화의 입력과 결과를 하나의 흐름으로 연결했습니다.
크게 보기 ↗
상황을 담은 자연어 요청에 영화별 추천 이유를 제공하고, 관련 리뷰 콘텐츠까지 이어지는 응답 화면을 구현했습니다.
크게 보기 ↗
영화 인증 상태, 전체 영화·감상평 현황과 매일 실행되는 데이터 수집 배치의 처리 결과를 한 화면에서 확인합니다.
크게 보기 ↗
수집된 영화의 정보 누락, 인증 상태와 사용자 노출 여부를 검색·필터링하고 상세 화면에서 검수할 수 있습니다.
크게 보기 ↗한 번 생성하고 끝내지 않습니다. 검색 근거와 응답 품질을 검수하고, 원인에 맞는 단계부터 다시 실행합니다.
KOBIS 영화 목록·상세 수집
KMDB 포스터·등급·줄거리·키워드 결합
데이터 정제·병합 후 PostgreSQL UPSERT
영화·리뷰 임베딩을 pgvector에 저장
RAG 검색 결과를 HyperCLOVA X 응답 근거로 사용
사용자 트래픽, 외부 API, AI API의 진입 경로를 분리하고 Web·WAS·ChatBot·DB를 Private Subnet 중심으로 구성했습니다.

외부 데이터는 NAT Gateway, HyperCLOVA X는 PrivateLink를 통해 연결하고 운영 로그와 오브젝트 스토리지를 별도 관리합니다.
원본 크기로 보기 ↗Next.js 사용자·관리자 화면, FastAPI 기반 REST API
HyperCLOVA X, CLOVA Studio Router, LangGraph, RAG
KOBIS·KMDB 수집 배치, PostgreSQL 16, pgvector
Public·Private Subnet, 이중 Load Balancer, Bastion, NAT Gateway, PrivateLink
자연어 추천, 데이터 수집·RAG, 자가교정 Agent, 사용자·관리자 화면과 NCP 인프라까지 하나의 서비스로 통합했습니다.
벡터 저장과 RAG 조회 과정에서 아쉬웠던 검색 정확도와 추천 근거의 적합도를 개선합니다.
추천 영화가 현재 어느 멀티플렉스와 OTT에서 제공되는지 함께 안내합니다.
최초 선호 장르 선택에 그치지 않고, 시청 영화의 평점과 리뷰를 누적해 사용자 취향 선호도를 지속적으로 고도화합니다.