太子プログラミングクラブ中級第1期(2026年3月)~AIチャット機能を追加する~
太子プログラミングクラブは、双方向通信をするプログラムに取り組んでいます。3月はチャット機能に、自動応答を組み込みます。まずは自動応答から。後半で生成AIによる柔軟な応答を体感します。
Contents
GitHubからコードダウンロード
プログラミング学習の初期段階で写経は効果的な方法の一つです。クラブでも写経を基本としています。
しかしながら、「長いコードになるとなかなか動かない」「短いコードだと出来上がりが面白くない」という矛盾に悩んできました。一部生成AIを使うことで、コーディングが未熟でも動くプログラムを作れるという体験は可能になりました。ただ、この方法はわたしがコードを把握できないという別の悩みがあります。
コードと実際の動きをリンクして体感してほしいという考えがあって、それを実現するアイデアがなかなか出てこなかったのです。
今までは、ホームページにコードを載せたり、ファイルを配ったりしていました。しかし、いまいちしっくりこない状況でした。今回始めたのはGitHubによるコード共有です。
コードを共有させるまでのわたしの手続き量と、やりたいことが合致しているように思います。

大学生や社会人がチームでコーディングするなら当たり前なのでしょう。大人→子供のコード共有でどれだけうまくいくか、これから検証です。
この日は、考えていた以上にうまくいきました。全部のコードを写経するのではなく、重要なところに絞って写経する仕組みが作れそうです。
IPアドレスの取得を基本動作に
3回目となると、「自分のIPアドレスを調べて記録してね」と伝えるだけで、メンバーだけで出来ます。

メンバーを見ていると、小学生だから難しいとか関係ないと思います。難しいかもしれませんが、それを楽しんでいるように見えます。厳密な理解はとりあえず置いといて構いません。周辺知識を勉強していけば、そのうちわかるようになります。それでいいと思います。
クライアント側を自動応答プログラムにする
サーバー側はそのままで、クライアント側を自動応答プログラムに変えます。プログラムはGitHubへ。
サーバー側からメッセージを送ると、クライアント側が自動でメッセージを返します。
メンバーのうち、半分は動いたかな。歓声が上がっていました。プログラムが動いた時のこの歓びは、やったことがある人でないとわからないと思います。あなたもぜひ体感して下さい。
ファイヤーウォール設定にやられた
クラブの前には、プログラムの動きを検証しています。もちろん今回も検証して臨んだのですが、うまくいく送受信ペアとそうでない送受信ペアがでてきました。
すべての環境を検証できるわけではないので、これが現実です。特に複数台がからむ通信プログラムは想定外がたくさん出ます。
その場で検証しながら、問題解決していきます。この姿を見せるのが、プログラミング学習の本質だと思います。
「問題解決のために、仮説検証を繰り返しながら答えにたどり着くプロセス」
見せてる方はめちゃくちゃハードです。限られた時間で成果を出さないといけないので。教材を与えて、ぼうっと見てるだけじゃないんですよ。
ライブコーディングしてみた
将棋・囲碁の大判解説風に、コーディングをリアルタイム解説してみました。

コーディングがクラブ一速いメンバーに実際に入力してもらいながら、コードの意味を解説していきます。普段は写経だけなので、今回は意味も説明しました。
反省点。入力が速すぎて、わたしの解説が追いつかないという大誤算。
AI自動応答チャットを作る
手動でチャット応答するのではなく、AIの人格設定して自動で応答させるプログラムを作ります。
githubを覚えたおかげで、進行がスムーズです。


でもやっぱりファイヤーウォールにやられます。ファイヤーウォールがいい仕事をしています。
わたしは、そこの対策をアドリブでやります。無事、全員AIチャットを作成できました。
次回から、対戦型ゲーム作成
通信がどんなプログラムで、どのようなプロセスで動いているか、4回でなんとなく感じてもらえたかなと思います。次回から、この通信プログラムを応用して対戦型プログラムを作成します。

