AIハッカソンに参加して感じたこと
はじめに
こんにちは!名古屋工業大学修士2年の柊です!今回は、学生アルバイトとして勤務している、GMOメディア株式会社で実施されたAIハッカソンに参加させていただいたことについて書きたいと思います!
AI推進の取り組み
GMOインターネットグループ株式会社では、1人あたり月1万円支援していただける「GMO AIブースト支援金」制度があります。これにより、GMOメディア株式会社サービス開発部に所属するエンジニアは全員AIツールと契約しています。
AIハッカソンについて
主催者の方が記事を書いてくれたのでこちらをご覧ください。
今回作成した制作物
制作の方針
今回AIハッカソンで開発するにあたって、一つだけ決めていたことがあります。
それは何を作るか、どうやって開発するかは全てLLMの出力に従うということです。
制作過程
今回一緒に開発してもらうのは、上記の支援制度でMax(5xプラン)を契約しているClaudeくんです。
まずはじめに、今回のAIハッカソンのテーマと評価基準についてClaudeくんに投げて納得いくアイデアが出るまで50個提案してもらい、その上でそれぞれの評価基準をもとに高い評価をした作品を理由とともにあげてもらいます。その中で、一番しっくりくるかなと思った抽象→仕様変換AIを選択しました。
ということで、次に対話しながら仕様書を作っていきます。今回は短時間で開発するために、機能要件・非機能要件・最小構成・技術構成を考えます。
と、順調に進めていたのですがここで問題発生。このまま開発してもわくわくする技術的挑戦もなくただLLMとの通信しか技術的に含まれないなということ気づきました。
なので、最初からやり直しです。今度は技術的挑戦に重きを置いて構成案を考え直します。
流れは最初と同じなので省略しますが、出てきた案が表情認識メンタルケアサービスです。
そして仕様書をもとにAIに開発を任せていきます。
今回の開発では、以下の流れでLLMに開発を依頼していきました。
- 全体の大まかなモックの実装
- webカメラの実装
- 疲労度計算ロジックの改善
- ダッシュボードのUI改善
- セッションの履歴保存機能
- LLMによる疲労度別休憩提案メッセージ <-このPRが動かない状態でタイムアップ
結果と今回の学び
疲労度の計算のロジック設定に思った以上に時間をかけてしまい、本来今回のメインコンテンツであったLLMによる疲労度別休憩提案メッセージの開発途中でタイムアップとなってしまい非常に悔しい結果となってしまいました。
今回は縛りとしてLLMに全て記述させましたが、単純な変更でもLLMの思考時間が案外長く、人力とLLMによる変更をうまく組み合わせることが実装時間の短縮に繋がると感じました。
LLMに指示する上でいかに自分の思い描いている仕様を言語化できるか、がとても大切ですね。今回は疲労度の計算をすごい抽象的に捉えてしまったがゆえにLLMが実装してくれたものに納得がいかず別の指標を試すという行為をしてしまったので、最初に壁打ちをしながら指標の詳細まで仕様に盛り込んでおくべきでした。
PS: 完成しきるところまでは作りたいので、修論終わったら続きもバイブコーディングで作ってみる予定です。
Discussion
続けて開発されるんですね!
楽しみです!