「AI 時代のソフトウェアエンジニアリングと教育 @ 京都」 イベントレポート
はじめに
本記事は、2024年9月21日に京都にて開催された GDG Greater Kwansai による「AI 時代のソフトウェアエンジニアリングと教育 @ 京都」のイベントレポートになります。
GDG Greater Kwansai とは
GDG Greater Kwansai は、広域関西圏で活動する Google Developer Group です。
大阪、京都、奈良、神戸、岡山、四国、広島大学、大阪大学、金沢工業大学など、広い意味での「関西」を活動範囲にしています。 主に AI や Cloud Computing など、最新のテクノロジーに関するセミナーやワークショップを行っています。
未踏IT および未踏アドバンストへの誘い
京都大学学術情報メディアセンターの首藤一幸教授から、2つの「未踏事業」についてお話しいただきました。
「未踏IT人材発掘・育成事業」は、卓越した人材や才能を発掘・育成することを目的とした事業です。一方「未踏アドバンスト」は、成果を社会に打ち出すことを重視しているそうです。どちらのプログラムも、優れた能力と実績を持つプロジェクトマネージャー (PM) のもとで参加者の育成が行われます。
講演者: 首藤 一幸さん
首藤教授自身も未踏アドバンストの PM として活躍されているそうで、ご自身が担当された今年度のプロジェクトについても紹介してくださいました。
マーケットデザインの社会実装
マーケットデザインとは、科学的に市場を「設計」する学問分野です。従来の経済学がすでに存在する制度から結果を予測するのに対し、マーケットデザインは望ましい結果を得るための制度を設計するそうです。
講演者: 松下 旦さん
マーケットデザインの具体例として、全米最大のフードバンクネットワークである「Feeding America」が導入した「Choise System」の導入について紹介されました。この制度は、従来の物資配分方法の問題点を解決するために、2005年に導入されたオークション式のシステムです。
「Choice System」では、各フードバンクが仮想通貨を使って欲しい物資を入札します。これにより、各フードバンクは必要な物資を選択できると同時に、各物資の需要を把握できるようになったそうです。
フードバンクとは
食品関連企業や農家から、まだ食べられるのにさまざまな理由で廃棄されてしまう食品を引き取り、それらを必要としている人々や団体に無償で提供する活動や団体のこと。
セッションの最後には、松下さんの関わった社会実装プロジェクトについてもお話しいただきました。
ソフトウェアエンジニアになる方法
講演者: 小田 啓太さん
長年にわたってソフトウェアエンジニアの育成を行ってきた、一般社団法人ソフトウェアエンジニアリング協会理事の小田啓太さん。
小田さんがソフトウェアエンジニアリング教育を行っている理由は、資源の少ない日本において個人で外貨を稼ぐ能力が非常に重要となるからだそうです。その能力を持つ職業として、スポーツや芸術、エンジニアといった専門職が挙げられます。その中でもソフトウェアエンジニアは、他の分野と比べて多くの人材を育成しやすいという特徴があります。そのため、小田さんはソフトウェアエンジニアの育成に力を入れているのだそうです。
小田さんによれば、何かの専門家になるには「その分野固有の常識のセットを一式揃えること」が必要だそうです。この「常識」は専門家集団の中でのみ共有されており、分野が異なれば常識も大きく変わるといいます。そのため、ある分野の常識を知るには、その専門家集団に直接聞くのがもっとも効果的な方法だそうです。
常識を習得したと呼べる状態として、わかることに特別な感情を持たない状態、その範囲内で「相手がわかる」ことがわかる、つまりは他者の理解度を把握できる状態などが挙げられるそうです。
小田さんは最後に「いつか、人生で本当にやりたいことが見つかった時に、この話を思い出して欲しい」と語られました。
AI時代のソフトウェアエンジニアリングに備える
AI の登場によるソフトウェアエンジニアに求められるスキルの変化について、Kanon さんにお話しいただきました。
これまでソフトウェアエンジニアには、アルゴリズムやインフラ、プログラミング言語といった幅広い知識が求められてきましたが、AI の登場により、 AI 関連のスキルも求められるようになったそうです。Kanonさんによると、AIに関するスキルには「AI を作るスキル」「AI を使うスキル」「AI を使わない、または壊そうとするスキル」があるそうです。
講演者: Kanon さん
AI を上手く扱うためには、まず AI について理解する必要があります。これは、必然的に従来のソフトウェアエンジニアに比べて学ぶべきことが増えることを意味します。
AI時代の波に乗るためには、自分の目的に合った知識を揃えた「道具箱」を作る必要があるそうです。一方で、闇雲にさまざまな知識を詰め込めば良いわけではなく、目的に合った必要な「道具」を厳選し、洗練した上で使いこなすことが必要になるそうです。
Flutter MVVM+DI応用: ViewModelを依存性注入可能にして、テストしやすくする
GDG Kyoto の兼高理恵 (robo) さんによって、Flutterのサンプルアプリであるカウンターアプリを題材に、簡易 DI コンテナを使って機能追加やテストを柔軟に行う方法についてのセッションが行われました。
DI (Dependency Injection) とは、ソフトウェアが特定の依存先に縛られず、必要な機能を外部から注入できる手法です。これにより、依存関係を柔軟に変更・拡張することができ、保守性やテストのしやすさが向上します。
今回のテーマとなっているカウンターアプリには、カウントアップという機能要件と、最小限のスモークテストが必要という事業要件がありました。DI コンテナを使うことで、依存先を変更せずに機能追加が可能となり、テストでもアプリ内の状態を容易に確認・実装できるようになりました。
スモークテストとは
ソフトウェアの基本機能が正常に動作するかを確認するための簡易的なテスト。大きな問題がないことを確認してから、より詳細なテストに進むための初期段階のチェックとして使われる。
講演者: 兼高 理恵 (robo) さん
アプリケーションが多くのユーザーに使われるためには、ニーズの変化に柔軟に対応することが重要です。DI コンテナを活用することで、アプリの変更や拡張が容易になり、エラーへの対応やテストも効率的に行えるようになるそうです。
Alpha+ Projectでの学びとAIを駆使して、個人開発プロトタイプ作ってみた
Alpha+ Projectの2期生である楊敬韜さんは、中国物産のみを扱うECサイト「PANDA MARKET」個人開発プロトタイプを制作しています。
楊さんには日本のユーザーに中国商品をもっと知ってもらいたい、中国物産店の販路を拡大したい、中国食品から離れた中国の方々を再び引き戻したいといった思いがあったそうで、ECサイトを通じてシェア型のプラットフォームを構築し、商品の配送や取り置きなど気軽に商品を手に入れる手段を提供したいと考えたことが開発の動機だそうです。
講演者: 楊 敬韜さん
開発に入る前には、One pager と Design docを作成し、ゴールと非ゴールを明確に定めたそうです。ゴールは「店舗が簡単に登録できること」と「注文が最寄りの店舗に自動で分配されること」。非ゴールには「取り置きの時間設定」や「オーダー分配の複雑なアルゴリズム」が含まれていました。
「PANDA MARKET」の開発を通して感じたこととして、新しい技術に挑戦する際は事前に入念な調査が必要なことや、ドメイン知識を深める重要性、そして One pager と Design doc がチーム開発だけでなく個人開発においても非常に有効だったということが挙げられました。
教育とAIを語るハンズオン: プロンプトソン × モブプログラミング × ブレイクアウトルームディスカッション
講演者: 松井 敏さん
Alpha+ Project の TA である松井敏さんによって、モブプログラミングの要素を取り入れつつ、AIに投げかけるプロンプトを考え、各チームが「教育とAI」をテーマにした10分間のディスカッションを行うといったハンズオンが行われました。
今回のテーマである「プロンプトソン」は、「プロンプト」と「マラソン」を組み合わせた言葉で、ハッカソンから着想を得たそうです。
ディスカッション後は、チームで議論した意見を発表し合いました。「小学生の教育にAIを活用すべきか」や「大学生がAIを使う適切なタイミング」など、各チームがそれぞれ色々な方向性で議論が行われていました。意見交換が行われた後は、先ほどの意見と反対の立場になって、再びディスカッションを行いました。
ハンズオンの終了後には、参加者から「AIは反対の意見を考えるのが苦手かもしれない」「AI は一般的な意見を出すことが多いが、新しい発見が見つかることもあった」などの意見が挙げられていました。
来場者数
現地参加: 39人
オンライン参加: 43人程度
次回イベントについて
次回は 2024年10月19日に、AI時代に求められるソフトウェアエンジニアリングスキルや実践的な知識をテーマに、現役エンジニアや研究者が多彩な講演を行います。
未踏プロジェクト、医療AIの開発、Go 1.23 の新機能を駆使したソフトウェア開発など、幅広い分野のセッションを予定していますので、ご興味のある方はぜひご参加ください!
さいごに
GDG Greater Kwansai は、毎月各地を巡ってイベントを開催しています。
最新情報は以下のアカウントでお知らせいたしますので、ぜひフォローをお願いいたします!
各種アカウントリンク
GDG Greater Kwansai
Greek Alphabet Software Academy:
Discussion