最近、AIを使ってWebアプリを作ることにハマっています。

自分でコードを全部書けるわけではありません。

「こういうものを作りたい」とAIに伝えて、相談して、直して、また試す。

それを繰り返していると、プログラミングの知識がほとんどなくても、本当にアプリが形になっていきます。

最初は、それがただただ面白かったです。

でも、作るものが増えていくにつれて、少しずつ気になることが出てきました。

これ、何が起きているのか自分はちゃんと分かっているんだろうか。

結論から言うと、AIでアプリを作るために、コードを全部自分で書ける必要はないと思っています。

ただ、実際に作ってみて感じたのは、プログラミングやWebの仕組みを少し知っているだけでも、AIとの付き合い方はかなり変わるということでした。

そこから作ったのが、CTOCENDです。

AIが「大丈夫」と言っている。でも、本当に?

AIと一緒に開発していると、いろいろな提案をしてくれます。

「この方法で実装できます」

「ここにデータを保存します」

「この修正で問題ありません」

便利です。

実際、その通りに進めれば動くこともたくさんあります。

ただ、自分に技術的な知識がなければ、その提案が本当に正しいのか判断できません。

画面上ではちゃんと動いている。

でも、裏ではどういう仕組みになっているんだろう。

データはどこに保存されているんだろう。

この作り方でセキュリティは大丈夫なんだろうか。

AIに聞けば、また答えてくれます。

でも、その答えが正しいか判断するために、またAIに聞く。

それだと結局、ずっとAIを信じるしかありません。

ここで最初に気づいたのが、

「AIで作れる」と「自分は何も理解しなくていい」は、たぶん別の話だ。

ということでした。

AIに全部を書いてもらってもいい。

でも、何をしているのか少し分かっていた方が、自分で判断できることは増える。

そのくらいの知識は欲しいと思うようになりました。

でも、プログラミングを勉強したいわけじゃない

じゃあ、プログラミングを勉強しよう。

……とは、あまりなりませんでした。

別にエンジニアになりたいわけではないからです。

コードを全部自分で書けるようになりたいわけでもない。

AIを使えば、そこはAIがやってくれる。

僕が欲しかったのは、もっとその手前の知識でした。

AIがやっていることを自分でもある程度理解して、自分で判断しながらAIを使えるようになりたい。

たとえば、データベースという言葉が出てきたときに「何それ?」で終わらない。

APIやサーバー、GitHub、セキュリティの話が出てきたときに、なんとなくでも何の話をしているのか分かる。

AIの提案に対して、

「なるほど、それなら大丈夫そう」

とか、

「そこはもう少し確認した方がよさそう」

とか。

自分なりに考えられる。

僕に必要だったのは、そんな知識でした。

「全部知る」より「判断できる」くらいでいい

AIでアプリを作っていると、知らない言葉はいくらでも出てきます。

全部をその都度きっちり理解しようとすると、たぶんしんどい。

だから、自分の中では少し考え方を変えました。

全部覚えなくてもいい。 でも、判断に必要なところは少し分かっていたい。

このくらいです。

たとえば、

「これはどこにデータを保存しているんだろう」

「この変更で別のところに影響はないかな」

「この情報は外に出ても大丈夫なものかな」

みたいなことに気づけるだけでも、AIとのやり取りは変わります。

専門家のように答えを出せなくても、

“ここは確認した方がよさそう”と気づけること自体に意味がある。

これは実際にAIでいくつかアプリを作ってみて、かなり感じるようになりました。

勉強するより、ぽちぽち遊びたい

とはいえ、参考書を最初から読むような勉強を始める気にもなれませんでした。

そこで考えたのが、

ゲームみたいに、ぽちぽち遊びながら覚えられないか。

ということでした。

一つ遊んで、

「へー、そうなんだ」

また一つ遊んで、

「これ、AIが言ってたやつか」

そのくらいでいい。

技術を体系順に並べるのではなく、実際に何かを作るときに出会いそうな順番で知っていく。

必要になった場面で、必要な知識に触れる。

あとから実際の開発で同じ言葉が出てきたときに、

「あ、これ見たことある」

と思えればいい。

勉強そのものを目的にするのではなく、何かを作ることの横に知識がついてくる。

そんな学び方なら、自分でも続けられそうでした。

最初のプロトタイプは、ちゃんとつまらなかった

実際にプロトタイプを作ってみました。

問題が出て、選択肢を押して、答え合わせをして、解説を読む。

一応、ゲームっぽい。

スコアもある。

進捗もある。

ちゃんと学べる。

でも、触ってみると何かが違いました。

あんまり楽しくない。

ゲームっぽい見た目にしても、やっていることがずっとクイズなら、結局は「問題集をゲームっぽくしたもの」でした。

ここで一つ気づきました。

ゲームっぽい見た目と、ゲームとして楽しい体験は別物。

ポイントをつける。

レベルを上げる。

正解したら演出を出す。

そういうものを足しても、体験そのものが面白くなるとは限らない。

自分が欲しかったのは「正解を当てること」ではなく、もう少しその中に入り込んで遊べる感覚でした。

そこで、途中でかなり大きく作り直しました。

「知っている?」ではなく「どうする?」に変えた

方向を変えるときに意識したのが、

知識を答えるのではなく、状況を見て判断する

ということでした。

何かを作る。

ユーザーが増える。

問題が起きる。

技術的な選択を迫られる。

そこで「どうする?」と考える。

必要になったタイミングで、その裏側にある技術を知る。

単純な四択問題だけではなく、チャットのようなやり取りや、トラブルへの対応なども混ぜながら、少しずつ「判断する側」に寄せていきました。

考えてみれば、これはCTOCENDを作ろうと思った理由そのものでした。

僕自身が欲しかったのは、技術用語をたくさん暗記することではありません。

AIが出してきたものを理解して、自分で判断する力が少し欲しかった。

だったらゲームの中でも、ただ正解を覚えるより、判断する方がいい。

プロトタイプを一度作って「なんか違う」と感じたことで、ようやくそこに気づきました。

CTOCENDを作って見えてきた3つのこと

CTOCENDを作りながら、結果的にこんなことを考えるようになりました。

まず、

AIで作れることと、何も理解しなくていいことは別。

全部自分で書けなくても、仕組みを少し知っているだけで、AIの提案を見る目は変わります。

次に、

ゲームっぽい見た目だけでは、ゲームにはならない。

ポイントやクイズを足すより、「何を考えて、どう判断するか」という体験そのものを作る方が大事でした。

そして、

知識は、必要になった場面で出会うと理解しやすい。

最初から全部覚えようとするより、使う場面と一緒に知っていく。

これは技術に限らず、何かを学ぶときにも同じかもしれません。

AIに全部任せなくてもいいし、自分で全部やらなくてもいい

AIのおかげで、僕みたいに技術やコードに詳しくなくても、アプリを作れるようになりました。

これはすごく楽しい変化だと思っています。

だから、AIを使わずに全部自分でできるようになる必要はないと思っています。

知らないことはAIに聞けばいい。

コードも書いてもらえばいい。

でも、何も分からないまま全部を任せるのと、少しだけ仕組みを知ったうえで任せるのは、たぶん違います。

全部自分でやる必要もない。

全部AIに預ける必要もない。

その間に、自分なりの理解と判断を少し持つ。

僕にとっては、そのくらいがちょうどよさそうでした。

「へー」が、ひとつ増えたらいい

CTOCENDを遊んだからといって、コードが書けるようになるわけではありません。

エンジニアになれるわけでもありません。

たぶん、それでいいと思っています。

ぽちぽち遊んで、

「へー、そうなんだ」

が、いくつか増える。

そして次にAIと何かを作っているとき、

「あ、これ見たことある」

と思える。

昨日よりほんの少しだけ、AIが何をしているのか分かる。

遊び終わったときに、

「なんか、ちょっと知識増えたかも。」

と思ってもらえたら。

CTOCENDは、そのくらいのゲームでありたいと思っています。