개발 slecs

검증 안 된 수량 데이터 자동 수정에서 제외

목차

SEO 자동 수정 봇이 검증되지 않은 수량 주장을 무작정 처리하려니, LLM이 계속 불확실한 상태로 빠지는 문제가 있었다. 이번 작업에서는 애초에 검증 실패한 수량 데이터는 자동 수정 대상 자체에서 제외하는 규칙을 추가해서 문제를 근본 차단했다.

왜 이 문제가 발생했나

데이터 기반의 자동화를 할 때, 특히 SEO처럼 정확성이 중요한 영역에서는 입력 데이터의 신뢰도가 결과를 좌우한다. 우리 봇의 경우, 웹 페이지에 "500개의 제품 보유", "3년 경력" 같은 수량 주장들이 산재되어 있는데, 이걸 LLM에 그대로 넘겨서 수정하려고 하다 보니 문제가 터졌다.

  • 검증 단계의 불완전함: 모든 수량 데이터가 신원 확보되지 않음 (실제 DB 대조 없이 크롤링 데이터만 있음)
  • LLM의 판단 부담: 확실하지 않은 데이터에 대해 "이게 맞나?" 상태로 계속 고민
  • 신뢰도 저하: 자동화의 신뢰도 메트릭이 떨어지고, 수동 리뷰 케이스가 쌓임

결국 "검증이 안 된 데이터는 처리하지 말자"는 단순하지만 강력한 원칙이 필요했다.

간단한 해결책, 강력한 효과

이 수정은 scripts/bot-action-worker.py 레벨에서 룰을 하나 추가한 것이다. 개념적으로는 매우 직관적이다:

수량 주장을 처리하기 전에 검증 상태 확인
 ↓
검증 = PASS → 처리 진행
검증 = FAIL → 스킵 (버뜨나 애플리케이션 로그 기록)

실제 구현 패턴으로는, 처리 파이프라인의 게이트키퍼 역할을 하는 필터를 추가했다. 이렇게 하면:

  • LLM에 도달하는 데이터 품질 향상: unsure 상태가 거의 발생하지 않음
  • 처리 거부 이유가 명확: "이건 검증 실패니까 건너뛴다" vs "LLM이 판단 못 했다"는 구분 가능
  • 자동화의 경계 명확화: 시스템이 할 수 있는 것 / 없는 것을 코드에서 직접 선언

팀 의사결정: 할 수 없는 일은 하지 않기

이런 변경은 단순히 버그 수정이 아니라, 자동화의 범위를 재정의하는 의사결정이다.

초기에는 "모든 수량 주장을 최대한 수정하려고" 했다면, 이제는 "검증된 데이터만 건드린다"로 우선순위가 바뀐 것이다. 팀 관점에서는:

  1. 더 안정적인 배포: 불확실한 변경을 덜 내보냄 → 오류율 감소 → 신뢰도 상승
  2. 수동 리뷰 비용 절감: 엣지 케이스 처리에 쏟던 시간을 다른 룰 개선에 투입 가능
  3. 명확한 오너십: "이 케이스는 자동화 범위 밖입니다" 라고 명확히 답변 가능

실제로 이런 "경계선 명확화"는 데이터 자동화에서 자주 만나는 트레이드오프다. 범위를 줄이면 신뢰도는 올라가지만, 커버리지는 떨어진다. 하지만 낮은 신뢰도로 많은 데이터를 처리하는 것보다, 높은 신뢰도로 정해진 범위만 처리하는 게 장기적으로 훨씬 건강하다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.