「季節限定の白桃パフェ、まだありますか?」
お客様からのLINE問い合わせに、私たちのAIは即座に答えました。「はい、ございます!」
問題は、白桃パフェは3日前に終了していたことです。
店長から怒りの電話を受けたとき、私たちは重大な欠陥に気づきました。AIは膨大な「一般知識」を持っているが、「今日の店のこと」を何も知らない。
AIの「記憶喪失」
ChatGPTやClaudeは、学習データに含まれる情報なら何でも答えられます。しかし、今日のメニューは?今週の営業時間は?先ほど売り切れた商品は?——これらは学習データに存在しません。
AIに「店の今」を教える方法が必要でした。
記憶を注入する
私たちが構築したのはRAG(Retrieval Augmented Generation)——AIが返答を生成する直前に、関連する店舗情報を「注入」する仕組みです。
お客様が「白桃パフェ」と聞いたら、AIに答えさせる前に、まずデータベースを検索します。「白桃パフェ」に関連する情報——価格、提供期間、残り在庫——を見つけ出し、その情報と一緒に質問をAIに渡します。
AIは「注入された記憶」を基に回答を生成します。
0.1秒で正しい記憶を見つける
しかし、検索には課題があります。お客様は「桃のデザート」と聞くかもしれないし、「ピーチパフェ」と聞くかもしれない。すべて同じ「白桃パフェ」のことです。
キーワード検索だけでは対応できません。私たちは「意味」で検索できるベクトル検索を導入しました。質問の意味とメニューの意味を比較し、最も関連性の高い情報を0.1秒以内に見つけ出します。
1秒前の変更を反映する
さらに重要なのは、情報の鮮度です。店長が管理画面で「白桃パフェ:売り切れ」とクリックした瞬間、その情報がAIの「記憶」に反映されなければなりません。
私たちは、メニューや在庫の変更がリアルタイムでベクトルデータベースに同期される仕組みを構築しました。変更から反映まで、平均1秒以内。
「ありません」が言えるAI
あの白桃パフェの件以来、AIは正確に「申し訳ございません、白桃パフェは季節限定で、3日前に終了いたしました」と答えられるようになりました。
そして、提案も添えます。「代わりに、現在は巨峰のパフェをご用意しております」
AIに正しい記憶を持たせることで、お客様に正しい答えを届ける。それが私たちのRAGの目的です。