docs: NAVER WORKS 브리핑 UX 개선 문서화
- 계획 문서 archive 이동 (구현 완료) - 트러블슈팅 문서 추가
This commit is contained in:
parent
724ed609b2
commit
d4be579021
96
journey/plans/archive/260121_naverworks_briefing_ux_개선.md
Normal file
96
journey/plans/archive/260121_naverworks_briefing_ux_개선.md
Normal file
@ -0,0 +1,96 @@
|
||||
# NAVER WORKS 일일 브리핑 UX 개선
|
||||
|
||||
**날짜**: 2026-01-21
|
||||
**작성자**: Claude (51124 서버 전담)
|
||||
**관련 파일**: `rb8001/app/services/skills/naverworks_briefing.py`
|
||||
|
||||
---
|
||||
|
||||
## 1. 현재 문제점
|
||||
|
||||
- "중요 메일 (0건)" + "중요 메일이 없습니다" 섹션이 대부분 0건으로 노출
|
||||
- "중요 메일 0건, 전체 6건" 하단 요약이 헤더와 중복
|
||||
- 사용자가 직접 메일 목록을 읽고 액션 아이템 판단 필요
|
||||
|
||||
## 2. 개선 목표
|
||||
|
||||
- 중요 메일 섹션 전체 제거 (키워드 기반 분류 신뢰도 낮음)
|
||||
- 하단 요약 문구 제거 (헤더에 이미 건수 존재)
|
||||
- LLM 1줄 인사이트 추가 ("회신 필요 1건, 안내/공지 5건" 형태)
|
||||
|
||||
## 3. 변경 사항
|
||||
|
||||
### 3.1 삭제 대상
|
||||
|
||||
| 위치 | 내용 | 이유 |
|
||||
|------|------|------|
|
||||
| naverworks_briefing.py:59-61 | `_filter_important_emails()` 호출 | 중요 메일 분류 제거 |
|
||||
| naverworks_briefing.py:64 | 중요 메일 요약 생성 | 불필요 |
|
||||
| naverworks_briefing.py:146-176 | `_filter_important_emails()` 메서드 | 미사용 |
|
||||
| naverworks_briefing.py:285-291 | Slack 블록 중요 메일 섹션 | 제거 |
|
||||
| naverworks_briefing.py:303-310 | 하단 요약 context 블록 | 헤더와 중복 |
|
||||
|
||||
### 3.2 추가 대상
|
||||
|
||||
| 위치 | 내용 |
|
||||
|------|------|
|
||||
| naverworks_briefing.py:_generate_summary() 전 | `_generate_insight()` 메서드 추가 |
|
||||
| naverworks_briefing.py:_format_slack_message() | 인사이트 1줄 블록 추가 (헤더 바로 아래) |
|
||||
|
||||
### 3.3 인사이트 프롬프트
|
||||
|
||||
```
|
||||
역할: 비서
|
||||
입력: 메일 목록 (발신자 + 제목)
|
||||
출력 형식: "회신 필요 N건, 결제/청구 N건, 안내/공지 N건"
|
||||
조건: 긴급 액션이 있으면 강조, 1줄로 요약
|
||||
예시: "오후 2시까지 회신 필요 1건, 결제 안내 1건, 일반 공지 4건"
|
||||
```
|
||||
|
||||
## 4. 변경 후 메시지 구조
|
||||
|
||||
```
|
||||
NAVER WORKS 일일 브리핑
|
||||
2026년 01월 21일 | info@company-x.partners
|
||||
────────────────────────────
|
||||
오후 2시까지 회신 필요 1건, 결제 안내 1건, 공지 4건 ← 인사이트 1줄
|
||||
────────────────────────────
|
||||
전체 메일 (6건)
|
||||
|
||||
• 피큐레잇 송석규: 2026년 새해 인사 및 소식 전달
|
||||
• 태일회계법인: 검증보고서 확정 완료...
|
||||
• (이하 생략)
|
||||
```
|
||||
|
||||
## 5. 구현 순서
|
||||
|
||||
1. `_filter_important_emails()` 호출 및 메서드 삭제
|
||||
2. `_generate_insight()` 메서드 추가 (발신자+제목만 전달)
|
||||
3. `_format_slack_message()` 수정 (중요 메일 블록 제거, 인사이트 블록 추가)
|
||||
4. pytest 테스트 작성 및 E2E 검증
|
||||
|
||||
## 6. 테스트 계획
|
||||
|
||||
### 6.1 pytest 자동 테스트 (필수)
|
||||
|
||||
| 파일 | 테스트 항목 |
|
||||
|------|------------|
|
||||
| `tests/test_naverworks_briefing.py` | `_generate_insight()` 출력 형식 검증 |
|
||||
| `tests/test_naverworks_briefing.py` | `_format_slack_message()` 블록 구조 검증 |
|
||||
|
||||
### 6.2 E2E 검증 (배포 후)
|
||||
|
||||
```bash
|
||||
# 컨테이너 내부 pytest 실행
|
||||
docker exec rb8001 pytest tests/test_naverworks_briefing.py -v
|
||||
|
||||
# 실제 Slack 전송 확인 (수동)
|
||||
docker exec rb8001 python scripts/show_briefing.py
|
||||
```
|
||||
|
||||
### 6.3 검증 항목
|
||||
|
||||
- [ ] 중요 메일 섹션 미노출
|
||||
- [ ] 하단 요약 문구 미노출
|
||||
- [ ] 인사이트 1줄 노출
|
||||
- [ ] 전체 메일 목록 정상 노출
|
||||
37
journey/troubleshooting/260121_naverworks_briefing_ux_개선.md
Normal file
37
journey/troubleshooting/260121_naverworks_briefing_ux_개선.md
Normal file
@ -0,0 +1,37 @@
|
||||
# NAVER WORKS 브리핑 UX 개선 - 중요 메일 섹션 제거, 1줄 인사이트 추가
|
||||
|
||||
**날짜**: 2026-01-21
|
||||
**작성자**: Claude (51124 서버 전담)
|
||||
**관련 파일**: `rb8001/app/services/skills/naverworks_briefing.py`
|
||||
|
||||
---
|
||||
|
||||
## 문제 상황
|
||||
|
||||
- "중요 메일 (0건)" + "중요 메일이 없습니다" 섹션이 대부분 0건으로 노출
|
||||
- "중요 메일 0건, 전체 6건" 하단 요약이 헤더와 정보 중복
|
||||
- 사용자가 직접 메일 목록을 읽고 액션 아이템 판단 필요
|
||||
|
||||
## 해결 방안
|
||||
|
||||
- naverworks_briefing.py:59-61: `_filter_important_emails()` 호출 삭제
|
||||
- naverworks_briefing.py:146-176: `_filter_important_emails()` 메서드 삭제
|
||||
- naverworks_briefing.py:141-176: `_generate_insight()`, `_call_llm_for_insight()` 메서드 추가
|
||||
- naverworks_briefing.py:248-298: `_format_slack_message()` 시그니처 변경 (insight, all_summary, all_count)
|
||||
- tests/test_naverworks_briefing.py: pytest 테스트 8개 추가
|
||||
|
||||
## 구현 완료
|
||||
|
||||
- 커밋: 3afb9c9
|
||||
- 배포: Gitea Actions 자동 배포 완료
|
||||
- 테스트: 8 passed
|
||||
|
||||
## 교훈
|
||||
|
||||
### TDD 프로세스 준수
|
||||
- Red → Green → Refactor 순서로 진행하여 기능 누락 방지
|
||||
- 테스트 작성 시 아직 구현되지 않은 메서드 검증으로 명확한 구현 목표 설정
|
||||
|
||||
### UX 개선 시 정보 중복 제거 우선
|
||||
- 동일 정보가 여러 곳에 노출되면 사용자 피로도 증가
|
||||
- 핵심 인사이트 1줄로 사용자 인지 부하 감소
|
||||
Loading…
x
Reference in New Issue
Block a user