14 ポイント 投稿者 darjeeling 2026-03-31 | 1件のコメント | WhatsAppで共有

Shopifyは、数百万件にのぼる非構造化コマースデータ(ストアページ、ポリシーなど)を構造化データへ変換するために、One-Shot LLM方式からDSPyベースの特化型マルチエージェント(Multi-Agent)アーキテクチャへ移行しました。この過程で、GPT-4/5級の大規模モデルの代わりに自社ホスティングのQwen(32B/72B級)モデルとDSPyのJapaオプティマイザを活用し、コストを75分の1に削減しながら、データ抽出品質を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)
    • 単一エージェントがすべての目的(不正、税務、プロファイリング)を担うのではなく、3つの専門エージェントに分離。
    • Fraud Agent: 外部レビューサイト検索ツールを活用。
    • Profile Agent: 内部ポリシーのパースに集中。
    • 各エージェントは独立してDSPyで最適化され、相互干渉なしに性能を改善できる構造を確保。
3. 技術的解決策: Eval Reliability & Snapshotting

エージェントがリアルタイムでWebサイトをクロールすると、サイト内容の変化によって評価データセット(Golden Dataset)の信頼性が損なわれます。Shopifyはこれを解決するために、**「ShopNap」**というスナップショットサービスを構築しました。

  • ラベリング時点のストア状態を静的に固定(Frozen context)。
  • DSPyオプティマイザはこの固定スナップショット上で実行され、再現可能な評価と学習を保証。
4. インフラアーキテクチャ

効率的な処理のため、3つのレイヤーに分離して運用しています。

  • Batch Layer (Flink): 1日15万件以上のストア処理リクエストを管理。
  • Agent Layer (Kubernetes): CPUベースのクラスタでエージェントロジック、HTMLパース、ツール呼び出しを実行。
  • LLM Layer (GPU Cluster): vLLMなどを通じて自社ホスティングのQwenモデルを提供。

主要データとベンチマーク

Shopifyが明かした、アーキテクチャ移行前後の性能およびコスト比較です。

項目 One-Shot (GPT-5推定) Agentic + DSPy + Qwen
コスト (Cost) 基準値(高い) 75分の1まで削減
品質 (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].

1件のコメント

 
roxie 27 일 전

DSPyはたまに耳にする気がするのですが、使ってみた方はほかにもいらっしゃいますか? 感想が気になります。