なぜこのアプリを作ったの?
今回は、私が最近取り組んだプロジェクト、プレゼン管理アプリについてお話しします。CoderDojoの発表会、最近はどんどん盛り上がってきていますよね。参加者が増えて、発表時間も長くなってきました。これはうれしい悲鳴なのですが、同時に運営の効率化が必要になってきました。
これまでも、発表用シートを用意したり、メンター陣で役割分担をしたりと工夫を重ねてきました。でも、さらなる改善の余地がありそうだと感じていたんです。そこで思いついたのが、このプレゼン管理アプリです。
AIによるプログラミング
開発過程はちょっと面白かったんです。まず、手書きのイメージ図をAI(Claude 3.5 Sonnet)に見せて、HTMLの雛形を作ってもらいました。そこから少しずつ機能を追加していく方法で開発を進めました。インプットはこんな手書きの仕様書一枚でOKなんです。凄くないですか。
最終的にはPHPで動作するようにして、発表者リストをサーバー上に保存できるようにしました。これでメンターや保護者の方々も、いつでも発表順序を確認できるようになりました。
面白いことに、HTML版は不具合なしの100点満点。わずか1時間でAIが完璧に作ってくれたんです。
ただ、PHP版に移行する際、CSS、JavaScriptファイルを分けたこともあって、ちょっとした困難に直面しました。ファイル名の設定ミスや、ファイルの作成漏れなどで不具合が出始めたんです。
ここにきてAIが凡ミス連発です。
プログラミングスキルまだまだ必要
HTMLアプリを作成していて疑問が浮かびました。「AIがあれば、もうプログラミングスキルはいらないのでは?」
確かに、簡単なアプリならプログラミングの知識がなくても作れました。でも、不具合が出たときは話が別。スキルがないとかなり苦労します。
AIに不具合の原因を聞いても的確でない場合があります。時には、余計な修正をしてしまうこともあるんです。AIは原因を正確に特定してテストしてくれるわけではなく、対症療法的にコードを修正してしまうことがあります。余計なことしないで~ってなるわけです。
結局、自分で原因を調べたほうが近道だったりするんですよね。
PHP版の公開までは半日程度でしょうか。それでも爆速です。
AIとうまく付き合うコツ
AIを使ってプログラミングする際のコツもつかめてきました。
1. AIが書いたコードが理解できないときは、丁寧に解説してもらう
2. ソースにコメントを入れてもらう
3. 関数の使い方を教えてもらう
4. アルゴリズムの選択理由を聞く
5. 変数の役割を確認する
要するに、わからないところは遠慮なく聞きまくるんです。そうすることで、自分の実力アップにもつながり、不具合解決の可能性も高くなります。細かい修正は自分でやってしまったほうが早くなるはずです。
みんなで使って、みんなで改善
このアプリのソースコードはGitHubで公開しています。CoderDojo Aizu専用に設計していますが、PHPを実行できる環境があれば、カスタマイズして使っていただけます。
機能拡張も大歓迎です!みなさんのアイデアで、このアプリがさらに便利になっていくのを楽しみにしています。
プログラミングの世界は日々進化していますが、人間の創造力とAIのパワーを組み合わせることで、まだまだ面白いものが作れそうです。これからもCoderDojo Aizuでは、新しい挑戦を続けていきます。みなさんも、一緒に楽しんでいきましょう!