ChatGPTにドラクエを教えたら遊べた
ChatGPTにドラクエを教えたら、なんとか戦闘できるようになりました。
教え方にちょっとクセがあるので、紹介します。
現状のChat GPT は仕様書のようなものを教えると、頼んでもいないのにC/C++やPythonの実装コードを列挙してしまいます。なので、プログラミングを実装するわけではないことを最初に伝えておきます。
また、仕様を教えるたびにChat GPT側が理解した内容を向こうが喋ってくるので、これを抑止するために「理解したら、次の仕様をどうぞ」とだけ予め指示を出しておきます。
プログラミング言語っぽい仕様書提示ですが、日本語文字() のような関数表記を正しく理解してくれます。
例えば、乱数(最小,最大)とは、最小以上、最大以下のfloat型の乱数を返却する処理ですとだけ伝えると、ChatGPTは内部ではPythonコードで
random.uniform(0.8, 1.2)
のように理解してもらえてます。
防御仕様を教えた時点で、ChatGPTは仕様が出揃ってると推測してきて「以上の仕様でよろしい?」と聞き方が変わってきます。
仕様FixであることをChat GPTに伝えた後、自分からは「君が理解してる仕様を確認のため教えて」と書こうとしたところ・・・彼は自分が理解した内容を以下のように自主的に述べてきました。
ChatGPTは非公開ですが、彼は人間が話した言葉を内部的にPythonの言語へTransformして、内部でPythonコードをVMで実行できる機能を持ってるようです。
とにかくソースコードが長くて、トークン数オーバーで尻切れトンボになりますが、「続けて」と入力するとちゃんと整合性を維持して続きから出力してくれます。途中、CodeMirrorが拾えない問題を抱えてますが、出力されるPythonコード自体は正常です。
彼の中でほぼ完璧なPythonコードが完成して完全に記憶しているようなので
そろそろ「遊びましょう」と指示しました。
ここで各キャラのパラメータの振り分けが間違えてました。全部のパラメータが 1 なので・・・ダメ元でクレーム入れました。
そうすると・・・
仕様は覚えてたらしく、彼のストレージの中のPythonコードに訂正入れてきました。
毎回、pythonコード示されて邪魔なので示さなくて良いと指示しておきました。
ステータス表示が教えた仕様どおり全部表示してなかったので・・・
どうも、人間臭く、故意に言われたことを忘れる性格調整されてるのかな。
攻撃仕様を教えた筈なのに「ロトにどの程度ダメージを与えるのでしょうか?」ととぼけるので
どうも会話が長引くと、ChatGPTのIQが落ちていく気がする。
仕様は覚えてるけど、仕様を引っ張ってくる力が低下。
どうもChatGPTに数値記憶能力に限界があるのかもしれないです。
とまぁ、こんな感じです。
この記事での試行は一週間前で、その後、Chat GPT の APIを利用して試行錯誤しています。
openai.complete() には、temperature というのがあって、
一般に公開されているChat GPT とは異なる設定が可能です。
「temperature」とは、Chat GPT APIにおいて、生成されたテキストのランダム性を制御するためのパラメータの1つです。このパラメータは、生成されたテキストの予測可能性を調整するために使用されます。
具体的には、temperatureは0から1の範囲で設定され、値が低いほど生成されたテキストが予測可能になります。一方、値が高いほど生成されたテキストがランダムになります。
たとえば、temperatureが0.5の場合、生成されたテキストは中程度のランダム性があります。一方、temperatureが1.0に近づくと、生成されたテキストは非常にランダムになり、意味のある文章が生成されない可能性があります。
temperatureの値は、特定のタスクに最適な値が異なるため、調整する必要があります。一般的に、テキスト生成タスクにおいては、temperatureを0.7から1.0の範囲で設定することが推奨されています。ただし、実際には、最適な値はタスクやデータセットによって異なるため、適宜調整する必要があります。
これらの値を調整して、「曖昧さ」を可能な限り削減することで、ドラクエは可能になる見込みです。続報が気になる方はフォローなどして頂ければ、更新時に通知が行くかと思います。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?