昨日、ChatGPTにプログラミングを手伝わせてみたところ、興味深い発見がありました。完璧なコードを書くという話を聞いていたので、最初は疑いませんでしたが、後になって実は多くの制限があることに気付きました。
私がテストした対象は、自分自身の株式自動取引戦略です。
私は独特ですが複雑ではない戦略を持っており、現在のところネット上で他に使用している人を見かけていません。ChatGPTにこのプログラムを書いてもらいたいと考えました。
私が発見したのは、ロジックを細かく分割して、毎回シンプルなロジックだけを書かせると、ChatGPTは正しいコードを生成できるということです。しかし、ロジックが少し複雑になると、いい加減なコードを書き始めます。
どこで誤りが生じているかを検証するために、ChatGPTに自分のロジックをまとめ直してもらい、テキストで説明させて確認しました。様々な方法で繰り返しテストした結果、一度も完全に正しい説明ができていません。つまり、ChatGPTは実は「ロジック」を理解していない(AIは言語モデルであるため、後で可能性のある理由を説明します)ということです。
その後、ChatGPTが誤解したロジックでプログラムを書かせてみたところ、驚いたことに、彼が生成したコードと彼自身が理解していたロジックは全く異なっていました!
何度かテストを重ねた結果、ChatGPTには「一般的な取引戦略を補完する」傾向があることに気付きました。彼がどのようにロジックを理解しようとも、コードには常に一般的な取引戦略(例えば、上昇幅が特定の割合に達したら売却するなど、私のロジックには存在しないもの)が勝手に追加されます。一方、ネット上でまだ誰も使用していない私の戦略の部分は、常に彼に無視され、毎回その特有のロジックが意図的に省略されます。
ここまで来ると、彼が本当に「言語」モデルであることがより一層確信できました。彼がプログラムコードを上手に書けるのは、彼のデータモデルに一般的なコードが豊富に含まれているからです。しかし「新しいロジック」については、彼は対応できません。
非常にシンプルに彼の答え探しの原理を説明すると、彼は実は出現確率の高い「次の文字」を探しているのです。つまり、このロジックが彼のデータベースで誰も使用していない場合、彼は正しいコードを書くことができません。彼はコードは提供しますが、すべてが不正確です(彼自身は気付いていません)。また、コードには曖昧な確率で次の文字を出力することができないという特性があります。なぜなら、間違いは間違いだからです。自然言語のように「この言い方もあれば、あの言い方もある」ということはできません。したがって、彼が曖昧な方法で計算した次の文字という結果は、全く使用できないものになるのです。
もう一つ興味深い点があります。彼は私に、参考になるAPIドキュメントがあるか聞きました。私が彼にAPIドキュメントのURLを渡して、閲覧できるか聞いたところ、彼は「大丈夫、すでに確認しました」と言いました。しかし、生成されたコードは全くそのドキュメント通りに実装されていません。それで私は彼に直接質問してみました。そのドキュメントに何が書かれていたか?彼は一見もっともらしくAPIドキュメントの一般的な構成を説明してくれました(しかし実際のドキュメントと異なります)。その後、私は彼に特定の関数が何という名前かを質問しました。結果は完全にドキュメントと異なっていました。私は「本当にドキュメントを見たのか?」と聞きました。彼は「はい」と答えました。その後、「でもあなたの回答は全て間違っていて、本当にドキュメントを見たのか?」と重ねて聞いたところ、彼は「申し訳ございません。実はドキュメントを見ていません。もし×××が必要でしたら、oooを参考にしてください...」と答えました。本当に何ですか??
しかし、ここまで来ると、彼は「言語」モデルであるという確信がさらに深まりました。現段階では、彼は本当に次の文字を見つけるツールに過ぎず、真の論理的思考ができないのです。
結論として、現在ChatGPTはシンプルまたは一般的なコードの作成を支援できますが、ロジックが複雑になると対応できません。そして彼は常に既に彼が持っているコードスニペットを見つけ出し、たとえ私のロジックに記述されていなくても使用します。(彼に何度も「既存の株式取引知識は無視してください」と指示しても、彼は口では同意しながらも結局自分勝手にやってしまいます)
ChatGPTに繰り返し正真正銘の嘘をつかれて、少しイライラしましたが、一連のテストを終えて感じるのは、「現在のところ」人類には大きな希望がある、ということです。ChatGPTは非常に優れたコードアシスタントツールになりえますが、「新しいロジック」は現在のところChatGPTが完全に対応できないものです。





