プロンプトエンジニアリングを続けて感じていること
PVassist、LABOassitなどの開発を通して、プロンプトエンジニアリングの難しさを感じることがよくあります。
ChatGPTに対して、プロンプトを介して様々な指示を与えていきますが、こちらの意図に反し、指示通りの結果が得られないことがあります。
例えば、プロンプトで丁寧に指示を記載しているにもかかわらず、何も指示がなかったかのように無視されてしまうことが時に発生します。逆に、今は、そんなことに注意を向けてほしくないのに、別のことに注意がいってしまっているような振る舞いをすることがあります。
そんなことを繰り返しているうちに、「Attention is All You Need」を思い出しました。ChatGPTは、Transformerという仕組みを採用していますが、このTransformerという仕組みを提案している論文のタイトルが「Attention is All You Need」です。
プロンプトの中で、ChatGPTが注意散漫にならないように、各指示に対して注意を向けさせていくことを意識してプロンプトを書いたり、ChatGPTがどういう言葉に反応するのかを試しながらプロンプトを書き直すと、上手く動くケースがあります。これは、ケースバイケースなので、言語化が難しいのですが、この感覚は、プロンプトエンジニアリングではとても重要なのだろうと思います。
ChatGPTのモデルがどういった学習データを学んだかについてはオープンになっていませんが、学習内容に偏りがあるため、こちらの思うような方向に注意が働かないことがあるのでしょう。それが何なのかを試しながらプロンプトを開発することがプロンプトエンジニアリングのコツの一つではないかと思っています。
人間が理解している世界とChatGPTが学習した世界は同じではないので、当然と言えば当然なのですが、その点を意識してプロンプトエンジニアリングすることがCompletionの精度を上げることに繋がっているように感じる毎日です。
では、また。