Eコマースでは、技術者はしばしば大規模なインフラ問題について語る:検索アーキテクチャ、リアルタイム在庫管理、パーソナライゼーションエンジン。しかし、その表面下には、ほぼすべてのオンライン販売者を悩ませる、より厄介な問題が潜んでいる。それは、商品属性の正規化だ。サイズ、色、素材、技術仕様などの値が一貫性のない混沌とした商品カタログは、その後に続くすべてを妨害する。フィルターは信頼性を欠き、検索エンジンは精度を失い、手動のデータクレンジングはリソースを食いつぶす。Zoroのフルスタックエンジニアとして、私は日々この問題に取り組んできた。3百万以上のSKU、それぞれに数十の属性がある中で、どうやって秩序をもたらすか。答えはブラックボックスのAIではなく、LLMの思考能力と明確なビジネスルール、手動コントロールを融合させたインテリジェントなハイブリッドシステムにあった。## 大規模な問題表面的には、属性の不整合はさほど深刻に見えない。サイズの例を挙げると、「XL」「Small」「12cm」「Large」「M」「S」—これらはすべて同じ意味だが、標準化されていない。色も似たようなものだ:「RAL 3020」「Crimson」「Red」「Dark Red」—一部は色の規格((RAL 3020は標準的な赤色))に従い、他は想像上の名称だ。これらの混乱を何百万もの商品に掛け合わせると、その影響は劇的だ:- 顧客は混沌としたフィルターを見て検索を諦める- 検索エンジンは正確に商品をランク付けできなくなる- 分析は誤ったトレンドを示す- マーチャンダイジングチームは手動のデータクレンジングに追われる## 戦略的アプローチ:ルール付きハイブリッドAI私の目標は、神秘的な魔法のようなAIシステムではなかった。むしろ、次のようなシステムを構築したかった:- **説明可能**—なぜその決定が下されたのか理解できる- **予測可能**—予期しない故障や異常がない- **スケーラブル**—何百万もの属性に対応できる- **人間が制御可能**—ビジネスチームが介入できる結果として、LLMの知性と明確なルール、ビジネスコントロールを融合させたパイプラインができあがった。境界のあるAI、制約のないAIではなく。## なぜリアルタイムではなくオフライン処理か?最初の設計決定は根本的だった:すべての属性処理は非同期のバックグラウンドジョブで行う。リアルタイムではない。これは妥協のように思えるが、戦略的な決定であり、非常に大きなメリットをもたらした。**リアルタイムパイプラインの問題点:**- 商品ページのレイテンシが予測不能に- システム間の依存関係が脆弱に- トラフィックピーク時のコスト増大- 直接的に顧客体験に影響**オフラインジョブの利点:**- 高スループット:大量バッチ処理をライブシステムに影響させずに実行- 耐障害性:処理エラーは顧客に影響しない- コスト管理:トラフィックの少ない時間帯に計算- 分離性:LLMの遅延はユーザー向けサービスから隔離- アトミックな更新:一貫性のある変更、または何もしない顧客システムとデータ処理を分離することは、この膨大なデータ量を扱う上で不可欠だ。## 処理パイプラインこのプロセスは複数のフェーズに分かれていた。**フェーズ1:データクレンジング**AI導入前に、データは事前処理を経ていた:- 空白除去- 空値削除- 重複排除- カテゴリのコンテキストを構造化された文字列に変換この一見単純なステップが、LLMの精度を飛躍的に向上させた。原則は「ゴミを入れればゴミが出る」。この規模では、小さな誤りも後に大きな問題を引き起こす。**フェーズ2:コンテキスト付きAI推論**LLMは単にアルファベット順に並べるだけではなく、値について考えた。サービスは次を受け取った:- クレンジング済みの属性値- カテゴリのパンくずリスト((例:「電動工具 > ドリル」))- 属性のメタデータこのコンテキストにより、モデルは理解した:- 「電動工具」の「電圧」は数値でソートすべき- 「サイズ」は既知の進行(S, M, L, XL)に従う- 「色」は一部規格(RAL 3020)に従う可能性- 「素材」は意味的に関係性を持つ((Steel > Stainless Steel > Carbon Steel))モデルは返した:- 順序付けられた属性値- 改良された属性名- それが決定論的にソートすべきか、コンテキストに依存すべきかの分類**フェーズ3:決定論的フォールバック**すべての属性にAIは必要ない。多くは明確なロジックで処理できる:- 数値範囲((2cm, 5cm, 12cm, 20cm→昇順))- 単位付き値- カテゴリコレクションパイプラインはこれらを自動認識し、決定論的ロジックを適用。コスト削減と一貫性保証を実現。**フェーズ4:販売者によるコントロール**重要な属性には手動の検証ポイントを設置。各カテゴリにタグ付け:- **LLM_SORT**:モデルが決定- **MANUAL_SORT**:販売者が定義この二重システムにより、人間の最終コントロールが可能に。LLMが誤った場合でも、販売者が上書きできる—パイプラインを止める必要はない。## 永続化と後続システムすべての結果はMongoDBに直接保存された。唯一の真実の源:- ソート済み属性値- 改良された属性名- カテゴリレベルのソートタグ- 商品レベルのソート順その後、データは二方向に流れる:- **Elasticsearch**:キーワード検索とフィルターメニューのため- **Vespa**:セマンティック・ベクトル検索とランキング向けフィルターは論理的な順序で表示され、商品ページは一貫した仕様を示し、検索エンジンはより正確にランク付けし、顧客はカテゴリを迷うことなくナビゲートできる。## 具体的な成果このパイプラインは、混沌とした生データを整然とした使える出力に変換した。| 属性 | 生データ | ソート済み出力 ||--------|--------------|---------------------|| サイズ | XL, Small, 12cm, Large, M, S | Small, M, Large, XL, 12cm || 色 | RAL 3020, Crimson, Red, Dark Red | Red, Dark Red, Crimson, RAL 3020 || 素材 | Steel, Carbon Steel, Stainless, Stainless Steel | Steel, Stainless Steel, Carbon Steel || 数値 | 5cm, 12cm, 2cm, 20cm | 2cm, 5cm, 12cm, 20cm |この変換は、3百万以上のSKUにわたって一貫して適用された。## その影響結果は技術を超えた範囲に及ぶ:- **属性の一貫性**:カタログ全体で統一された順序- **予測可能な動作**:数値の扱いに決定論的フォールバック- **ビジネスコントロール**:手動タグ付けシステム- **整然とした商品ページ**:直感的なフィルター- **検索の精度向上**:顧客にとってより良い結果- **信頼性とコンバージョン率の向上**単なる技術的勝利ではなく、ビジネスの勝利だ。## 重要な教訓- **ハイブリッドパイプラインは純粋なAIを凌駕**。境界線は障害ではなく、特徴だ。- **コンテキストがすべて**:カテゴリ情報と属性メタデータを持つLLMは、持たないものより10倍正確- **オフライン処理は不可欠**:この規模ではバッチ効率と耐障害性が必要で、リアルタイムの遅延は不要- **人間のコントロールが信頼を築く**:チームは制御できるときにAIを受け入れる- **データの衛生状態が基盤**:クリーンな入力は信頼できる出力を生む。常に。## 結論属性値の正規化は平凡に思える—しかし、何百万もの商品にリアルタイムで行うとなると話は別だ。LLMの知性、明確なルール、人間のコントロールを組み合わせることで、隠れた根深い問題をスケーラブルなシステムに変えた。これは思い出だ:Eコマースにおける大きな勝利の多くは、華やかな技術からではなく、退屈な問題—すなわち、すべての商品ページに関わる問題—を解決した結果である。
混沌から明晰へ:人工知能がEコマースカタログを変革する方法
Eコマースでは、技術者はしばしば大規模なインフラ問題について語る:検索アーキテクチャ、リアルタイム在庫管理、パーソナライゼーションエンジン。しかし、その表面下には、ほぼすべてのオンライン販売者を悩ませる、より厄介な問題が潜んでいる。それは、商品属性の正規化だ。サイズ、色、素材、技術仕様などの値が一貫性のない混沌とした商品カタログは、その後に続くすべてを妨害する。フィルターは信頼性を欠き、検索エンジンは精度を失い、手動のデータクレンジングはリソースを食いつぶす。
Zoroのフルスタックエンジニアとして、私は日々この問題に取り組んできた。3百万以上のSKU、それぞれに数十の属性がある中で、どうやって秩序をもたらすか。答えはブラックボックスのAIではなく、LLMの思考能力と明確なビジネスルール、手動コントロールを融合させたインテリジェントなハイブリッドシステムにあった。
大規模な問題
表面的には、属性の不整合はさほど深刻に見えない。サイズの例を挙げると、「XL」「Small」「12cm」「Large」「M」「S」—これらはすべて同じ意味だが、標準化されていない。色も似たようなものだ:「RAL 3020」「Crimson」「Red」「Dark Red」—一部は色の規格((RAL 3020は標準的な赤色))に従い、他は想像上の名称だ。
これらの混乱を何百万もの商品に掛け合わせると、その影響は劇的だ:
戦略的アプローチ:ルール付きハイブリッドAI
私の目標は、神秘的な魔法のようなAIシステムではなかった。むしろ、次のようなシステムを構築したかった:
結果として、LLMの知性と明確なルール、ビジネスコントロールを融合させたパイプラインができあがった。境界のあるAI、制約のないAIではなく。
なぜリアルタイムではなくオフライン処理か?
最初の設計決定は根本的だった:すべての属性処理は非同期のバックグラウンドジョブで行う。リアルタイムではない。これは妥協のように思えるが、戦略的な決定であり、非常に大きなメリットをもたらした。
リアルタイムパイプラインの問題点:
オフラインジョブの利点:
顧客システムとデータ処理を分離することは、この膨大なデータ量を扱う上で不可欠だ。
処理パイプライン
このプロセスは複数のフェーズに分かれていた。
フェーズ1:データクレンジング
AI導入前に、データは事前処理を経ていた:
この一見単純なステップが、LLMの精度を飛躍的に向上させた。原則は「ゴミを入れればゴミが出る」。この規模では、小さな誤りも後に大きな問題を引き起こす。
フェーズ2:コンテキスト付きAI推論
LLMは単にアルファベット順に並べるだけではなく、値について考えた。サービスは次を受け取った:
このコンテキストにより、モデルは理解した:
モデルは返した:
フェーズ3:決定論的フォールバック
すべての属性にAIは必要ない。多くは明確なロジックで処理できる:
パイプラインはこれらを自動認識し、決定論的ロジックを適用。コスト削減と一貫性保証を実現。
フェーズ4:販売者によるコントロール
重要な属性には手動の検証ポイントを設置。各カテゴリにタグ付け:
この二重システムにより、人間の最終コントロールが可能に。LLMが誤った場合でも、販売者が上書きできる—パイプラインを止める必要はない。
永続化と後続システム
すべての結果はMongoDBに直接保存された。唯一の真実の源:
その後、データは二方向に流れる:
フィルターは論理的な順序で表示され、商品ページは一貫した仕様を示し、検索エンジンはより正確にランク付けし、顧客はカテゴリを迷うことなくナビゲートできる。
具体的な成果
このパイプラインは、混沌とした生データを整然とした使える出力に変換した。
この変換は、3百万以上のSKUにわたって一貫して適用された。
その影響
結果は技術を超えた範囲に及ぶ:
単なる技術的勝利ではなく、ビジネスの勝利だ。
重要な教訓
結論
属性値の正規化は平凡に思える—しかし、何百万もの商品にリアルタイムで行うとなると話は別だ。LLMの知性、明確なルール、人間のコントロールを組み合わせることで、隠れた根深い問題をスケーラブルなシステムに変えた。
これは思い出だ:Eコマースにおける大きな勝利の多くは、華やかな技術からではなく、退屈な問題—すなわち、すべての商品ページに関わる問題—を解決した結果である。