Skip to content

[FIX] AI 응답 실패에 대한 풀백 처리 #44

Description

@minsoo0506

기능 수정

설명

AI 장애, OpenAI API 오류, timeout, 응답 파싱 실패, 비용 제한 등으로 AI summary를 생성하지 못하는 경우를 대비해 no-AI summary를 fallback으로 사용하도록 수정한다.

현재 사용자에게 제공되는 판정 이유는 AI가 생성한 자연어 summary에 의존한다. AI 호출이 실패하면 사용자는 판정 근거를 충분히 확인하기 어렵기 때문에, 기존 domain/content/threat DB/GSB 신호를 기반으로 만든 no-AI summary를 fallback 응답으로 내려준다.

기본 정책은 다음과 같다.

  • AI summary 생성 성공 시: AI가 만든 자연어 summary를 우선 사용
  • AI 호출 실패 또는 응답 없음 시: 신호 기반 no-AI summary를 fallback으로 사용
  • no-AI summary는 AI를 호출하지 않고 기존 분석 신호만 사용
  • 응답에는 AI 사용 여부 또는 fallback 여부를 구분할 수 있는 필드를 포함하는 방안을 검토

🗒 체크리스트

  • AI 실패 케이스에서 no-AI summary를 fallback으로 반환하도록 설계
  • AI 성공 시 기존 AI summary가 우선 사용되는지 확인
  • OpenAI timeout/API 오류/parse error/API key 없음 케이스 테스트 작성
  • fallback summary가 기존 분석 신호를 기반으로 생성되는지 확인
  • API 응답에서 fallback 사용 여부를 식별할 수 있는 방식 검토
  • Swagger/API 명세 업데이트 여부 확인

참고자료

  • [FEATURE] AI 비사용 분석 API 추가 #42 no-AI 분석 API
  • OpenPhish 100건 AI vs no-AI 비교 결과
    • AI 사용 API Recall: 95.38%
    • no-AI API Recall: 64.71%
  • 결론: 최종 판정에는 AI summary를 우선 사용하되, AI 장애나 비용 제한 상황에서는 no-AI summary를 fallback으로 사용한다.

Metadata

Metadata

Assignees

Labels

fix기능 및 버그 수정

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions