# 암묵적 피드백 수집

**작성일**: 2025-11-17  
**목적**: 명시적 피드백(좋아요/싫어요) 외에 사용자 행동 패턴을 통한 암묵적 피드백 감지

## 개요

사용자가 명시적으로 피드백을 주지 않아도, 행동 패턴을 분석하면 시스템의 성능에 대한 암묵적 신호를 감지할 수 있습니다. 이를 통해 리뷰 큐 진입 조건을 확장하여 더 많은 개선 기회를 포착합니다.

## 구현된 암묵적 피드백 유형

### 1. 재질문 (Re-question)

**정의**: 같은 사용자가 짧은 시간 내에 유사한 질문을 반복하는 경우

**감지 조건**:
- 최근 5분 이내 메시지 중
- 현재 메시지와 과거 메시지 간 공통 키워드 2개 이상
- 유사한 의도로 추정되는 질문 반복

**예시**:
```
사용자: "11월 19일 일정 조회해줘" (1분 전)
로빙: "11월 19일 일정: 14:00 심사"
사용자: "11월 19일 일정 알려줘" (현재) ← 재질문 감지
```

**의미**: 이전 응답이 만족스럽지 않아 다시 질문하는 것으로 해석

### 2. 세션 종료 (Session Termination)

**정의**: 응답 후 즉시 세션이 종료되는 경우

**감지 조건**:
- 응답 시간과 세션 종료 시간 차이가 5초 이내
- 사용자가 응답을 확인하고 바로 나감

**예시**:
```
로빙: "11월 19일 일정: 14:00 심사" (응답 시간: 10:00:00)
사용자: 세션 종료 (종료 시간: 10:00:03) ← 세션 종료 감지
```

**의미**: 응답이 불만족스러워 즉시 이탈하는 것으로 해석

### 3. 무응답 (No Response)

**정의**: 응답 후 사용자가 아무 말 없이 다른 메시지를 전송하는 경우

**감지 조건**:
- 마지막 응답 시간과 다음 메시지 시간 차이가 1분 이내
- 응답에 대한 피드백 없이 다른 주제로 전환

**예시**:
```
로빙: "11월 19일 일정: 14:00 심사" (응답 시간: 10:00:00)
사용자: "오늘 날씨 알려줘" (다음 메시지: 10:00:30) ← 무응답 감지
```

**의미**: 이전 응답에 대한 피드백 없이 다른 질문으로 넘어가는 것으로 해석

## 구현 위치

### 코드 구조

```
app/brain/intent_review.py
├── detect_implicit_feedback()           # 암묵적 피드백 감지
└── should_enqueue_for_implicit_feedback()  # 리뷰 큐 진입 결정
```

### 사용 예시

```python
# 재질문 감지
is_re_question = detect_implicit_feedback(
    current_message="11월 19일 일정",
    recent_messages=[
        {"message": "11월 19일 일정 조회해줘", "timestamp": datetime.utcnow() - timedelta(minutes=1)},
    ],
    feedback_type="re_question"
)

# 세션 종료 감지
is_termination = detect_implicit_feedback(
    current_message=None,
    recent_messages=[],
    feedback_type="session_termination",
    response_time=response_time,
    session_end_time=session_end_time
)
```

## 통합 계획

현재는 감지 로직만 구현되어 있으며, 실제 `conversation_service.py`나 `save_conversation`에서 호출하여 리뷰 큐에 자동으로 진입시키는 통합은 다음 단계에서 진행 예정입니다.

## 테스트 커버리지

`tests/test_implicit_feedback.py`:
- ✅ 재질문 패턴 감지
- ✅ 세션 종료 감지
- ✅ 무응답 감지
- ✅ 리뷰 큐 진입 결정

## 참고 문헌

- **Impact of Feedback Type (2022)**: Implicit vs Explicit Feedback의 효용성
- **Human-in-the-Loop Machine Learning**: 암묵적 피드백 수집 전략

---

**업데이트**: 2025-11-17 - 재질문/세션 종료/무응답 감지 로직 구현 완료

