【第4弾】生成AI×教育実践事例インタビュー|「生成AIを使わない」プログラミング授業と今後の展望
2024年10月31日作成
はじめに
デジタルハリウッドは、「生成AI×教育」をテーマに、生成AIを用いた教育実践や、本学大学院生の生成AI活用術を集めてまいりました。
※前回記事はこちら
:生成AIがクリエイター教育にもたらす未来と課題~教員の使命とは~
https://academy.dhw.co.jp/knowledge/generativeai-interview-4/
今回は、デジタルハリウッド大学大学院にてプログラミングを教える山崎大助特任教授をインタビューし、プログラミングの授業で生成AIを「あえて使わせない」理由や、生成AIがプログラミング教育に与える影響と教員へのアドバイスをお届けいたします。
山崎特任教授プロフィール
G’s ACADEMY 学校長。
ジーズアカデミー学校長(卒業生が6年で70社起業、総資金調達額80億の起業家エンジニア養成スクール)として教鞭をとる傍ら 「 LaravelDB.com 」「 BingMaps GO! / BmapQuery.js(Microsoft OpenSource Projectに採択される) 」など開発者、制作者のための Webサービスを運営、OSS活動もおこなっている。 研究・OSS活動が認められ米Microsoft公式サイトに日本人では初めて掲載される。 @IT、日経ソフトウエアなど数々のメディアで執筆を手掛け、日経PC21「名作フリーソフトを訪ねて」でも自身の開発したアプリが選出するなど、 多方面で活躍。
Q: 山崎先生の授業「サービスプロトタイピングA」の概要を教えていただけますか?
A: JavaScriptを用いたプロトタイプの作り方を学ぶ演習授業です。授業後には、毎週小さなアプリケーションを開発してもらっています。
Q: プログラミングと生成AIは相性が良いと聞いたことがありますが、実際に授業に生成AIを組み込んでいますか?
A: 実はですね、最初の1カ月くらいは生成AIでプログラミングコードを生成しない方が良いですよという指導をしているんです。
Q: そうなんですね!その理由を教えていただけますか?
A: 最初は生成AIを積極的に使わせた方がいいと思っていました。しかし、自分が理解していないコードを生成AIに作らせ、それをそのまま受け入れてたり、プログラミングができるようになった気になってしまう学生が出てきたんです。プログラミングのトレーニングに来ているのに、生成AIに正解を作らせてしまったら、何を学んだんですか?という状態になってしまいます。なので、私が行う授業では、生成AIの利用は調べものにとどめ、最初の1カ月はプログラミングコードを生成しない方が良いという指導をしています。
Q: AIに頼りすぎると、学びの本質が見失われるんですね…。
A: 出てきたコードが正しいかどうかの判断ができないうちは、プログラミングで生成AIを使いこなすのは難しいと思います。
むしろ、AIに全て任せてしまった人は考えていないので、基礎をコツコツ積み上げた人と明らかに差がついてしまいます。後から追いかけようとしても焦ってしまい、学びに追いつけなくなるんです。もう一度最初からやり直すのも大変だと思います。
Q: 最初の1カ月は生成AIを使わない方が良いことを、学生にどのように伝えていますか?
A: 「基礎知識がない中でAIを使っても、絶対に使いこなせません。皆さん、プロンプトを考えるのに何分かかりますか? プログラミングの質問をしてみて、どれくらい時間がかかると思いますか? 出てこなかったら無駄な時間ですよね。でも、初期段階で基礎知識を学んでおけば、一瞬で答えが出せるようになりますから、まずは基礎をしっかり学んだ方がいいですよ」という話をしています。
Q: どういうタイミングでプログラミング学習に生成AIを取り入れると良いのでしょうか?
A: 基礎がしっかりしている人には.、コード記述の効率が上がるため、どんどん使った方がいいと思います。また、基礎知識がある上で新たなコードを生成AIに作らせて「ああ、こういう書き方があるんだな」と記法の幅を広げるのはいいと思いますね。
Q: 先生のご経験から、生成AIの台頭によりプログラミング業界にどのような変化が起きていると考えますか?
A: もちろん、すごい人たちは今までどおりすごいんですけど、生成AIの登場以降、ロジックを作ったり自分で考えてコードを書く能力が全体的に落ちているように感じます。
今までは頭をフル活用したり自分で調べないとコードを書くのが難しかったのですが、現在はある程度生成AIが解決してしまうため、AIに「任せてしまう」状況が生まれています。その結果、オリジナリティを持って自分がゼロから何かを作り上げる力もAIに任せになってしまう方もいるような気がしています。
また、生成AIは必ずしも最新の情報を持っているわけではないにもかかわらず、AIが完璧だと信じ込んでしまっている人が多い気がします。
Q: 生成AIの台頭によりエンジニアが不要になる可能性はあるのでしょうか?
A: エンジニアは今後も需要がある職業だと思います。能力が問われる職業なので、できる人が必要です。「これは良いコードだ」と判断できる人がいなければなりません。大規模なシステムになればなるほど、それを統合し、検証するのも人間の仕事です。確かに人数は減るかもしれませんが、それでも必要であり続けるでしょう。
Q: なるほど。今後も需要はあるのですね。
A: ただし、PM(プロジェクトマネージャー)や上級制作者が指示を出して、言われた通りにやってきたプログラマーはいなくなります。そういった仕事は生成AIに任せた方が早いんです。わざわざ説明する時間がもったいないですし、プロンプトでコードをざっくり書いて微修正する方が効率が良いからです。
Q: 一部のプログラマーの仕事は消滅するんですね…。
A: でも、悲観すべきことではありません。僕が会社の社長だったら生成AIを使いこなせる人よりも、正しくプログラミングの基礎知識が分かっている人を採用しますね。なぜならエンジニアは、環境構築や設計、要件定義、さらにユーザーがどこにボタンを置けば使いやすいかなど、さまざまなことを考えなければいけないからです。だから、僕だったらまずはエンジニアを採用して、そのエンジニアにAIを使いこなせるようになってもらいますね。
Q: 今後エンジニアとして活躍するためには何が求められるのでしょうか?
A: 先ほども基礎知識のお話をしましたが、まずは自分で判断できる基礎知識をしっかり持った上で生成AIをうまく使いこなせることは最低条件だと思います。基礎知識を持ちつつも、面倒なところはAIに任せて時短することが求められてきます。すでにできる人がさらに効率を上げられるという感じです。
また、責任能力も重要です。これは、企業が大きくなればなるほど重要なんです。生成AIが登場しても、最終的に責任を取るのは人間だからです。だからこそ、自分でデバッグをして、コードを読んで問題ないと確認した上で責任を持つことは重要になります。
Q: 生成AI時代に、どのようなプログラミング教育が求められるのでしょうか?
A: 「皆さん、分からないことがあったときに質問できますか? 出てきた答えを正しいと判断できますか? 分からないですよね? だからプログラミングを学ばなければいけないんですよ」という風に伝える教材が必要かもしれません。
ただし、個人的にはコーディングはこれまで学校が提供してきた教育カリキュラムが圧倒的に学びやすいと思っています。学習ストーリーが体系的に組み立てられているからです。
今後、もしかするとAIの使い方についても教育カリキュラムに組み込む必要になるかもしれませんが、最終的には基礎を学ぶことの重要性を伝える必要があると思います。
Q: では、今後もプログラミング教育は必要、ということですね。
A: 「生成AIを使ってプログラミングを勉強すれば良いじゃん」という人も多いですが、生成AIを教育コンテンツとして活用するのはまだ難しいと思います。AIは同じ質問をしても、毎回違う答えを返してくることが問題なんです。つまり、生成AIは記法が統一されていないので、毎回異なる回答を出してこられると、どれが正しいのか分からなくなるんです。
もちろんプロンプトをうまく使う人は、似たような答えを出せますが、同じ答えを出してもらうには適切なプロンプトを作らなければなりません。そのプロンプト作成に時間を使うなら、手を動かして学んだ方が良いというのが、現場でコーディングする人たちの実感です。
また、僕たちのような大学では、ゼロから何か新しいものを作るか、ないものを組み合わせて問題を解決することが求められます。これらは全て基礎知識があるからこそできる技です。なので、生成AIを使いこなすためにも、基礎知識が身につくようなプログラミング教育は必要不可欠です。
Q: ありがとうございます。最後に先生方へメッセージをお願いします。
A: たとえ生成AI時代が来ても、立ち止まらずに少しずつ進んでいけば学生さんはエンジニアとして輝けると思います。これからAIがどんどん進化していっても、基本的な仕事は残り続けるので、もし途中で挫折しそうになっても焦らずに進めば大丈夫ということをお伝えいただきたいです。
生成AIとは、WordやPowerPointの延長線上にあり、効率的に仕事を進めるためのツールのひとつでしかないんです。最終的に主導権を握るのは人間ということを、常に忘れないようにしていきましょう。