AI 추천이 너무 일반적일 때 프로필 맥락을 붙이기
분석 결과만으로는 추천이 평평해지던 문제를 사용자 프로필, 고민, 루틴 신호와 연결해 보완한 기록입니다.
Code notes
코드에서 확인한 구현 포인트
배포 기준 2025.12.19
관련 파일
apps/web/app/api/recommendations/route.tsapps/web/lib/profile-details.tsapps/web/lib/ai-report.tsapps/web/lib/recommendations.ts구현 메모
추천 API는 분석 세션만 보지 않고 profile details, AI 리포트, 루틴 신호를 함께 읽어 추천 문맥을 만든다.
AI 리포트 프롬프트에도 profile details와 self concerns를 넣어 추천이 일반 문장으로 흐르는 문제를 줄였다.
추천 후보가 부족할 때도 화면이 비지 않도록 fallback product와 기본 추천 흐름을 유지한다.
좋은 추천은 분석 결과만 보지 않는다
사진 분석 결과만으로 추천을 만들면 문장이 그럴듯해도 사용자에게 딱 맞는 느낌이 약하다. 같은 건조 신호라도 나이대, 피부 타입, 현재 루틴, 사용자가 직접 적은 고민에 따라 다음 행동은 달라진다.
초기 추천 API는 상품과 분석 결과를 연결하는 데 집중했지만, 어느 순간 추천이 너무 일반적인 문장으로 느껴졌다. AI가 사용자의 맥락을 충분히 받지 못하고 있었던 것이다.
프로필 상세를 추천 흐름에 연결하다
추천 API는 프로필 상세, 분석 세션, AI 리포트, 루틴 정보를 함께 읽도록 확장했다. AI 리포트 프롬프트에도 profile details와 self concerns를 넣어 사용자의 실제 고민을 더 잘 반영하게 했다.
이 구조는 추천을 단순 상품 매칭에서 피부 코칭에 가깝게 만든다. 사용자의 상태를 더 많이 안다고 해서 단정하는 것이 아니라, 같은 결과를 더 조심스럽고 개인적인 문장으로 설명하는 데 쓰는 것이다.
추천이 비어도 화면은 비면 안 된다
추천은 여러 데이터가 합쳐지는 API라 어느 한 조각이 비어도 결과가 약해질 수 있다. 분석 세션은 있는데 상품 후보가 없거나, 프로필이 아직 충분하지 않은 경우도 있다.
그래서 fallback product와 기본 추천 문장을 준비했다. 완벽한 개인화가 아니더라도 사용자가 다음으로 볼 수 있는 항목은 남겨두는 편이 좋다.
기록해둘 판단
AI 추천은 ‘상품을 많이 보여주는 기능’이 아니라 ‘사용자가 지금 왜 이걸 봐야 하는지 설명하는 기능’이다.
앞으로도 추천 품질을 높일 때는 모델만 바꾸기보다, AI에게 전달하는 사용자 맥락과 fallback 설계를 먼저 점검해야 한다.
Keep reading
다른 글 이어서 보기
AI Debugging
2026.05.03
8 min read
AI JSON 응답이 흔들릴 때 sanitize 계층 만들기
AI 리포트가 화면에서 기대하는 형태와 다르게 돌아올 때, 응답 계약과 정규화 계층으로 제품을 지킨 기록입니다.
AI Debugging
2026.05.03
8 min read
모바일 AI 분석이 멈춘 것처럼 보이던 문제
사진 촬영, 업로드, 분석 요청이 이어지는 모바일 AI 흐름에서 타임아웃과 재시도 기준을 나눈 기록입니다.
AI Debugging
2026.03.22
8 min read
주간 AI 리포트가 빈말이 되지 않게 fallback 만들기
주간 리포트에 충분한 데이터가 없거나 AI 생성이 실패해도 사용자에게 의미 있는 요약을 보여주기 위한 방어 로직입니다.