Perjalanan Shopify dalam Menstrukturkan Data: Dari One-Shot LLM ke Arsitektur Agentic berbasis DSPy
(youtube.com)Shopify beralih dari pendekatan One-Shot LLM ke arsitektur Multi-Agent terspesialisasi berbasis DSPy untuk mengubah jutaan data commerce tak terstruktur (halaman toko, kebijakan, dll.) menjadi data terstruktur. Dalam proses ini, alih-alih memakai model besar kelas GPT-4/5, mereka memanfaatkan model Qwen (kelas 32B/72B) yang di-host sendiri dan optimizer Japa dari DSPy, sehingga berhasil menurunkan biaya 75 kali lipat sekaligus meningkatkan kualitas ekstraksi data 2 kali lipat. Secara khusus, ini menunjukkan bahwa struktur sub-agent yang dioptimalkan untuk tujuan tertentu (deteksi penipuan, profiling toko, dll.) lebih menentukan peningkatan performa dibanding agent tunggal.
Analisis mendalam (Deep Dive)
1. Latar belakang masalah: Banjir data tak terstruktur
Shopify memberikan fleksibilitas ekstrem kepada merchant. Ini berarti struktur HTML, bahasa, dan cara penulisan kebijakan berbeda-beda di setiap toko. Bahkan untuk pertanyaan sederhana seperti "Apakah toko ini menjual ponsel?" atau "Apa kebijakan pengembaliannya?", sangat sulit memperoleh jawaban yang distandardisasi secara menyeluruh di seluruh perusahaan.
2. Proses evolusi solusi
- Tahap 1: One-Shot LLM (pendekatan awal)
- Teks dari halaman-halaman utama toko diekstrak lalu dikirim ke GPT-4 (kemudian 5) untuk meminta ekstraksi skema.
- Keterbatasan: Karena batas context window, tidak semua halaman bisa dikirim (jika halaman kebijakan pengembalian terlewat, jawaban tidak bisa diberikan). Semakin banyak field yang ditambahkan, prompt menjadi rapuh (Fragile) dan biaya meningkat secara eksponensial.
- Tahap 2: Pendekatan agentic dan adopsi DSPy
- Alih-alih memberikan semua data ke LLM, arsitektur diubah menjadi agent ReAct yang dibekali 'alat (Browsing, Investigation)' untuk menjelajahi toko dan mencari sendiri informasi yang dibutuhkan.
- Dalam proses ini, DSPy diperkenalkan untuk mencoba optimasi terprogram alih-alih tuning prompt manual.
- Tahap 3: Sub-agent terspesialisasi (Specialized Sub-Agents)
- Daripada satu agent menangani semua tujuan (penipuan, pajak, profiling), sistem dipisah menjadi tiga agent spesialis.
- Fraud Agent: Memanfaatkan alat pencarian situs ulasan eksternal.
- Profile Agent: Berfokus pada parsing kebijakan internal.
- Setiap agent dioptimalkan secara independen melalui DSPy, sehingga tercipta struktur yang memungkinkan peningkatan performa tanpa gangguan antar-agent.
3. Solusi teknis: Eval Reliability & Snapshotting
Jika agent merayapi situs web secara real-time, keandalan dataset evaluasi (Golden Dataset) akan rusak ketika isi situs berubah. Untuk mengatasinya, Shopify membangun layanan snapshot bernama 'ShopNap'.
- Kondisi toko pada saat pelabelan dibekukan secara statis (Frozen context).
- Optimizer DSPy dijalankan di atas snapshot tetap ini untuk menjamin evaluasi dan pelatihan yang dapat direproduksi.
4. Arsitektur infrastruktur
Untuk pemrosesan yang efisien, sistem dioperasikan dengan pemisahan menjadi 3 layer.
- Batch Layer (Flink): Mengelola lebih dari 150 ribu permintaan pemrosesan toko per hari.
- Agent Layer (Kubernetes): Menjalankan logika agent, parsing HTML, dan pemanggilan alat pada cluster berbasis CPU.
- LLM Layer (GPU Cluster): Menyediakan model Qwen yang di-host sendiri melalui vLLM, dll.
Data utama dan benchmark
Berikut angka perbandingan performa dan biaya sebelum dan sesudah peralihan arsitektur yang diungkap Shopify.
| Item | One-Shot (estimasi GPT-5) | Agentic + DSPy + Qwen |
|---|---|---|
| Biaya (Cost) | Titik acuan (High) | Turun ke level 1/75 |
| Kualitas (Quality) | Titik acuan | Sekitar 2x (peningkatan 100%) |
| Cakupan toko | Sebagian (terbatas karena biaya) | Semua toko (Full Coverage) |
| Skalabilitas | Perlu validasi ulang keseluruhan saat field baru ditambahkan | Mudah diperluas dengan menambah sub-agent |
Pelajaran utama
- Monolithic vs specialized: Semakin kompleks tugasnya, sub-agent dengan Separation of Concerns lebih unggul dibanding agent tunggal [21:59].
- Architecture over Tuning: Dibanding memperbaiki frasa prompt satu per satu, menetapkan arsitektur sistem yang tepat dan menerapkan optimasi otomatis (DSPy) lebih menjamin performa berkelanjutan [23:24].
- Small Models Win: Pada tugas domain spesifik, model kecil/menengah yang dioptimalkan (self-hosted) bisa unggul dari model besar serbaguna baik dalam efisiensi biaya maupun performa [23:54].
1 komentar
Saya kadang mendengar tentang DSPy, tapi adakah yang sudah mencobanya? Saya penasaran dengan ulasannya.