Add emotion-based addressing test report (6/7 success)
This commit is contained in:
parent
763ddbbf3b
commit
15b954fb9f
95
journey/plans/251204_addressing_test_report.md
Normal file
95
journey/plans/251204_addressing_test_report.md
Normal file
@ -0,0 +1,95 @@
|
||||
# 감정 기반 호칭 시스템 테스트 결과
|
||||
|
||||
**작성일**: 2025-12-04
|
||||
**작성자**: happybell80
|
||||
**테스트 대상**: 김종태 (UUID: 1a7ebe8c-1cfd-4acf-a821-2cc526313706, position: CTO)
|
||||
|
||||
---
|
||||
|
||||
## 테스트 결과: 6/7 성공 (85.7%)
|
||||
|
||||
### 성공한 시나리오
|
||||
|
||||
| 번호 | 메시지 | 감정 | 예상 호칭 | 실제 응답 | 결과 |
|
||||
|------|--------|------|-----------|-----------|------|
|
||||
| 2 | "너무 힘들어요... 스트레스 받아요" | sadness | CTO님 | "CTO님, 얼마나 힘드신지..." | ✅ |
|
||||
| 3 | "오늘 날씨 어때요?" | neutral | CTO님 | "CTO님, 오늘 날씨는..." | ✅ |
|
||||
| 4 | "감사합니다!" | happiness | CTO님 | "CTO님, 제가 조금이라도..." | ✅ |
|
||||
| 5 | "화가 나요..." | anger | CTO님 | "CTO님, 얼마나 힘든지..." | ✅ |
|
||||
| 6 | "불안하고 걱정돼요..." | fear | CTO님 | "CTO님, 얼마나 불안하고..." | ✅ |
|
||||
| 7 | "좋은 아침이에요!" | happiness | CTO님 | "CTO님, 좋은 아침입니다!" | ✅ |
|
||||
|
||||
### 실패한 시나리오
|
||||
|
||||
| 번호 | 메시지 | 감정 | 예상 호칭 | 실제 응답 | 결과 |
|
||||
|------|--------|------|-----------|-----------|------|
|
||||
| 1 | "고마워요! 오늘 일정 알려주세요" | happiness | CTO님 | "12월 04일에 등록된 일정이 없습니다." | ❌ |
|
||||
|
||||
**실패 원인**: 일정 조회 의도로 분류되어 calendar 스킬로 라우팅, 해당 스킬에서 호칭 미사용
|
||||
|
||||
---
|
||||
|
||||
## 구현 완료 사항
|
||||
|
||||
### 신규 파일
|
||||
- `app/services/addressing_service.py` (95줄): 호칭 결정 비즈니스 로직
|
||||
|
||||
### 수정 파일
|
||||
- `app/state/database.py`: user 조회, 감정 평균 함수 추가 (108줄)
|
||||
- `app/router/router.py`: 감정 분석 후 호칭 결정 로직 통합 (4줄)
|
||||
- `app/services/llm/llm_service.py`: system_instruction에 호칭 지시 추가 (4줄)
|
||||
- `DOCS/book/300_architecture/database/tables.md`: short_name 필드 추가 (1줄)
|
||||
|
||||
**총 코드 변경**: 약 212줄
|
||||
|
||||
### Git 커밋
|
||||
- `a26e7b6`: Add emotion-based addressing system
|
||||
- `c8052f7`: Fix SQL query: INTERVAL parameter binding
|
||||
|
||||
---
|
||||
|
||||
## 로그 검증
|
||||
|
||||
```
|
||||
Emotion detected: happiness (confidence: 0.99)
|
||||
Preferred name: CTO님
|
||||
```
|
||||
|
||||
✅ 호칭 결정 로직 정상 작동
|
||||
✅ LLM에 호칭 전달 확인
|
||||
✅ 응답에 호칭 포함 확인
|
||||
|
||||
---
|
||||
|
||||
## 계층 분리 원칙 준수
|
||||
|
||||
```
|
||||
router.py (HTTP)
|
||||
↓
|
||||
addressing_service.py (비즈니스 로직)
|
||||
↓
|
||||
database.py (DB CRUD)
|
||||
```
|
||||
|
||||
✅ 311_FastAPI_구조_원칙.md 준수
|
||||
✅ 계층 간 책임 명확히 분리
|
||||
✅ 순환 참조 없음
|
||||
|
||||
---
|
||||
|
||||
## 향후 개선 사항
|
||||
|
||||
1. **calendar 스킬 통합**: 일정 조회 응답에도 호칭 포함
|
||||
2. **nickname 테스트**: metadata에 nickname 설정 후 테스트
|
||||
3. **감정 변화 테스트**: 연속 대화에서 감정에 따른 호칭 변화 확인
|
||||
4. **A/B 테스트**: 사용자 만족도 비교 (호칭 on/off)
|
||||
|
||||
---
|
||||
|
||||
## 교훈
|
||||
|
||||
1. **API 응답 구조 확인 필수**: 테스트 스크립트 작성 시 실제 응답 필드명 확인 필요
|
||||
2. **SQL 파라미터 바인딩**: INTERVAL 같은 SQL 키워드는 f-string으로 처리
|
||||
3. **로그 기반 디버깅**: docker logs로 실제 동작 확인 (Preferred name 로그)
|
||||
4. **TDD 효과**: 시나리오 먼저 작성 → 코드 구현 → 테스트 → 버그 수정 흐름 효과적
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user