企業内の膨大で分散したデータを検索することは容易ではありません。Netflixのように数百のUIと多様なドメインが存在する環境では、ユーザーが求める情報を見つけるために複雑なクエリ言語(DSL)を習得する必要があり、参入障壁となっていました。この問題を解決するため、NetflixのエンジニアリングチームはAI、特に大規模言語モデル(LLM)を活用し、自然言語の質問を構造化されたGraph Searchフィルター文に変換するシステムを構築しました。本記事は、そのアプローチと核心的な知見をまとめた根拠資料に基づいています。

AI and Large Language Model concept illustration Development Concept Image

核心的な課題:構文、意味、実用上の正確性

LLMが自然言語をGraph Search Filter DSLに変換する際、3つのレベルでの正確性を保証する必要があります。

  1. 構文的正確性: 生成された文がDSLの文法に従っているか?
  2. 意味的正確性: 文が実際のインデックスに存在するフィールドと許可された値のみを使用しているか?(幻覚防止)
  3. 実用上の正確性: 生成されたフィルターはユーザーの真の意図を正確に反映しているか?

意味的正確性を保証するための核心戦略は、フィールドと統制語彙(Controlled Vocabulary)のそれぞれに**RAG(Retrieval-Augmented Generation)**パターンを適用することでした。

Server rack and cloud infrastructure representing backend systems Coding Session Visual

RAGを活用したコンテキスト最適化戦略

数百のフィールドと数千の統制語彙の値をLLMにすべて提供することは非効率で、精度を低下させます。Netflixは2段階のRAGでコンテキストを精製しました。

対象方法目的
フィールドRAGフィールド名、説明、タイプを埋め込み、ベクトルストアにインデックス化。質問チャンクとの類似度検索でTop-Kフィールドを選定。質問に関連するフィールドのみをコンテキストに含め、ノイズを削減し精度を向上。
統制語彙RAG統制語彙の値(表示名、説明、同義語)を埋め込み、インデックス化。質問と類似する値を検索し、関連フィールドの許可値として提供。LLMの値の幻覚を防止し、関連する追加フィールドを推論。

これにより、各質問は関連するフィールドと値の最適化された組み合わせに解決されます。

Data flow and analysis diagram on a digital screen Algorithm Concept Visual

ユーザー信頼の構築と実用的な戦略

最も難しい「実用上の正確性」問題に対処するため、Netflixは2つの実用的なUI/UX戦略を導入しました。

  1. 作業過程の公開: 生成された複雑なDSLクエリをそのまま表示する代わりに、それをパースしたAST(抽象構文木)を利用し、ユーザーインターフェースの「チップ」や「ファセット」として視覚化します。ユーザーは自分の質問がどのフィルター条件に解釈されたかを直感的に確認し、修正することができます。
  2. 明示的エンティティ選択(@メンション): ユーザーが@darkのように特定のエンティティに言及すると、システムはRAG推論ステップをバイパスし、その統制語彙をコンテキストにハードコードします。これは曖昧さを排除し、正確性とユーザー信頼を同時に高める強力な方法です。

まとめ: このシステムは単なる翻訳機を超え、拡張可能なプラットフォームへと進化しています。LLMの柔軟性、既存のGraph Searchインフラの堅牢性、RAGパターンによる精度向上、そしてユーザー中心のフィードバックメカニズムを組み合わせたベストプラクティスの事例と言えます。複雑なエンタープライズ検索システムにAIを導入しようとするチームにとって、必ず参照すべきアプローチです。