ChatGPTで記憶を持たせる

こんにちは代表のサル君です。今日はChatGPTに記憶を持たせる方法を紹介します。

ChatGPTと記憶力

ChatGPTは、大量のテキストデータをトレーニングデータとして使用し、そのデータを元に自然言語テキストを生成することができます。しかし、個別の対話の詳細を長期的に覚えることはできません。これは、ChatGPTが非常に大量のデータを扱うことができる一方で、短期的な情報を長期的に保持するためのメカニズムが欠如しているためです。

しかし、適切に設定されたプロンプトを使用することで、ChatGPTに一定程度の記憶力を持たせることができます。

対話の開始

まず、以下のような対話をChatGPTと行います。

ユーザー: コンピュータサイエンスについてのブログを書きたいんですが、どんなことを書けば良いですか?

ChatGPT: コンピュータサイエンスについてのブログを書く場合、様々なトピックを取り上げることができます。例えば、プログラミング言語やアルゴリズム、データ構造、コンピュータネットワークなどがあります。どのトピックについて書くか決めているのでしょうか?

ChatGPTは、コンピュータサイエンスについてのブログを書く際のトピックの例を提供しています。ユーザーは、どのトピックについて書くかをChatGPTに伝えます。

ユーザー: ブログでプログラミング言語について書きたいと思っています。ChatGPTにはどのような情報が必要ですか?

ChatGPT: プログラミング言語についてブログを書く場合、ChatGPTが正確な情報を提供するためには、どのようなプログラミング言語について書くかを教えていただけますか?

ユーザー: Pythonについて書きたいと思っています。

ChatGPT: 了解です。それでは、Pythonに関連するトピックやキーワードを洗い出すために、Pythonについての詳細な説明を教えていただけますか?

状態を出力する

次に、ChatGPTに自らの考えてることを出力してもらうために、変数を洗い出して値を入れてもらいます。この指示で、人間がメモを取るのと同じように、ユーザと行った対話の結果AIが内部的に持っている現在の記憶を出力できます。

この内容を再開できるようにプロンプトにします、変数とプロンプトを洗い出し、変数には現在の値を入れます
以下は、再開するために必要な変数とプロンプトです。変数には、現在の値を入れます。

変数:

readLevel = "初心者"
selectedLanguage = "Python"
selectedTopic = "Pythonの基礎"
provideExample = "はい"
provideResources = "はい"

これまでは、状態を復元するために過去の対話内容を全てChatGPTに再入力するため多くのトークンを消費していましたが、この方法を使うと少ないトークンで済むのが特徴です。

プロンプトの作成

次に、ChatGPTに記憶を呼び戻すためのプロンプトを作成します。以下のようなプロンプトを作成することができます。


私たちは今、Pythonについて話していました。以下の変数を踏まえて、ユーザの質問に答えてください


変数:

readLevel = "初心者"
selectedLanguage = "Python"
selectedTopic = "Pythonの基礎"
provideExample = "はい"
provideResources = "はい"

このプロントに対して、下記のように記事を書く指示を行うと記事を書き始めることができます。

さらに細かく記憶させたい

細かく変数を出す場合は、下記のように「内容を分解し細かな変数で表現します」でdumpできます。

まとめ

以上が、ChatGPTに記憶を持たせる方法です。変数を出力し、その変数を使ってプロンプトを再開することで、ChatGPTに一定程度の記憶力を持たせることができます。


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