diff --git a/journey/troubleshooting/251216_coldmail_processing_improvements.md b/journey/troubleshooting/251216_coldmail_processing_improvements.md index 8d8e09c..5d8f5f7 100644 --- a/journey/troubleshooting/251216_coldmail_processing_improvements.md +++ b/journey/troubleshooting/251216_coldmail_processing_improvements.md @@ -42,6 +42,22 @@ - 7개 파일, 9개 위치에서 중복 코드 제거 (90줄 절약) - 다양한 LLM 응답 형식 자동 처리 (코드 블록, 설명 텍스트 등) +## 잘못된 부분 수정 (2025-12-22) + +### 문제 +- `skip_ir_analysis=True`일 때 IR 분석을 건너뛰면서 `email_metadata`도 저장되지 않음 +- 확인 버튼 클릭 시 첫 처리에서 추출한 정보(company_name, representative_name, date)를 재사용할 수 없어 리스트에 "Unknown", "없음", 날짜 없음으로 등록됨 + +### 해결 +- `ir_valuation_repository.py`: `save_email_metadata_only()` 함수 추가 +- `coldmail_processor.py:490-502`: `skip_ir_analysis=True`일 때도 `email_metadata` 저장 (company_name, representative_name 포함) +- `coldmail_service.py:75-99`: 확인 버튼 클릭 시 저장된 `email_metadata`에서 정보 불러와서 사용 + +### 올바른 플로우 +1. 이메일 수신 → 베이지안 학습 +2. 신뢰도 95% 이상: `email_metadata` 저장 → 리스트 등록 +3. 신뢰도 95% 이하: 확인 버튼 전송 → "예" 클릭 시 `email_metadata` 저장 → 리스트 등록 + ## 교훈 1. **신뢰도 기반 분기**: LLM 필터링 결과의 신뢰도를 활용하여 사용자 개입 최소화 @@ -49,6 +65,7 @@ 3. **사용자 확인 프로세스**: 불확실한 경우 확인 버튼으로 검증 후 처리 4. **유틸리티 함수 우선**: 중복 코드는 공통 유틸리티 함수로 추출하여 재사용 5. **API 호출 최적화**: 이미 조회한 데이터는 재사용 (`skip_email_detail`, `document_id` 재사용) +6. **저장과 분석 분리**: IR 분석 스킵과 `email_metadata` 저장은 별개 작업. 분석 없이도 메타데이터는 저장해야 함 ## 관련 문서