DOCS/journey/troubleshooting/251122_ir_representative_name_extraction_spec.md
Claude-51124 5f28de18fa docs: Coldmail Slack Lists 컬럼 매핑 및 IR 대표 이름 추출 스펙 문서 추가
- 251122_coldmail_slack_lists_column_mapping_spec.md: 컬럼 매핑 스펙 및 검증 시나리오
- 251122_ir_representative_name_extraction_spec.md: IR 문서 대표 이름 추출 설계
2025-11-22 22:57:15 +09:00

2.0 KiB

IR 문서 대표 이름 추출 스펙

날짜: 2025-11-22 작성자: Claude 관련 파일:

  • rb8001/app/services/ir_analyzer.py

요구사항

IR 문서에서 대표이사/CEO 이름을 추출하여 coldmail processor에서 "대표" 컬럼에 저장.


현재 상태

추출 필드 목록 (ir_analyzer.py:257-265)

  • company_name
  • business_area
  • investment_stage
  • revenue
  • growth_rate
  • team_size
  • tech_advantage

대표 이름 필드 없음

LLM 프롬프트 (ir_analyzer.py:296-304)

  • exact keys 목록에 representative_name 없음

설계

1. RAG 쿼리 추가

위치: ir_analyzer.py:257-265 queries 딕셔너리

추가 쿼리:

"representative_name": "이 회사의 대표이사 또는 CEO 이름은 무엇인가? (예: 홍길동, 김철수)"

2. LLM 프롬프트 키 추가

위치: ir_analyzer.py:296-304 prompt의 exact keys 목록

추가 키:

- representative_name: 대표이사 또는 CEO 이름 (: "홍길동", "김철수")

3. 반환 형식

타입: str 형식: 이름만 (예: "홍길동", "김철수") 없을 때: "N/A"


우선순위 정책

coldmail_processor.py에서 사용:

  1. IR 문서 representative_name (유효하면)
  2. From 헤더 contact_name (fallback)
  3. "없음" (둘 다 없을 때)

검증 기준

성공 케이스

  • IR 문서에 "대표이사: 홍길동" 명시 → representative_name = "홍길동"
  • IR 문서에 "CEO: 김철수" 명시 → representative_name = "김철수"

실패 케이스

  • IR 문서에 대표 이름 정보 없음 → representative_name = "N/A"
  • IR 문서 파싱 실패 → representative_name = "N/A"

구현 완료 조건

  • RAG 쿼리에 representative_name 추가
  • LLM 프롬프트에 representative_name 키 추가
  • 실제 IR 문서로 테스트 (대표 이름 있는 경우/없는 경우)
  • coldmail processor에서 IR representative_name 우선 사용