見出し画像

LangFriend: 長期記憶のある日記

このブログは、LangChainブログに2024/3/28掲載されたものの邦訳です。

LangChain で私たちが最も興味を持っている概念の 1 つはメモリです。コンセプトに興味があるときはいつでも、そのコンセプトを紹介するサンプル アプリを構築したいと考えています。思い出のために、ジャーナリング アプリを構築することにしました。私たちは誰でも試せるバージョンをホストしています。また、開発者向け API に関して数人のアルファ ユーザーと協力し始めています。ご興味がございましたら、以下よりご登録ください。

主要なリンク:

私たちが最も強気な LLM システムのコンポーネントの 1 つはメモリです。生成 AI の力の多くは、独自のコンテンツをその場で生成できることです。これは、ユーザー エクスペリエンスをカスタマイズする場合に非常に強力です。これは、ユーザーに関する既存の情報を利用することによって実行できますが、以前のユーザー操作を記憶し、そこから学習することによっても実行できます。

私たちが探索することに興奮しているのは、この種の「記憶」です。ユーザーと LLM の間でのやり取りは今後ますます増えると考えられます。チャットボットは LLM アプリケーションの主要なフォーム ファクターです。これは、会話の中で、好き嫌い、友達は誰、目標は何かなど、より多くの貴重なユーザー情報が交換されることを意味します。これらの属性を学習し、アプリケーションに再度組み込むと、ユーザー エクスペリエンスが大幅に向上します。

メモリを調査しているときに、多くの作業の動機付けと基礎付けを行うために使用例をまとめることが役立つだろうと考えました。このユースケースとしてジャーナリング アプリを選択しました。この日記アプリを「LangFriend」と名付け、本日より一般公開いたします。まだ謙虚な研究プレビューにすぎませんが、オープンソース化する前に、何がうまく機能し、どのように改善するかについてコミュニティからのフィードバックを収集したいと考えています。

この投稿では、記憶に関するこれまでの学術研究、興味深い取り組みを行っている他の企業、そして私たちが注目するジャーナリング アプリを選んだ理由について少しお話します。次に、ジャーナリング アプリについて詳しく説明し、その機能を見ていきます。私たちと一緒に記憶を探求することに興味がある場合は、こちらからご連絡ください。

学術研究

私たちが記憶に関する研究にインスピレーションを与えた主な学術論文が 2 つあります。

最初: MemGPT。カリフォルニア大学バークレー校の研究者らによると、この論文の TLDR は、LLM にいくつかの関数を呼び出す機能を与えるというものです。これらの関数は、特定の事実を記憶したり、関連する事柄を思い出したりするなどのことを行うことができます。

大規模言語モデル (LLM) は AI に革命をもたらしましたが、コンテキスト ウィンドウが限られているため、長時間の会話や文書分析などのタスクでの有用性が妨げられています。限られたコンテキスト ウィンドウを超えてコンテキストを使用できるようにするために、仮想コンテキスト管理を提案します。これは、物理メモリとディスク間のページングを介して拡張された仮想メモリの錯覚を提供する、従来のオペレーティング システムの階層メモリ システムからインスピレーションを得た技術です。この技術を使用して、LLM の限られたコンテキスト ウィンドウ内で拡張コンテキストを効果的に提供するために、さまざまなストレージ層をインテリジェントに管理するシステムである MemGPT (MemoryGPT) を導入します。

2 番目:生成エージェント。スタンフォード大学の研究者らによると、この論文の TLDR は、経験を反映して記憶を形成し、その後プログラムによって保存および取得されるというものです。

私たちは、アブレーションを通じて、エージェント アーキテクチャのコンポーネント (観察、計画、反映) がそれぞれエージェントの動作の信頼性に決定的に寄与していることを実証します。この研究では、大規模な言語モデルと計算対話型エージェントを融合することにより、人間の行動の信頼できるシミュレーションを可能にするためのアーキテクチャおよび対話パターンを導入しています。

これら 2 つの論文の興味深い違いの 1 つは、LLM がメモリの使用を積極的に決定する度合いと、メモリをバックグラウンド プロセスとして使用する度合いです。 MemGPT は LLM にメモリ関数の使用を強制しますが、生成エージェントはどちらかというとバックグラウンド プロセスです。

企業

メモリに関して素晴らしいことを行っている会社がいくつかあります。

Plastic Labs は、 TutorGPTのようなプロジェクトを構築するスタートアップです。

LangChain LLM アプリケーション。心の理論を活用した個別指導のための動的なメタプロンプト。

Good AI は、長期記憶を備えたチャット アシスタントをオープンソース化したばかりのスタートアップです。

一見すると、Charlie は ChatGPT、Claude、Gemini などの既存の LLM エージェントに似ているかもしれません。ただし、その際立った特徴は LTM の実装であり、 あらゆるインタラクションから学習できるようになります。これには、 ユーザーのメッセージ、アシスタントの応答、環境フィードバックを LTM に保存して統合し、 当面のタスクに関連する場合に後で取得できるようにすることが含まれます。

OpenAI は最近、メモリ機能をChatGPT に組み込みました。

これらの企業を見ると、メモリを LLM が意識的に呼び出す必要があるアクティブなものとして実装する (ChatGPT) のと、自動的に組み込まれるバックグラウンド プロセスとして実装する (TutorGPT) との違いもわかります。

なぜ日記アプリなのか?

長期記憶をテストするために実装する良い使用例を考えたとき、ジャーナリング アプリが頭に浮かびました。その主な理由は、このアプリでのやり取りには、標準的なチャット アプリケーションよりも覚えておくべき関連情報が多く含まれると考えたためです。

標準的なチャット アプリケーションでは、「やあ!」、「やあ」、「どうしたの」など、余分なやり取りがたくさんあるかもしれません。日記の設定では、本当の興味深い感情を共有する段階に早く達することができます。そして洞察。

それでも、私たちはこのアプリにチャット コンポーネントを追加したいと考えていました。この主な理由は、アプリケーションがユーザーに関する情報を学習し、記憶していることを示すことでした。この情報を使用して、ユーザーに対してパーソナライズされた応答を作成することができます。

ここでは、私がイタリア料理のファンであること、そして運動した後はリフレッシュした気分になることを覚えていることがわかります。

最初の日記を追加し、コンパニオンとチャットすると、ナビゲーション バーに [思い出] ボタンが表示されます。これをクリックすると、あなたの日記から抽出できた主な思い出がすべて表示されます。

リストはスリムで、あまり多くの情報が含まれていないことがわかります。これらは、私たちが抽出した最も重要で高レベルの事実にすぎません。私たちは舞台裏でこれよりもさらに多くの事実をあなたのエントリから引き出しており、それらすべてを検索することができます。

「思い出を検索...」と入力し始めると、LangFriend が保存しているあなたに関するさまざまな事実がリアルタイムで表示されます。

カスタマイズ中

私たちは、LangFriend をすべてのユーザーにとって可能な限り魅力的なものにしたいと考えました。このため、コンパニオンとのすべてのチャットのプレフィックスやトーンを設定するシステム メッセージを誰でも更新できるようにしています。多くのユーザーのニーズに合わせて慎重に作成されたデフォルトが含まれています。ただし、少し異なるもの、またはまったく異なるものを探している場合は、必要なだけ変更することができます。

システム プロンプトを見つけて、[ログ] ページにアクセスし、[構成] ボタンをクリックして更新します。ここから、システム プロンプトを含むダイアログがポップアップ表示されます。

加えられた変更はセッション間で保持され、今後のすべてのチャット会話の先頭に追加されます。

結論

LangFriend は、LLM アプリケーションに長期記憶を組み込む可能性を示す刺激的な研究プレビューです。ジャーナリング アプリに焦点を当てることで、意味のあるユーザー情報を収集してパーソナライズされた応答を提供し、ユーザー エクスペリエンスを向上させることを目指しています。この分野の学術研究や革新的な企業からインスピレーションを得た LangFriend は、メモリを積極的に利用したり、バックグラウンド プロセスとして組み込んで魅力的で適応的なインタラクションを作成したりする方法を示しています。私たちは、コミュニティの皆様に LangFriend を探索してフィードバックを提供して、LLM アプリケーションのメモリで可能なことの限界を押し広げ、より強力でパーソナライズされた有意義なユーザー エクスペリエンスを実現する生成 AI の可能性を最大限に引き出すことに参加していただけることをうれしく思います。

この記事が気に入ったらサポートをしてみませんか?