Fact Book Mode 품질 체크리스트

목적: Fact Book Mode 분석 결과의 품질·재현성·검증성 보증

적용: 모든 Fact Book Mode 실행 후 자동 검증

확대: 2026-02-19


✅ Phase 1: 사전 체크 (Pre-execution)

1.1 Fact Book 버전 확인

□ Fact Book 존재 여부
  - 캐시 키: `semiconductor_ai_factbook_YYYY_MM`
  - 현재 버전: 2026_02
  - 최종 갱신: 2026-02-19

□ Fact Book 신선도
  - TTL: 30일 이내
  - 만료 시: 자동 갱신 트리거

□ 버전 호환성
  - Schema v1.0 호환
  - 9개국 데이터 완전성

자동 검증 코드:

def check_factbook_version():
    cache_key = f"semiconductor_ai_factbook_{datetime.now().strftime('%Y_%m')}"
    factbook = cache.get(cache_key)
    
    if not factbook:
        return {"status": "FAIL", "reason": "Fact Book not found"}
    
    age_days = (datetime.now() - factbook['updated_at']).days
    if age_days > 30:
        return {"status": "WARNING", "reason": f"Fact Book {age_days} days old"}
    
    if len(factbook['countries']) < 9:
        return {"status": "FAIL", "reason": f"Only {len(factbook['countries'])} countries"}
    
    return {"status": "PASS", "factbook_version": cache_key, "age_days": age_days}

✅ Phase 2: 실행 중 모니터링 (During Execution)

2.1 Agent 실행 순서 추적

□ Agent_FB 실행 여부
  - 최초 생성: 2.5-3.5시간
  - 캐시 사용: 30분
  - 실행 시간 기록

□ Agent_1~5 실행 완료
  - 각 Agent 타임스탬프
  - Confidence Score > 0.7
  - 에러 발생 여부

□ Agent 간 데이터 전달
  - Agent_FB → Agent_1~5
  - Fact Book Section 참조 여부

✅ Phase 3: 분석 결과 검증 (Post-execution)

3.1 핵심 규칙 검증

Rule 1: Fact Book Section 참조 의무 ⭐

□ 모든 정량 데이터에 [Section X.Y] 표기
  - 예: "TSMC 92% [Section 2.1]"
  - 금지: "TSMC 약 90%", "TSMC ~90%"

□ Section 형식 검증
  - 정규표현식: \\[Section \\d+\\.\\d+\\]
  - 허용: [Section 2.1], [Section 2.3.1]
  - 금지: [Fact Book], [출처 3], [2.1]

자동 검증: