Skip to content

feat(ai): Ask Chat 예시 질문 10분 로테이션 적용 - #225

Merged
1Seob merged 2 commits into
developfrom
feat/ask-chat-question-rotation
Aug 15, 2026
Merged

feat(ai): Ask Chat 예시 질문 10분 로테이션 적용#225
1Seob merged 2 commits into
developfrom
feat/ask-chat-question-rotation

Conversation

@1Seob

@1Seob 1Seob commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

📝 요약(Summary)

  • 홈을 조회할 때마다 예시 질문이 바뀌던 UX 문제를 개선했습니다.
  • 사용자 ID와 10분 시간 슬롯을 기준으로 동일 구간에는 같은 질문을 제공하고, 다음 구간에는 질문을 결정적으로 갱신합니다.

주요 변경사항

  • 예시 질문 선택 정책
    • 관심사별 질문을 정렬하고 최대 3개 카테고리에서 하나씩 선택합니다.
    • 사용자별 기준 위치와 시간 슬롯 오프셋을 결합해 별도 캐시 없이 결정적으로 순환합니다.
    • 질문 부족과 빈 목록을 안전하게 처리하고 입력 순서에 따른 결과 차이를 제거합니다.
  • 홈 API 연동
    • AskChatSessionServiceCollections.shuffleThreadLocalRandom 기반 선택을 제거했습니다.
    • 예시 질문에만 로테이션을 적용해 대화권과 크리스탈 잔액은 계속 최신값을 반환합니다.
    • Swagger에 사용자별 10분 갱신 정책을 반영했습니다.
  • 테스트
    • 동일 슬롯 유지, 슬롯 경계 갱신, 사용자별 분산, 입력 순서 독립성 및 질문 부족 상황을 검증했습니다.
    • 홈 서비스가 선택기에 위임하고 반환 순서를 응답에 보존하는지 확인했습니다.

검증

  • .\gradlew.bat compileJava 통과
  • AskChatSampleQuestionSelectorTest 6개 통과
  • AskChatSessionServiceTest 5개 통과
  • AskChatSessionControllerTest 5개 통과
  • git diff --check origin/develop...HEAD 통과

🔗 Related Issue

  • Closes:

💬 공유사항

✅ PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • PR 제목을 커밋 메시지 컨벤션에 맞게 작성했습니다.

1Seob added 2 commits August 15, 2026 20:27
사용자 ID와 10분 시간 슬롯을 기준으로 예시 질문을 순환 선택하고 동일 슬롯 안정성 및 경계 동작을 단위 테스트로 검증함
AskChatSessionService의 요청별 랜덤 선택을 사용자별 10분 결정적 로테이션으로 교체함
@coldsunn

Copy link
Copy Markdown
Collaborator

LGTM!

@1Seob
1Seob merged commit 6e7c448 into develop Aug 15, 2026
1 check passed
@1Seob
1Seob deleted the feat/ask-chat-question-rotation branch August 15, 2026 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants