docs(troubleshooting): rb8001 콜드메일 밸류에이션 HOLD 표시 및 UNKNOWN 라우팅 개선안 기록 (251023)
This commit is contained in:
parent
325fe3da61
commit
74ffcb18f0
50
troubleshooting/251023_admin_rb8001_콜드메일_밸류에이션_UNKNOWN_의도.md
Normal file
50
troubleshooting/251023_admin_rb8001_콜드메일_밸류에이션_UNKNOWN_의도.md
Normal file
@ -0,0 +1,50 @@
|
||||
# rb8001 콜드메일 요약: 밸류에이션 고정 표기 및 UNKNOWN 라우팅 개선
|
||||
|
||||
**날짜**: 2025-10-23
|
||||
**작성자**: admin
|
||||
**관련 파일**: `rb8001/app/services/startup_valuation.py:433-456`, `rb8001/app/services/workflows/coldmail_workflow.py:124-127`, `rb8001/app/services/coldmail_processor.py:444-452`, `rb8001/app/brain/decision_engine.py:105-120`
|
||||
|
||||
---
|
||||
|
||||
## 문제 상황
|
||||
- 콜드메일 요약 메시지에 “IR자료: 30.0억원 (신뢰도 60%)”로 표기되어 밸류에이션이 ‘고정’처럼 인지됨.
|
||||
- 증거: `rb8001/logs/rb8001.log:66827-66830` — seed prior(30)만으로 Posterior 산출, IR 지표 없음 → `Insufficient IR metrics; ... HOLD` 로 기록.
|
||||
- 원인: `startup_valuation.py:433-456` — 증거 0개면 DB 저장을 보류(HOLD)하되 결과 수치 자체는 prior 기반으로 남음. 요약 메시지(`workflows/coldmail_workflow.py:124-127`)는 HOLD/근거 부재를 표시하지 않음.
|
||||
|
||||
- 스레드 후속 질문(“지에프 솔루션 … 설명해줘”, “30억 고정 이유”)이 UNKNOWN 의도로 처리되어 일반 답변으로 하향.
|
||||
- 증거: `rb8001/logs/rb8001.log:66861, 66916, 66920` — DecisionEngine UNKNOWN.
|
||||
- 원인: `decision_engine.py:114-120` — 웹검색/설명 패턴에 `.*대해서.*설명`은 있으나 “에 대해 설명해줘”/“설명해줘”/“이유”/“기업가치|밸류에이션|30억” 조합이 부재.
|
||||
|
||||
---
|
||||
|
||||
## 해결 방안
|
||||
1) 표시 개선(오해 방지)
|
||||
- `coldmail_processor.py:444-452`: 반환 dict에 `valuation_result.metadata`의 핵심 키를 포함하도록 확장: `status`(hold), `missing_fields`, `prior_components.stage_prior.median` 등.
|
||||
- `workflows/coldmail_workflow.py:124-127`: HOLD이면 “초안(HOLD·사전값 seed 30)”로 라벨링하고 범위(하한~상한)와 누락지표를 함께 표기. 예) `- 지에프솔루션: 초안(HOLD·seed 30) [필요: revenue, growth_rate, team_size]`.
|
||||
|
||||
2) 라우팅 보강(의도 인식 향상)
|
||||
- `decision_engine.py:114-120`(WEB_SEARCH) 및/또는 `decision_engine.py:105-109`(DOCUMENT_ANALYSIS) 패턴에 다음 추가:
|
||||
- `.*에 대해.*설명해줘`, `설명해줘`, `이유`, `(기업가치|밸류에이션|valuation|30억)`
|
||||
- 선택: 별도 Intent(예: `valuation_explain`)를 도입해 최근 평가 메타데이터를 근거로 “왜 30억인가(HOLD·seed prior)”를 설명하도록 연결.
|
||||
|
||||
3) 데이터 수집 루프(정확도 개선)
|
||||
- HOLD 시 누락 지표(revenue, growth_rate, team_size, tech_advantage)를 안내하고 입력(또는 파일 보강) 후 재평가를 트리거. Slack 버튼/모달은 향후 작업으로 분리 문서화.
|
||||
|
||||
---
|
||||
|
||||
## 재현/검증 절차
|
||||
- HOLD 확인: `rb8001/logs/rb8001.log`에서 `Insufficient IR metrics` 검색.
|
||||
- 예: `rg -n "Insufficient IR metrics" rb8001/logs/rb8001.log`
|
||||
- UNKNOWN 확인: 동일 로그에서 `의도 매칭 실패 - UNKNOWN` 검색.
|
||||
- 예: `rg -n "의도 매칭 실패 - UNKNOWN" rb8001/logs/rb8001.log`
|
||||
- 코드 기준선:
|
||||
- HOLD 라벨 미표시: `workflows/coldmail_workflow.py:124-127`
|
||||
- 설명/이유 패턴 부재: `decision_engine.py:114-120`
|
||||
|
||||
---
|
||||
|
||||
## 교훈
|
||||
- 지표 부재(HOLD) 상태의 수치 표기는 ‘초안’/‘사전값’/‘근거’와 함께 명시해 오해를 방지해야 한다.
|
||||
- 사용자 표현(“설명해줘/이유/30억/밸류에이션”)을 패턴에 반영하지 않으면 의도 인식 실패로 품질이 하락한다.
|
||||
- 로그 근거(KST, 파일/라인)와 코드 기준선을 함께 정리하면 재현/수정/검증 사이클이 빨라진다.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user