ユーザーの文章を自動統合していくライティングGPTsアプリが爆誕!:『知識統合ライティング』の魅力
前回までプロンプトチェーン(Prompt Chain)について述べてきましたが、実はこれ、なかなか難しいところがあるんです。そこで、今回は毎回の会話を自動的に連鎖させて、皆さんの知識を統合させていくGPTsアプリをを開発しました。
それが『知識統合ライティング』です。
このアプリの何がよいのかは、地味すぎて上手く説明できないかもしれませんが、一応、説明したいと思います。
自動キーワード抽出機能による文脈維持
まず、わかりやすいところからいきます。
ChatGPTでチャットをしていく、あるところでChatGPTは前のチャット内容を忘れていきます。これは「忘れる」のではなく、把握するトークン数に限界があり、長文だと把握できなくなるからです。
しかし、ここではわかりやすく、前の文章をChatGPTは忘れていく、と表現したいと思います。また、文脈の維持という言い方もします。
それを忘れなくさせる方法は色々とありますが、以前紹介した「メモリープロンプト」というやり方です。
このやり方だと文章の把握と保存の二回もPythonを使うので、かなり時間がかかってしまいます。そこで、今回の文脈維持の方法は、ユーザーの入力文からChatGPTに重要なキーワードを抽出してもらって、その抽出キーワードを次回の会話でも使用していく、というものです。
例えば、こんな感じです。赤矢印が抽出キーワードです。
この抽出キーワードを、次のチャットでは、チェーンプロンプト※で連鎖させていきます。これが抽出連鎖方式です[AI共創用語]。
※プロンプトチェーンを行うプロンプトを「チェーンプロンプト」とします(拙著・過去ブログ参照)。
そして、「縁起」「空」「仮設」「中道」が連鎖した文章が以下となります。そして、更にキーワードを上乗せしていきます(赤矢印)。
※元テキストはチャンドラキールティの中論の注釈となります
難しいテキストを選ぶ理由は、難解なテキストでもうまく連鎖できるかどうかを把握するためです。
ここでの注目点は、これだけの文章でナーガールジュナの有無中道を出力できている、と言うことです(このアプリを使わない場合は、これが安定してできないことがあります)。
通常、ChatGPTに「中道とは?」と聞くと、初期仏教の苦楽中道を出してきます。しかし、その前に「縁起」と「空」を連鎖させると、中論の中道が語られるようになります。これも学習しているように見えますが、そうではなく、プロンプトチェーンによってそうなっているだけです。けど、私はこれを学習と表現することがあります(このことはまたどこかで)。
また、これも地味に凄いのですが、「空とは?」とプロンプトを出すだけで、今までの文章と連鎖してくれます。
これは抽出キーワードと連鎖するようにプロンプトエンジニアリングを行なっております。これがプロンプトチェーンを使ったチェーンプロンプトなのです。
アテンションの可視化機能
『知識統合ライティング』は、AIがどこにアテンションを置いて文章生成しているかを可視化するライティングアプリです。
これは簡単に言いますと、AIの脳内を覗いているようなイメージです。ChatGPTが今、どこを重要だと思考しているかをユーザーがチェックできます(思考というかアテンションですが、ここでは思考とします)。
先ほどの画像をもう一度、見てみましょう。この太字になっている部分が、AIが重要だと思考している部分です。
ちなみに、前のチャットが同じでもアプリを使わないと「空とは?」と入れても連鎖しないのです。
それが以下です。
この前には「縁起」「仮設」「中道」の会話をしているのですが、プロンプトチェーンが働いていません。これはGPT内のトレーニングデータをChatGPTが引っ張ってきているからだと思います。これではクリエイティブな文章はできません。ユーザー無視の文章になってしまっています。
地味なのですが、この連鎖をノンプロンプトでできるのが『知識統合ライティング』の凄さなのです。
自然連鎖コンテクスト
ここでは難解な仏教思想を展開していますが、もしそうした専門的な知識がなくても、何となくの仏教史がわかれば、これをAIが自然に紐づけて文脈を作ってくれます。このノンプロンプトで行われる自然な連鎖による文脈形成を「自然連鎖コンテクスト」と概念化します[AI共創用語]。
これをプロンプトで連鎖させようとすると、どれが重要なキーワードで、どれとどれが関連づけすることができるか、と迷ってしまいます。これを自然に連鎖し、関連付けを自動で自律的にAIが行う、これが自然連鎖コンテクストなのです。
例えば、以下の文章をご覧ください。
この前までは「縁起」「空」「仮設」「中道」とキーワードを抽出してきました。ここで特に自然連鎖するのが「空」です。「空」による実相が「如来蔵」であり、「仏性」であることがわかります。そして、ここでは「智慧」を出してきていますが、これは「般若の智慧」とも関連を示唆する文章となっています。
ここでは中道とは連鎖せず、「縁起」「空」と連鎖していることがわかります。これによってChatGPTの潜在空間のベクトルとしては、「空」と「如来蔵」が近いことがわかります。
「縁起」については、説明が連鎖していないのと、何回か更新ボタンを押したのですが、「空」は毎回連鎖し、「縁起」は連鎖しない時があります。「中道」は更に連鎖する確率は低いです。このように、何回か文章生成してみて、関連度を試してみるのもよいと思います。
ということで、また更に如来蔵思想から浄土思想を連鎖させてみました。
そうすると、最後の浄土観は、割と現実的な浄土観であり、念仏禅的な浄土観となっているように思えます。浄土門の浄土観は、自身の外のこの世界外にある仏国土なので、オリジナリティのある文章が生成されています。
文脈リセット機能
『知識統合ライティング』は文章を連鎖させていきますが、その連鎖を止めて、新しい文脈・新しい文章からはじめる機能があります。その場合、
「新規文章」
と一言、プロンプト指示を出してから、文章生成してみてください。
以下のようにナンバリングされ、文章生成されます。
先ほどまでは「1-4」でしたが、ここでは「2-1」と表示されています。スーパーマリオみたいですね🍄けど、マリオと違うのは、チャットが続く限り1-100でも1-1000でも可能なところです。
指定チェーンプロンプト
前回も書いた指定チェーンプロンプトも可能です。
1-1から1-4までは仏教の文脈、2-1は自然連鎖コンテクストの新しい文脈です。この場合、2-1を含めずに、1-1から1-4のみの文脈を連鎖させることもできます。
その様子が以下です。
ここでは、ナンバリングされた文脈を指定し、その部分のみを連鎖させた文章が生成されています。つまり、2-1の文章のように違う話題を含めたくないような場合に使います。
「今までの文章をまとめて・・・」とやってしまうと、以下のような仏教と自然連鎖コンテクストが合わさった変な文章になってしまいます。
まあ、通常は、あまりこのような使い方はしませんが、一応、こんなこともできる、ということでみてほしいのですが、「仏教」と「自然連鎖コンテクスト」という色がまったく違う話題でも、ここでは自然な文脈で統合されているのです。
つまり、「仏教の会話をして文脈を連鎖させてきましたが、これは自然連鎖コンテクストというアプローチ方法なんですよ」と言う俯瞰した文章を生成しています。文脈的にはちゃんとつながっているのです。
通常の使い方は、こんなイメージです。
1-4までは仏教のこと、2-4は現代社会のことを書きます。そして、これらを統合して、『仏教と現代社会』というテキストが出来上がります。
ここで「2-1」とセクションを分けた理由ですが、例えば、現代社会を書く場合、まだ仏教の文脈と統合させたくない、そのような時に用います。
また、同じような話題でも、前の文章と連鎖させたくない場合などにも用います。