会話を覚えるAIの秘密:「メモリ」をどう残すのか
ひとことで言うと何か
スマートフォンのメッセージアプリのように、生成AIとの会話を保存しておき、後で前の話を思い出してもらう技術のことです。これを「メモリの永続化(ようきかしてあずける)」と言います。
なぜ今注目されているか
生成AIは毎回、新しい会話が始まるたびに前の話を忘れてしまいます。買い物リストアプリで例えると、毎日アプリを開くたびに購入予定がリセットされてしまう状態です。
これが不便なので、開発者たちが「会話を記憶に残す方法」を工夫し始めています。特にLangChainという開発の道具を使う場合、「会話をどうやって保存するか」という質問が増えており、実用的な解決策が求められているのです。
何ができて何ができないか
できること
- 会話をファイルやデータベースに保存:これまでのやり取りを記録しておく
- 後で読み込み直す:保存した会話を復活させ、AIがその文脈から続きを話す
- 複数のユーザーに対応:それぞれのユーザーの会話を別々に管理できる
できないこと
- 自動的に完璧に前後のつながりを保つ:会話が非常に長いと、すべてを記憶に入れると処理がとても遅くなるため、どこまで覚えるかを工夫する必要があります
はじめてみるには
LangChainでは、会話を保存するために「メモリの種類」を選ぶことになります。一般的には、以下のような方法があります。
1. 最も簡単な方法
最後に言った言葉と返答だけをペアで保存する方法があります。これは日記帳の最後のページだけをコピーして持ち歩くようなものです。
2. もう少し本格的な方法
会話のやり取りを全部ファイルに書き出す方法があります。プログラムでは、会話の履歴を辞書(データベースのミニ版)として管理し、ディスク上に保存します。
3. 何度も読み直す場合
すべての会話を大きなデータベースに入れておき、新しい会話が始まるときに「この新しい質問に関係ある過去のやり取りはどれか」を探す仕組みを使います。
具体的なコード例は、LangChainの公式ドキュメントやStackOverflowの回答に詳しく載っています。
注意したいこと
セキュリティと個人情報
会話を保存することで、個人的な内容(住所、電話番号、パスワード、医療情報など)がうっかり記録されるおそれがあります。特に仕事で使う場合は、どこにどんな内容が保存されるか確認が大切です。
保存場所の選択
- パソコンのフォルダに保存:シンプルだが、別のパソコンで復活させるのが面倒
- クラウドサービス(ドライブやデータベース)に保存:どこからでもアクセスできるが、セキュリティ設定をしっかりしないと危ない
- 自社サーバーに保存:安全性が高い可能性があるが、管理の手間がかかる
古い会話の削除
メモリが大きくなりすぎると、AIの返答が遅くなります。定期的に不要な古い会話を消す仕組みを入れることをお勧めします。これは、スマートフォンの不要な画像を消して容量を空けるのと同じ発想です。
データベースの種類による違い
会話を保存する場所が異なると、アクセスのしやすさと安全性が変わります。一般的には、簡単さと安全性のバランスを取ることが大切だと思われます。