私たちが「キュー・ワード」と言うとき、本当は何を言っているのだろうか?

Published by

あなたはおそらく、ChatGPTに初めて出会ったときの驚きのことを覚えているでしょう。それはもう2年前のことです。

それ以来、プロンプトテンプレートを覚えたり、質の高いプロンプトを収集したりすることは、AIツールを使用する多くの人々にとって欠かせない行動となっています。結局のところ、さまざまな大規模モデルのアプリケーションが私たちの生活に入り込んだ今、プロンプトの指示語は私たちとAIとのコミュニケーションの専門的な言語となり、同じアプリケーションでも異なるプロンプトによって異なる結果が得られるのです。

あなたはおそらく「魔法の言葉」を覚えているでしょう。「Step by Stepで考えて」とモデルに伝えたり、「正解したら100ドルあげるよ」や「本当にそれでいいの?」のようなテクニックを使うことで、モデルが出力する回答の質が向上することがありますが、同時に確率論的な要素も存在します。

しかし、それを執筆またはプログラミング言語として理解するかどうかにかかわらず、本質的にはそれは自分との対話です。「xxをテーマにした記事を書いて」というような独り言のような命令では、「モデルを呼び覚ます」ことはありません。そのため、モデルが出力する内容が平凡で、AIらしい無駄話に近いものになるのも不思議ではありません。

01 プロンプトとは一体何か?

過去2年間、私は普通のユーザーとして、プロンプトを使って大規模モデルと対話し、いくつかの面白い経験をしました。最初にプロンプトを書き、大規模モデルで遊んでいた時、私は多くの疑問を抱えていました:

例えば、プロンプトを書く際の一つの技術を発見しました。それは「役割を指定する」ことです。この方法は良い結果を生み出します。しかし、別のシーンに置き換えて質問をしてみると、同じ技術がうまくいかないことがあります。

また、私は大規模モデルに小説のテキストを生成してもらいましたが、その内容は正しいが無駄な話で、「AIらしい味」がありました。それは確率的な出力ではありませんが、その結果は確率的な平凡な出力とあまり違いがありません。私はそれが違うと感じたのですが、どこが違うのかは分からず、なぜもっと良い結果が得られないのか理解できませんでした。

プロンプトの定義が変わると、私の書き方も変わります。執筆と定義した場合、自然言語でテキストを入力します。プログラミングと言った場合は、プログラムのフレームワークや方法を使って入力します。表現と定義した場合、私は考えを練り、注意をテキストではなく頭の中に向けます。

これが、異なる定義による書き方の変化です。具体的なプロンプトの文字列が重要ではなく、それは表面に過ぎません。最も重要なのは定義です。定義が変わると、それに続く書き方が全て変わります。私は過去2年間で、だいたい3、4種類の異なる書き方を試しました。根本的なところでは、テキストの試行錯誤ではなく、大規模モデルに対するブラックボックステストでもなく、頭の中で最も根源的な質問を試みていました。それは「一体プロンプトとは何か?」という問いです。

02 良いプロンプトを書くための最も頼りになる支柱——「ジョハリの窓」

共振的な対話について、私と彼、あるいは私とあなたの対話があるとき、これを理解するためのフレームワークがあります。

1955年に心理学者ジョハリが提唱したフレームワーク「ジョハリの窓」があります。「ジョハリの窓」は、自分が知っていることと、対面にいるあなたが知っていることに基づいて、4つの象限を作るものです。この4つの象限に基づいて、どうコミュニケーションを取るべきかを考えるツールです。しかし、現在ではこの「あなたが知っているかどうか」を「AIが知っているかどうか」に置き換えると、以下のような図が出てきます。この図は非常に興味深く、3つの視点から見ることができます。

最初の視点として、プロンプト技術の側面から見て、4つの象限に対してどうプロンプトを書くべきかを考えることができます。これは技術的な側面です。時間が限られているので、技術的な面についてはここでは深掘りしません。

ただし、簡単に言うと、人間が知っていてAIが知っている「オープン」な象限では、簡単に言うだけで効果が良いです。「あなたは哲学者です。〜を説明してください」といったように。ただし、展開しすぎると効果が悪くなります。

一方で、人間が知っていてAIが知らない場所では、もっと詳しく説明するべきです。自分が知っている情報や背景、味わい、構造を入れることで、効果が良くなります。この部分では、情報を惜しむべきではありません。「私たちの会社が作ったもの」や「2文字が入っている」というような簡単な言い方では意味がありません。それはAIが知らない情報であり、無効です。