Shopify는 수백만 개의 비정형 커머스 데이터(상점 페이지, 정책 등)를 구조화된 데이터로 변환하기 위해 One-Shot LLM 방식에서 DSPy 기반의 전문화된 멀티 에이전트(Multi-Agent) 아키텍처로 전환했습니다. 이 과정에서 GPT-4/5급 대형 모델 대신 자체 호스팅된 Qwen(32B/72B급) 모델과 DSPy의 Japa 옵티마이저를 활용하여, 비용은 75배 절감하면서도 데이터 추출 품질은 2배 향상시키는 성과를 거두었습니다. 특히 단일 에이전트보다 특정 목적(사기 탐지, 상점 프로파일링 등)에 특화된 서브 에이전트 구조가 성능 향상에 결정적이었음을 보여줍니다.


second 요약

심층 분석 (Deep Dive)

1. 문제 배경: 비정형 데이터의 홍수

Shopify는 머천트에게 극도의 유연성을 제공합니다. 이는 상점마다 HTML 구조, 언어, 정책 표기 방식이 모두 제각각임을 의미합니다. "이 상점이 휴대폰을 파는가?", "반품 정책은 무엇인가?"와 같은 단순한 질문조차 전사적으로 표준화된 답변을 얻기 매우 어려웠습니다.

2. 솔루션의 진화 과정
  • 단계 1: One-Shot LLM (초기 접근)
    • 상점의 주요 페이지 텍스트를 추출해 GPT-4(이후 5)에 전달하고 스키마 추출을 요청함.
    • 한계: 컨텍스트 윈도우 제한으로 모든 페이지를 보낼 수 없음(반품 정책 페이지가 누락되면 답변 불가). 필드가 추가될수록 프롬프트가 취약(Fragile)해지고 비용이 기하급수적으로 상승.
  • 단계 2: 에이전틱(Agentic) 접근 및 DSPy 도입
    • LLM에게 모든 데이터를 주는 대신, 상점을 탐색하고 필요한 정보를 스스로 찾는 '도구(Browsing, Investigation)'를 부여한 ReAct 에이전트 구조로 변경.
    • 이 과정에서 DSPy를 도입하여 프롬프트의 수동 튜닝 대신 프로그래밍 방식의 최적화를 시도함.
  • 단계 3: 전문화된 서브 에이전트(Specialized Sub-Agents)
    • 단일 에이전트가 모든 목적(사기, 세금, 프로파일링)을 수행하는 대신, 세 가지 전문 에이전트로 분리.
    • Fraud Agent: 외부 리뷰 사이트 검색 도구 활용.
    • Profile Agent: 내부 정책 파싱에 집중.
    • 각 에이전트는 독립적으로 DSPy를 통해 최적화되며, 상호 간섭 없이 성능을 개선할 수 있는 구조를 확보함.
3. 기술적 해결책: Eval Reliability & Snapshotting

에이전트가 실시간 웹사이트를 크롤링할 경우, 사이트 내용이 변하면 평가 데이터셋(Golden Dataset)의 신뢰도가 깨집니다. Shopify는 이를 해결하기 위해 'ShopNap' 이라는 스냅샷 서비스를 구축했습니다.

  • 레이블링 시점의 상점 상태를 정적으로 고정(Frozen context).
  • DSPy 옵티마이저는 이 고정된 스냅샷 위에서 실행되어 재현 가능한 평가와 학습을 보장함.
4. 인프라 아키텍처

효율적인 처리를 위해 3개 계층으로 분리하여 운영합니다.

  • Batch Layer (Flink): 일일 15만 개 이상의 상점 처리 요청 관리.
  • Agent Layer (Kubernetes): CPU 기반 클러스터에서 에이전트 로직, HTML 파싱, 도구 호출 수행.
  • LLM Layer (GPU Cluster): vLLM 등을 통해 자체 호스팅된 Qwen 모델 제공.

주요 데이터 및 벤치마크

Shopify가 밝힌 아키텍처 전환 전후의 성능 및 비용 비교 수치입니다.

항목 One-Shot (GPT-5 추정) Agentic + DSPy + Qwen
비용 (Cost) 기준점 (High) 1/75 수준으로 절감
품질 (Quality) 기준점 약 2배 (100% 향상)
상점 커버리지 일부 (비용 문제로 제한) 전체 상점 (Full Coverage)
확장성 신규 필드 추가 시 전체 재검증 필요 서브 에이전트 추가로 간단히 확장
핵심 교훈
  1. Monolithic vs specialized: 복잡한 작업일수록 단일 에이전트보다 관심사 분리(Separation of Concerns)가 적용된 서브 에이전트가 유리함 [21:59].
  2. Architecture over Tuning: 개별 프롬프트 문구를 고치는 것보다 올바른 시스템 아키텍처를 잡고 자동화된 최적화(DSPy)를 적용하는 것이 지속 가능한 성능을 보장함 [23:24].
  3. Small Models Win: 특정 도메인 작업에서는 최적화된 중소형 모델(Self-hosted)이 범용 대형 모델보다 가성비와 성능 모두에서 앞설 수 있음 [23:54].