「基礎を学べる今の時間を大事にして」。 日本マイクロソフト・畠山大有さんに学ぶ、生成AI時代のエンジニアの学び方
生成AI(以下、AI)がコードを書く時代に、エンジニアを目指す人は、今から何を身につけておけばいいのか?KADOKAWAドワンゴ情報工科学院のメンバーの前に立ったのは、「Developers Summit 2024」でベストスピーカー1位に選ばれた、日本マイクロソフトの畠山大有さん。テーマは「生成AI時代のITの世界へようこそ」。音声入力で操作する「バイブコーディング」デモを交えた講演を追いました。
1.プログラムのキッカケは、嫌いな「繰り返し」作業
畠山さんは文系出身。
最初に入社した企業では、「図書館」関連のデータを手作業で入力していました。
畠山さん「私も最も嫌いな仕事でした。繰り返しが多いなと思っていて。当時Excelのマクロを使っていたんですけど、本を買ってきてプログラムを自作し始めたのがきっかけです」
その後、銀行や国の機関などのシステム開発に携わり、日本マイクロソフトへ。
2.コンピューターのできることは自動化とData化
畠山さん「コンピューターのできることは、同じ作業を繰り返す『自動化』と、データとして保存する『Data化』の2つで、人が指示した通りにしか動きません。AIが勝手に暴走することはないんです。うまく動かないときは、人の指示が足りないということ。想像で話してはいけません。必ず目の前にあるものを動かして、その事実に基づいた会話だけをしてほしいと思います」
3.AIは「私がやるよりも最低で10倍くらい生産性が高い」
続くAIデモでは、Windowsの音声入力で話した言葉を、Microsoft Copilotに渡しました。
「Webでオセロのゲームを作ってください。初級、中級、上級くらいの強さで、私とあなたが戦うゲームを作ってください。画面はファンシーな、かわいい感じにしてください」
コードは一切書かずに、AIに「こういうゲームを作って」という指示を音声入力。
すると……、コードが返ってきました。保存して開くと、強さを選べる「かわいいオセロゲーム」が登場。わずか2分足らずで完成しました!
畠山さん「生成AIは、文字列を投げて、文字列が返ってくるだけの、すごく単純な仕組みです。でも、Webの画面のHTMLも文字ですよね。だから結果として、画面が作れるわけです。肝心なのは、ここの想像力をどこまで広げられるか、なんです」
畠山さん自身、普段は3〜4つのジョブ(タスク)を同時に動かし、「一つ一つが、私がやるよりも最低で10倍くらい生産性が高いです」と話します。AIへの指示の出し方にも話が及びました。
畠山さん「何が欲しいのかだけを伝えてあげる。AIに指示するポイントは2つあって、やってほしいことと、やってほしくないこと。これだけです」
4.どういうメカニズムで動いているのかを知らなければ、お金がいただけない
プログラミングの世界では、新しい道具が出るたびに“パニック”が起きてきたといいます。1980年代は「アセンブリこそ本物のプログラマー」、1990年代は「インテリセンス(入力補完機能)は脳を腐らせる」、2000年代は「コピペ開発者」、そして今は「コーディングの終焉」。
畠山さん「インテリセンスを使っていると関数名を覚えないからダメだと、1990年代のベテランエンジニアは言っていました。今、バイブコーディングに対して出ている批判的な意見も、同じ話です。でも、出来上がってくるコードの質と量は、バイブコーディングのほうが圧倒的にいいです。ただし、コードは自分でちゃんと読んでください。どういうメカニズムで動いているのかを知らないままお金が取れると思うのは、大間違いです」
5.分解する能力を養ってほしい
深層学習(ディープラーニング)のAIは、人間が頭で追いきれる範囲を超えて、データから学んでいきます。だからこそ、1から10まで把握しようとせず、ある意味で任せるのがAIの世界だといいます。そして、「AIと対比になるものは、プログラミング」だと続けました。
畠山さん「プログラミングは手続き的で、必ず根拠があって、その根拠を実装しています。AIはデータからプログラムを作っています。機構が全然違うんです。だから、AIに手続き的なものを求めてはいけません」
例えば、朝6時に、寝ていたら声で話しかけるロボットを作るとします。
ハードウェアとソフトウェア(データ、プログラミング、AIモデル)に分解してみると、時刻の判断はプログラミング。カメラの画像から寝ているかを見分ける「画像分類」と、文字から声を作る「音声合成」は、AIのモデルが担います。
畠山さん「それぞれが連携することで、一つのものが出来上がっています。つまり、要素の分解です。この分解する能力を、皆さんには養ってほしいと思います」
6.原理原則は、一生モノ
話題はキャリアにも及びました。終身雇用が前提ではなくなった今、学んだ技術の半減期は約5年。一方で、キャリア年数は、60年から70年へと延びていきます。
畠山さん「仕事をしながら学ぶ姿勢がないと、ご飯を食べていけません。生成AIが登場したのなんて、つい最近ですよね。ただし、原理原則は一生モノです。Webは30年くらい、HTTPのところからほぼ変わっていません。大人になったら応用編ばかり求められるから、基礎を学べる今の時間を大事にしてほしいと思います。教養は一生モノです」
7.学んだことは、間違っていても公開する
最後に紹介したのは、Qiitaで公開している、Copilotと一緒に学ぶ方法の記事。
プロンプトを1つ入力するだけで、AIが学習計画を作り、最後はAIなしで解けるところまで導いてくれます。
畠山さん「今のうちに何を勉強したのか、自分のブログやGitHubに書きまくって、公開しまくってもらいたいです。間違っていても構いません。コーディングをしまくって、たくさん失敗してください。今だったら、失敗が許されます」
聴講したIT総合・渡邊仁基さんは「プロンプトを書くこと、コーディングの重要性が改めてわかりました」と話し、次の授業へと向かっていきました。
【PROFILE】
畠山大有さん
日本マイクロソフト株式会社 Microsoft Innovation Hub Principal Solution Engineer。佐賀大学客員教授。大学卒業後、システム開発企業などを経て日本マイクロソフト入社。国内外300社以上のITプロジェクトに、アーキテクト、エンジニアとして約30年携わる。TechEd、de:code、TechSummitなどの基調講演を含め、600回以上のセッションに登壇。佐賀県「SAGA Smart Tech Adviser」なども務める。「Developers Summit 2024」ベストスピーカー1位。
【公式サイト・SNS】
Speaker Deck https://speakerdeck.com/dahatake
LinkedIn https://jp.linkedin.com/in/dahatake
Qiita https://qiita.com/dahatake
Qiita記事「小中高校生、大学生、大学院生、専門学校生など学び舎で過ごしている方のための、分からないことを何でもCopilotと一緒に学ぶ方法」
https://qiita.com/dahatake/items/119a762bdcc0f31482e5
GitHub https://github.com/dahatake
X https://x.com/dahatake