본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 26. 09:22

Flask로 리셀 관리 시스템을 혼자서 만든 이야기 (BUYMA × Buyandship)

요약

Flask와 AI/LLM을 활용하여 리셀 비즈니스 프로세스를 자동화한 시스템 구축 사례를 소개합니다. 상품 등록 파이프라인, 가격 스크레이핑, 주문 상태 머신 및 AI 챗봇 구현 과정을 다룹니다.

핵심 포인트

  • Flask 기반의 모듈형 아키텍처 설계 및 구현
  • Playwright와 프록시를 활용한 안정적인 가격 스크레이핑
  • Gemini, OpenAI, DeepSeek를 활용한 다단계 AI 챗봇 구성
  • TDD를 통한 시스템 안정성 확보 및 Webhook 연동

서론

BUYMA(바이마)와 Buyandship을 이용한 리셀(Resale) 비즈니스. 상품 등록, 가격 조정, 발주, 고객 대응…… 모든 것을 수작업으로 하면 하루가 다 지나가 버립니다.

저는 이 일련의 업무를 Flask Web 앱 + AI/LLM으로 자동화하는 시스템을 혼자서 만들었습니다.

본 기사에서는 이 atelier-kyo-manager의 설계와 구현을 해설합니다.

시스템 개요

atelier-kyo-manager (Flask App Factory)
├── Blueprint (6개 모듈)
│ analytics / orders / partners / products / misc / warehouse_webhook
...

시스템 아키텍처

주요 기능의 설계 사상

1. 상품 등록 파이프라인 자동화

이미지 수집 → AI 배경 제거 → AI 설명문 생성 → 상품 등록 텍스트 생성 을 일괄 실행:

# pipeline_service.py — 4단계를 직렬 실행
class PipelineService:
def execute(self, product_id: int):
...

고안 사항: rembg (AI 배경 제거)는 GPU가 필요하지 않습니다. CPU로 장당 5초 소요됩니다.

2. 가격 스크레이핑 (Playwright)

공급처 사이트의 가격을 헤드리스 브라우저(Headless Browser)로 자동 취득:

# price_scraper.py
class PriceScraper:
def __init__(self):
...

고안 사항:

  • 24시간 캐시로 중복 스크레이핑 방지
  • Cloudflare 감지 시의 에러 핸들링
  • 프록시 (Webshare/BrightData)를 경유하여 IP Ban 회피

3. 주문 상태 머신 (State Machine)

주문의 상태 전이를 자동 관리:

pending → sourcing → cart_added → checkout → payment_done → shipped → completed

각 상태의 타임아웃 및 자동 에스컬레이션(Escalation) 포함. 18일 규칙(결제 방법별 연장 기한)도 자동 계산:

결제 방법연장 기한
신용카드45일
...

4. AI 챗봇 (3단계 분류)

고객으로부터의 문의를 자동 분류:

FAQ 템플릿 매칭 → AI 답변 생성 → 에스컬레이션 판정
↓ ↓ ↓
즉시 자동 답장 | AI 생성 답변 | 수동 대응으로

사용 LLM: Gemini → OpenAI → DeepSeek (폴백(Fallback) 포함)

5. 창고 Webhook 연동

Forward2me (배송 대행 창고)의 화물 수령 이벤트를 Webhook으로 수신:

  • HMAC-SHA256 서명 검증으로 사칭 방지
  • 수령 사진의 자동 다운로드 및 관리
  • Slack 알림으로 즉시 상태 반영

테스트 전략

테스트 주도 개발 (TDD)로 품질을 담보:

76 tests passed, 0 failed
  • auth (10건) ・ pricing_rules (9건) ・ run_context (13건)
  • product (21건) ・ config_loader (9건) ・ notification_service (14건)

기술 선정 이유

기술이유
Flask경량이며 학습 비용이 낮음. AI 생성 코드와 궁합이 좋음
...

어려웠던 점

스크레이핑의 안정성

사이트마다 DOM 구조가 다름. Cloudflare에 의해 차단됨. → Playwright + 프록시 + 캐시로 안정화.

LLM 비용 관리

월간 15억 토큰 소비. → GLM-5.1 (메인) + MiniMax (폴백)의 2층 구조로 최적화.

18일 규칙의 복잡성

결제 방법, 발송 상황, 취소 여부에 따라 기한이 변함. → 상태 머신(State Machine)으로 일원 관리.

성과

예약 ~ 결제 플로우

  • 상품 등록 작업 시간: 수동 2시간 → 자동 15분
  • 가격 모니터링: 수동 확인 → 자동 스크레이핑 (1일 3회)
  • 고객 대응: 전량 수동 → 70% 자동 답장
  • 월간 작업 시간: 약 50% 절감

코드

관련 기사

  • Selenium → Playwright 이전을 통한 스크레이핑 안정화 — 가격 모니터링 스크레이핑 개선 기법
  • LINE Bot × Stripe × Cloudflare를 이용한 예약 시스템 구축 — 물품 판매 관리의 연장선에 있는 예약 관리
  • 공무원이 20개의 리포지토리(Repository)로 살아남는 전략 — 개인 개발 전체의 포트폴리오 전략

이 기사는 Claude Code(GLM-5.1)와 함께 작성되었습니다.

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0