■ はじめに:ChatGPTにコードを任せてみて、見えてきた“本質的な限界”
ChatGPTにコードを書かせる──
もはや、ある程度の開発経験者にとっては日常的なことだ。
私自身も、今回実際にAIと協力して仮想通貨の自動売買システムを構築した。Pythonコード、API連携、データ保存、通知まで、
お願いすればたいていのコードは出てくる。
でも、ふと気づいた。
「このまま任せていたら、“動く”けど“美しくない”システムが出来上がるな」と。
そう、ChatGPTは“個別の部品”は見事に作ってくれるが、“全体設計”の観点が抜けているのだ。
■ コードは出せる。だが“構造”や“思想”は自動生成されない
私が実感したのは、以下のようなことだ:
- 以前生成した関数をうまく再利用すればいいのに似たような関数を生成してしまう。
- 投資上限値の計算は、既に注文済みの金額を設定値から差し引きせず、注文金額を足して計上していた。
- 「この変数、別のモジュールでも使う設計が必要では?」
- 「冗長な処理になっているけど、設計の意図が不明確だからそのまま繰り返されている」
- 「このコード、後から拡張できる前提で設計されていないな」
つまり、ChatGPTは“設計思想”を自動では考えない。
今後の保守性を考えた設計にはなっていない。
あくまで、「指示に対する最適なコード片」を出す存在だ。
なのでコードの中の変数などの意図も人間がチェックする必要がある。
だからこそ、人間側に設計思想がなければ、AIから出てくるのは“動けばいいコード”になる。
関数を再利用しないなどは結構ある。なので全てのコードを確認し、
リファクタリングして、再度チェックという工程が必要だと考える。
(※もちろんリファクタリングはAIにさせればよい。人間はチェックできるスキルが必要になる)
■ 経験のない人間が指示すると、まともな設計にはならない
SNS上ではインフルエンサーが、もうプログラマーは必要ないなんて騒いでいる。
いやいや、それは、ちょっと大袈裟だ。
ちょっとしたプログラムならそうだろう。
確かにAIを使えば誰でも開発できる──ように“見える”。というか、今回本格的に開発するまで私自身そう思っていた。
でも実際には、以下のような構造になる:
開発経験がある人間 × AI → 実用的でメンテナンス性あるコード
経験がない人間 × AI → “動く”けど雑で非構造的なコード
つまり、AIはあくまで“補助者”であり、“設計”を肩代わりしてはくれないということだ。
これってまるで新人と同じレベルなのである。
■ 結論:AI時代においても、設計思想を持てる人間が勝つ
AIはすごい。
でもそれは、指示を出す人間の構想がしっかりしていてこそ。力を発揮するものだと言える。
だから優秀な人間にとってAIは最高の相棒になる。
しかし裏を返せば、AIを使いこなすには「設計する力」、「構造を描く力」がますます重要になる。
これからの時代、コードはAIを使えば誰でも書ける。
そして、“設計できる人間”はますます価値が上がっていく。
それは優秀な人間とそうでない人間の格差が広がっていくということでもある。
私は今回のツール開発でそれを確信した。
だが残酷な事実である。




