왜 AI 응답을 그대로 추천에 쓰면 안 됐을까?
ReactFirebaseAI
문제 상황
감정 분석 음악 추천에서는 사용자가 입력한 문장을 Claude가 감정으로 분석하고, 그 결과로 음악을 추천합니다. 그런데 AI 응답을 그대로 화면과 추천에 쓰면, 응답 형식이 조금만 달라져도 추천 결과와 화면 상태가 함께 흔들렸습니다.
해결 방법
Claude 응답을 백엔드(Spring Boot 프록시)에서 서비스 데이터로 정규화하고, 감정 결과·추천 기준·히스토리 저장을 분리했습니다.
사용자 입력
-> Claude 감정 분석 응답
-> 허용 감정 집합으로 정규화 (기쁨/슬픔/분노/불안/평온/설렘/피로/집중)
-> 추천 기준 생성 (감정 → 추천곡 구조)
-> Firestore 감정 히스토리 저장
응답 파싱에 실패하면 `AI_RESPONSE_PARSE_FAILED`로 구분해 화면을 무너뜨리지 않고 기본 흐름으로 떨어지게 했습니다. 외부 API 키도 프론트에서 제거하고 백엔드 환경변수로만 관리했습니다.