DOCS/journey/plans/archive/251016_emotion_integration_plan.md
Claude-51124 7293f83f0f docs: 감정 기반 응답 톤 자동 조정 계획 완료 및 아카이브 이동
- 응답 길이 제어 구현 완료
- emotion_length_map 추가 및 system_instruction에 길이 지시 포함
- 계획 문서 아카이브로 이동
2026-01-03 21:43:59 +09:00

2.0 KiB

감정 분류기 Router 통합 계획

날짜: 2025-10-16 목표: 감정 분석을 대화 흐름에 통합


구현 완료

완료일: 2025-10-16
커밋: 413b1e0 (rb8001)
상세: troubleshooting/251016_emotion_classifier_router_integration.md

완료 사항

  • 환경변수 추가: USE_EMOTION_ANALYSIS (config.py)
  • Router 통합: router.py:_call_internal_llm()에서 감정 분석 실행
  • skill-embedding 연동: EmotionClassifier → HTTP API 호출
  • Context 전달: user_emotion, emotion_confidence를 LLM context에 추가
  • Graceful degradation: 실패 시 에러 로그만, 서비스 계속 작동

구현 완료: 감정 기반 응답 톤 자동 조정

완료일: 2025-01-03
커밋: (푸시 전)

완료 사항

  • llm_service.py에서 감정 분석 후 system_instruction 동적 생성 (227-233줄)
  • single_strategies/compound_strategies로 감정-전략 매핑 (202-208줄)
  • XML 구조화된 system_instruction을 context에 추가하여 gemini_handler에 전달
  • 이모지 제거: remove_emoji로 모든 이모지 제거 (원칙 준수: 명시적 요청 시만 허용)
  • 응답 길이 명시적 제어: emotion_length_map 추가, system_instruction에 길이 지시 포함 (210-220줄, 244줄)

구현 상세

감정별 응답 길이 매핑 (llm_service.py:210-220):

emotion_length_map = {
    'fear': "짧게",
    'anger': "중간",
    'sadness': "중간",
    'joy': "중간",
    'happiness': "중간",
    'surprise': "중간",
    'disgust': "중간",
    'neutral': "중간"
}

system_instruction에 길이 지시 추가 (llm_service.py:244):

  • 전략 텍스트와 함께 길이 지시 포함: "{strategy} {length_instruction} 응답하세요."
  • 예: "공감과 이해를 담아 부드럽게 짧게 응답하세요." (fear 감정)

참고

  • troubleshooting/251016_emotion_router_integration.md
  • 311_FastAPI_구조_원칙.md