少し作りたいものがあって個人でシステム開発をすることになった。ちょこちょことAWSを触っていたりはするものの、動作原理の確認程度。
労力をつぎ込んで作りたかったものがなかった。普段はコードを書かないし、何度となく勉強はしていたが、しばらく触らないでいると忘れてしまう。結局、時間のムダになってしまうので放置状態だった。
しかし、そんな自分にとっていい時代がやってきた!
生成AIの急速な進化だ。ChatGPTで基本的なコードを生成出来る。要件を明確に出来れば、及第点の成果物がサクッと出来るのだからこれを使わない手はない。
もちろん、本格的にコードを書くのであればGitHub Copilotのような専用AIもある。しかし、他の用途でも使うことを考えるとChatGPTの方がいい。同じように課金するのであれば、コード生成以外にも賢く色々やってくれる方がありがたい。このあたりはどれだけプログラマにどっぷりかで変わってくると思う。
そんな感じで触り始めたのだが、案外苦戦している。結論からいうとコードを書く前の段階でつまづいている。
具体的にはAWS上でWebアプリを作っている。Lambdaを使ってAPIを作りたい。
まずはサンプルを作ろうと思ってコードをChatGPTで生成。AWS上で実行しようと設定。
が、動かない(笑)
そのまま数時間を悪戦苦闘するも解決せず。具体的にはCORSの設定。ググったりして情報収集しても、断片的な情報ばかりで本質的に何が問題なのかにはたどり着けず。もちろんChatGPTに質問をしたりもするが、すでに見返している設定に関するアドバイスが出てくるのみ。
結局、Lambdaに関する知識が根本的に不足していると判断。急遽、以下の書籍を買い込んで基礎知識を拡充することしました。色々とあったんだけど、Lambdaに特化していた点とユーザーレビューが初心者向けには向いているということで購入。電子書籍版もあります。
結論としてこれが正解!
そもそもCORSとは何かという根本的な考え方の部分を勘違いしていることがわかりました。ようやくコードを実行する段階に進むことが出来ました。
今回、一番の学びは上位となる基本概念をおさえることが大切だということ。AI活用によるシステム開発では、AIに対して正しく指示を出す必要があるわけです。この正しく指示を出すためには、物事の基本概念の理解が大切です。
「こうやったら出来るはず」「これが動かないということはここが間違っているはず」
正しく指示を出すとともに、結果を検証する能力。そして方向が間違っている場合はそれを正す能力。マネジメント力と言い換えてもいいかもしれません。
AIに対して良き上司となれるかどうか。AIの性能を引き出すのも、これが関係しているのは興味深いところです。