※この記事の一部はChatGPTで作成しています。
急速に浸透したChatGPTなどのAIサービス。当社でもプロダクトへの実装を検討しています。多くのサービス業の現場では、業務効率化や拠点間のコミュニケーションに課題があり、これまでClipLineはそれらの解決を支援してきました。
AI技術を積極的に活用することでさらに多くの課題がスピード感をもって解決できるようになる可能性があります。その足掛かりとして、ChatGPTを活用したプロダクト開発についてのハッカソンを4月6日、7日の2日間にわたり開催しました。
このハッカソンは、新たな技術や知見を獲得することができ、今後のプロダクト開発にも大きく貢献することが期待されます。
目次
ハッカソンレポート
- ハッカソンを行う理由
- ハッカソンで達成すること
- プログラミング未経験者によるプロトタイピング
- 結果発表
- 企画者の花岡より総括
ハッカソンレポート
プロダクト開発部とプロダクトマネジメント部から合計11名が参加し、テーマごとに3チームに分かれてのワークとなりました。
※プロダクトマネジメント部についてはこちら↓の記事で紹介しています。
※ハッカソン発案者の花岡(SREエンジニア)の紹介はこちら↓
スケジュール
4/6 10:00 現地集合・キックオフ
4/6 10:30 〜 18:00 ハッカソン
4/6 18:00 〜 自由時間(だいたい飲み)
4/7 10:00 〜 15:00 ハッカソン
4/7 15:00 〜 16:00 成果発表
▲軽井沢の木々に囲まれたワークスペースにて実施
ハッカソンを行う理由
・チームメンバー全員がAIやChatGPTに対する理解を深めることで、今後のプロダクト開発において新たなアイデアや技術を取り入れることができる。
・短期間でプロトタイプを開発し、チームメンバーが新しい技術を学び実践できる。
ハッカソンで達成すること
・チームメンバーのAI(OpenAI)の基礎知識を向上させ、AIを利活用したプロダクト開発をチーム全体で考えられるようにする
・AIを利活用するプロダクトのプロトタイピングを行い、リリース可能な状態を早く作る
・AIを活用した開発を経験し、日々の業務へ持ち帰る
▲3つのテーマに3チームで取り組みました。1と2は今回は非公開
▲発案者の花岡が進め方を説明します
プログラミング未経験者によるプロトタイピング
さて、3チームのうち2チームは、開発プロセスに実装し得る具体的な試作を行いましたが、こちらの内容は今回は非公開です。
残りの1チームは非エンジニアで構成されており、AIコーチングによるプロトタイピングに取り組みました。こちらも最終的にはプロダクトに実装可能なロジック策定が目標になっていますが、「プログラミング経験がないメンバーがChatGPTを用いてWebAppを0から実装し、デモを披露するまで完成させる」というサブ目標があり、新しい知見を得て技術を試すという意味で有意義な取り組みとなりましたので詳しくお知らせします。
▲非エンジニアも2日間で成果物を出すことを目標にしています
チーム3のメンバーは以下の4人です。
田所 プログラミング歴 0日
大塚 0日
門馬 0日
加藤(Webプログラマー) 15年
プログラミング歴15年(Pythonは1-2ヶ月)の加藤が指導役となり、歴0日の3人がプロトタイピングに取り組みました。利用技術と手順は下記の通りです。
利用技術:ChatGPTに相談して決定
開発言語: Python
フレームワーク: Flask
AWSサービス: API Gateway, lambda
API: ChatGPT3 API
開発作業順序:
1.Web画面にHello World!を表示する
2.ChatGPTのAPIに接続しレスポンスの内容をWeb画面に表示する。
3.Web画面にテキストボックスとボタンを設置する。ボタンを押下したらテキストボックスの内容をChatGPTのAPIに問い合わせする。結果のレスポンスの内容をWeb画面に表示する。
4.各人の要件定義でやりたいことを段階的に実施する
▲左上から大塚、門馬、右上から加藤、田所。大部分はひたすら集中作業です
また、現地にいないメンバーや他部署にも共有する目的で、GoProの映像をストリーミング配信しました。
▲ストリーミング映像。作業前に設計を確認しているシーン
チームごとに必要なタイミングで議論をしたり、キリの良いタイミングでランチに出かけたり、テラスのゆったりした席で集中作業するメンバーがいたりと、思い思いのスタイルで臨みました。
▲作業風景。あるときは議論をしたり、あるときは個々のペースで作業中
結果発表
2日間のワークが終わり、いよいよ各チームからの結果発表です。
▲全員で正面のスクリーンを見つめます
チーム3→1→2の順番で発表となります。トップバッターのチーム3は指導役の加藤が最初に登壇し、概要を説明します。その後で3人がそれぞれデモを披露したり所感を発表しました。
▲構成図を説明する加藤
プログラミング未経験者がChatGPTだけを頼りにプロトタイピングをやりきるという目標については、見事に全員達成!
興味深いことに、3人の学習速度や実装速度が誤差30分程度で進んでいったということで、大幅に遅れたりすることなく同じぐらいの時間で終了したのです。
▲例えばこんなデモを行いました
チーム3の総括は以下の通り。
【良かった点】
コーディング効率が抜群:
予想していたよりもずっとスムーズにコーディングが進みました。これは、ChatGPTのおかげで実装期間がわずか6時間ほどで済んだことが大きな要因です。
Python未経験でもデモが実現可能:
チームにPython経験者がいなくても、最低限のデモを実現できました。これも、コーディングが5%で、ChatGPTからのコピペが95%だったからこそ可能になった結果です。
【改善点】
AWS構築の時間短縮:初日にAWSの構築に時間がかかりすぎてしまい、サポートが十分に行き届かなかったことが反省点です。
プログラマーへの影響:ChatGPTの進化により、「プログラマーが不要になるのでは?」という懸念が生まれました。今後の技術開発と職業の在り方について考える必要があるでしょう。
3人が加藤に相談したこと:
・Macのターミナルでのフォルダ移動方法
・APIキーをローカルの環境変数に格納する方法の相談
・今回作っているアプリ構成の説明
・エラーが出ているのでその原因を調査する方法の相談
・エラーメッセージが表示されない場合のデバッグ方法
つまり、実装に関することは一切相談されていない!
実装は全部ChatGPTで解決している!(全員ChatGPT4を使用)
▲デモを交えながら学んだことや感想を発表
3人の発表の一部を抜粋してご紹介します。
・アプリケーションの基礎の基礎みたいなものがわかった気がする
・やろうとしていた企画は全然時間が足りなかった。このまま未完成で終わるのはもったいないので、本来目的としていた内容を完成させてみる。
・改めてエンジニアってすごいな。。。いつもありがとうございます。
「これチョロでできます?」とか言ってすみません。。
・「自分が「何」がわからないのか、をひたすら言語化する作業だった。要件定義もコーディングもどっちも。
・フラクタルスプリントで、リズム良く作業できた。
・加藤先生の教えすぎない距離感が最高だった!GPTを使いまくれた。
・プログラミング難しい!!でも表示されたときのすっきり感がやばい…!
・「何が」やりたくて「何に」困ってて「何を」聞きたいのかが重要なのかなと思いました。これがないと何を聞いても何も答えが受け取れないなと。
次に、チーム1の発表です。顧客の課題をいくつか考えた上で、こんな工夫をしたらさらに有用じゃないか?という観点で取り組み、狙いに沿ったものが出来上がりました。デモが披露されると控えめに「おぉー」という歓声も上がり、成果を形として実感できた瞬間でした。
▲詳しくお伝えできず残念ですが、かなり実装のイメージがわく仕上がりでした
最後にチーム2の発表です。チーム1の生成物を受け、その後工程に当たる内容に取り組みました。既存の素材なども利用しながら、こちらはよりイメージしやすい形で生成されていました。
▲詳しくお伝えできず残念ですが、かなり実装のイメージがわく仕上がりでした
約1時間ほどの発表をもってハッカソンは終了となりました。個人とチームの思考を重ね合わせ、ChatGPTを使い倒して今後の開発に向けたヒントを得ることができた2日間となりました。改めて開発プロセス刷新の可能性を感じると同時に、これからクリアすべき課題も顕在化し、課外活動や次回のハッカソン開催が実現しそうな兆しが見えました。
企画者の花岡より総括
今回は会社として初のハッカソンということもあり、次回以降にも繋げるため、参加メンバーの募集も成果物プレッシャー高めで行ったのですが、プレッシャーをものともせず応募してくれて、その上こうして各チームが実際に成果を出してくれて企画者としては嬉しく思っています。
▲他の部署でもハッカソンが始まりそうな予感・・・
プロダクトに実装されるまでにはまだ工夫が必要ですが、この流れを継承し、よりスピードアップ、より高品質な開発に向けて模索していきます。
▲1日目を終えて宿へ向かうメンバー
お読みいただきありがとうございました。当社ではエンジニアを大募集中です。いっしょに開発していただける方、ClipLineやメンバーに少しでも興味を持たれた方、お気軽にご連絡ください!