전 세계 RFQ를 검증된 바이어 리드로 바꾸는 아웃바운드 엔진
7개 B2B 소싱 사이트에서 RFQ를 지속 수집하고, AI로 분류·중복 제거·연락처 검증을 거쳐 영업 담당(VA)에게 일 600~1,000건의 고품질 리드를 테이블로 제공합니다. inbound 영업을 proactive lead engine으로 전환하는 내부 플랫폼.
입력 소스 — 7개 B2B 소싱 사이트
각 사이트는 봇 차단 방식이 달라 소스별 전용 스크레이핑 전략을 사용합니다. DynamoDB 기반 Circuit Breaker가 소스별로 동작해 5회 연속 실패 시 자동 비활성화하고, 6시간마다 쿠키를 리프레시합니다.
| 소스 | 수집 전략 | 상태 |
|---|---|---|
| Made-in-China | curl_cffi | Phase 1 |
| TradeWheel | curl_cffi | Phase 1 |
| EC21 | curl_cffi | Phase 1 |
| BeauteTrade | Patchright | Phase 1 |
| TradeKey | sitemap | Phase 1 |
| BeautySourcing | supplier acct | Phase 4 |
| Go4World | Camoufox · KR IP | Phase 4 |
수집부터 검증까지, 5단계 파이프라인
EventBridge 크론으로 시작해 Aurora pgvector에 적재되기까지, 각 단계가 독립적으로 동작하며 자동 복구·중복 제거·비용 게이트를 갖춥니다.
[ 7개 소스 ] │ EventBridge Scheduler (소스별 cron · 5분 flex window) ▼ Lambda / Fargate 스크레이퍼 ── curl_cffi · Patchright · Camoufox │ Circuit Breaker (DynamoDB · 5회 실패 시 차단) ▼ SQS Standard ──► raw HTML → S3 (CMK 암호화 · 30일 후 Glacier) │ ▼ Step Functions — Distributed Map (소스별 DAG 병렬) ├─ ① Normalize raw HTML → title·country·quantity·description ├─ ② Embed Gemini embedding → halfvec(1536) └─ ③ Dedup pgvector cosine + SQS FIFO + advisory lock ▼ Aurora Serverless v2 + pgvector 0.8 ── UNIQUE(source, url) ON CONFLICT │ ├──► ④ Classifier Haiku 4.5 · Batch API (15분 cron submitter→poller) │ is_beauty = high / medium / low / no (배치 50% 비용 절감) │ └──► ⑤ Research Agent VA "Find email" 클릭 (Server Action) Sonnet 4.6 오케스트레이터 → Haiku 4.5 워커 병렬 (extended thinking) tools: serper_search · web_fetch · verify_email · submit_finding Reoon → ZeroBounce 검증 → enrichments INSERT (citation 필수) │ ▼ Postgres NOTIFY → SSE Next.js VA 워크스페이스 ── <60초 내 검증된 이메일·전화·도메인 표시
수집 (Ingestion)
Made-in-China·TradeWheel·EC21·BeauteTrade·TradeKey 등 소스별 스크레이퍼가 크론으로 RFQ를 긁어옵니다. Chrome TLS 임퍼소네이션과 헤드리스 브라우저로 봇 차단을 우회하고, 소스별 Circuit Breaker가 연속 실패 시 자동 비활성화.
정규화 & 임베딩
Step Functions Distributed Map이 raw HTML을 표준 RFQ 구조로 정규화하고, Gemini로 1536차원 halfvec 임베딩을 생성합니다.
중복 제거 (Dedup)
pgvector 코사인 유사도로 동일 RFQ를 탐지하고, SQS FIFO + Postgres advisory lock으로 소스별 직렬화해 race를 방지합니다. 같은 바이어의 여러 RFQ는 buyer cluster로 묶어 중복 메일 발송을 차단.
AI 분류 (Classifier)
Claude Haiku 4.5가 Anthropic Batch API로 RFQ가 대상 산업군에 해당하는지 high/medium/low/no로 분류합니다. 배치 처리로 50% 비용 절감, 15분 크론 submitter/poller 구조로 디커플링.
연구 에이전트 (Enrichment)
VA가 "Find email"을 누르면 Sonnet 4.6 오케스트레이터가 Haiku 워커를 병렬로 띄워 Serper 검색·web_fetch로 의사결정자 이메일·전화·도메인을 찾고, Reoon→ZeroBounce로 검증해 60초 안에 SSE로 화면에 푸시합니다.
핵심 기능
스크레이핑·AI·운영을 하나의 모노레포로 묶어, 데이터 품질과 비용을 동시에 관리합니다.
멀티소스 스크레이핑
7개 B2B 소싱 사이트를 소스별 어댑터로 수집. WAF·쿠키·sitemap 등 각 사이트 특성에 맞춘 전략과 6시간 쿠키 리프레시.
2단계 AI 파이프라인
Stage-1 Haiku 분류기 + Stage-2 Sonnet/Haiku 연구 에이전트. extended thinking과 인용(citation) 기반으로 검증 가능한 결과만 저장.
이메일 검증 캐스케이드
Reoon 사전 필터 → ZeroBounce 본검증으로 catch-all·role·invalid 상태를 구분. 도메인별 30일 캐시 + 반송 피드백으로 품질 유지.
실시간 VA 워크스페이스
canonical RFQ 테이블 + Saved Views 탭, Cmd-K 팔레트, j/k/e/c 키보드 단축키. 우측 패러렐 라우트 Sheet로 enrichment 상세 확인.
셀프 힐링 & DR
셀렉터가 깨지면 Opus 4.7이 CSS 셀렉터를 자동 패치. S3 raw HTML 리플레이로 재해 복구, drift canary가 필드별 null rate를 감시.
비용·보안 가드레일
Cost Anomaly $700/월 하드 컷오프 + killswitch Lambda, CloudWatch 이메일 마스킹, Google Workspace OIDC(hd 강제), KMS CMK 암호화.
아키텍처 — 3개 워크스페이스, 하나의 Aurora
웹·워커·인프라가 독립적으로 배포되며 단일 Aurora Postgres를 공유합니다. (pnpm 11 모노레포)
- App Router · RSC · Server Actions
- VA 리드 테이블 · TanStack Table/Virtual
- Drizzle ORM · RDS Proxy 경유
- Auth.js v5 · Google OIDC
- SSE 실시간 enrichment 푸시
- App Runner 배포 · WAFv2
- 소스별 스크레이퍼 7종
- Haiku 분류기 · Batch API
- Gemini 임베더 · asyncpg
- Sonnet+Haiku 연구 에이전트
- 셀프 힐러 · Opus 4.7
- Lambda(SnapStart) · Fargate Spot
- Network · Data · Secrets
- Aurora Serverless v2 · scale-to-zero
- RDS Proxy · S3(CMK) · ECR
- EventBridge · Step Functions · SQS
- Observability · Cost Anomaly
- Secrets Manager + SSM
2026 최신 스택
프론트·백엔드·AI·인프라 모두 현행 최신 버전 기준.
Frontend
Workers (Python)
AI Models
AWS Infra
실제 배포 현황
AWS 계정 793175550504 서울 리전에서 프로덕션 가동 중. 아래는 실제 배포된 리소스를 전수 조회(2026-06-22)한 결과로, PLAN 문서 대비 멀티산업·멀티리전으로 크게 확장되어 있습니다.
| 서비스 | 배포 상태 |
|---|---|
| Lambda | 50개 가동 |
| Aurora Serverless v2 | available |
| Step Functions | STANDARD |
| SQS | 17개 |
| EventBridge Scheduler | 61개 |
| DynamoDB | 1개 |
| S3 | 5개 |
| 웹 호스팅 | Lambda + CloudFront |
| Secrets / SSM | Secrets Mgr 2 · SSM ~19 |
| RDS Proxy | 미배포 |
PLAN 문서 대비 실제 진화
멀티리전 소스 확장
뷰티 7종을 넘어 Alibaba·ExportersIndia·GlobalBuyers·TradeKorea와 일본(Rakuten·Yahoo·Cosme·CITE), 규제 DB(KR MFDS·China NMPA·US FDA·Malaysia NPRA·Taiwan TFDA·BPOM)까지 수집.
분류·임베딩 다변화
Claude Haiku Batch 분류기에 더해 Qwen 분류기·임베더(rfq-qwen-classify·rfq-gemini-embed) 병행. self-heal은 Opus(rfq-selfheal-opus)로 가동.
검증·우회 스택 교체
이메일 검증은 ZeroBounce 대신 MillionVerifier. 캡차는 Capsolver, 프록시는 Webshare로 운영 — 실전 안티봇 대응에 맞춰 조정.
빌드 로드맵
각 페이즈는 검증 게이트를 통과해야 다음으로 넘어갑니다.
Foundation — Next.js 16 + Aurora + Google 로그인, CDK 스택, KMS·Drizzle 마이그레이션, CSP·rate-limit, 비용 killswitch.
✓ Hojin 로그인 성공 · 외부 도메인 거절Ingestion — 5개 소스 스크레이퍼, Circuit Breaker, 쿠키 리프레시, /sources 페이지, 24시간 실증 수집.
✓ 24h 후 1,000+ rows · DLQ 없음AI Pipeline — Batch 분류기, Distributed Map(정규화→임베딩→dedup), 연구 에이전트 + SSE, buyer cluster.
✓ "Find email" 클릭 60초 내 검증 이메일Polish & Ops — 셀프 힐러, DR 리플레이, CSV 내보내기+감사, Saved Views·Cmd-K, RUNBOOK·LIA 문서.
✓ Clean clone → 배포+로그인 < 2hExpansion — BeautySourcing·Go4World 소스, Smartlead/Instantly 아웃리치 연동, 한국어 UI, 멀티테넌트 제품화.