DOCS/troubleshooting/251014_coldmail_ir_analysis_scenario.md

3.1 KiB
Raw Blame History

콜드메일 IR 자동 분석 시나리오

날짜: 2025-10-14 작성자: happybell80 관련 파일: rb8001/app/scheduler/jobs/coldmail_briefing.py


최종 목표 시나리오

평일 오전 9시 5분 자동 실행

  1. NAVER WORKS 메일 중 콜드메일 감지 (Naive Bayes)
  2. IR 첨부파일(PDF) 다운로드
  3. skill-rag-file에 업로드 → 51123 HDD 영구 저장
  4. AI 분석 실행:
    • 페이지별 요약 (27페이지 → 핵심 내용)
    • 기업 평가 (사업분야, 재무, 강약점)
    • 베이지안 투자 확률 계산 (0~100%)
  5. Slack Lists에 정리된 보고서 첨부:
    • 회사명, 이메일, IR 파일
    • 투자 확률, 밸류에이션, 핵심 평가
  6. Slack 채널에 요약 메시지 + 피드백 버튼

구현 완료 (2025-10-14)

파일 처리

  • coldmail_briefing.py:75-263: 전체 플로우
  • naverworks_file_processor.py:94-135: PDF 다운로드 → skill-rag-file 업로드
  • 파일 영속성: SSHFS allow_other 해결 (251014_skill-rag-file_sshfs_allow_other_해결.md)

AI 분석 기능

  • ir_analyzer.py:86-168: extract_ir_metrics() - RAG 6회 쿼리 → LLM 요약
  • startup_valuation.py:63-173: valuate_startup() - 베이지안 VC Method

Slack 통합

  • coldmail_briefing.py:176-248: Slack Lists 아이템 생성
  • coldmail_briefing.py:221-247: 피드백 버튼 ( 맞음 / 아님)
  • coldmail_filter.py:29-76: Naive Bayes 학습 루프

미구현 및 버그

버그: LLM JSON 파싱 (ir_analyzer.py:156 마크다운 블록 처리) 미구현: Slack Lists 파일 첨부 (coldmail_briefing.py:207), 분석 결과 메시지 (coldmail_briefing.py:255)


분석 결과 예시 (굿베이션)

파일: 27페이지, 4.7MB → 14 chunks

기업: 굿베이션 (IT 인테리어 플랫폼) / 설립 7개월 / 팀 4명 / 자본 2억

강점: 시장 문제 인식, IT 차별화, 24조 시장 약점: 실적 전무, 소규모 팀, 자본 부족, 경쟁사 존재

베이지안 투자 확률: 0%

  • 기본: 7.3% (Pre-A 15% × 밸류 70% × 신뢰도 70%)
  • 리스크: -35% (실적-30%, 팀-20%, 자본-20%, 기타+15%)

의견: 투자 권장 안함 / MVP + 매출 + 인력 보강 시 60%


구현 계획

우선순위 1: LLM JSON 파싱 에러

  • ir_analyzer.py:153-156: llm_response 마크다운 블록(```json) 제거
  • strip("json"), strip(""), strip() 순차 적용

우선순위 2: Slack 메시지 포맷

  • coldmail_briefing.py:255: summary_text에 IR 분석 결과 추가
  • ir_metrics (business_area, revenue), valuation_result (median, probability) 포함

우선순위 3: Slack Lists 파일 첨부

  • 상세: 251014_slack_lists_file_attachment.md
  • coldmail_briefing.py:207: document_id → Slack file_id 변환 필요

교훈

전체 시나리오 문서화 중요성

  • 개별 기능은 작동하나 최종 목표 불명확
  • 교훈: 전체 시나리오 문서를 먼저 작성 후 세부 구현

LLM 응답 형식 검증 부족

  • LLM이 마크다운 블록(```json)으로 응답 → JSON 파싱 실패
  • 교훈: LLM 응답은 항상 전처리 필요