社内のChatGPTハッカソンが楽しかった体験記

# はじめに

先日、社内のChatGPTハッカソンに参加しました。

普段の業務とは異なるメンバー、かつ短期集中のハッカソンは新鮮で刺激の多いものとなったのですが、それと同時に、キラキラわくわくした気持ちで始まったにもかかわらず、途中行き詰ってわくわくの気持ちが底まで落ちる……
など、振り返ってみるととても面白い経験でもありました。

そこで、この記事では振り返りや思い出の記録を兼ねて、「わくわく度」の変遷とともに、わたしたちが実施した進めかたや、そのとき感じたことを書き留めておこうと思います。

## この記事で取り扱わないこと

わくわく度の変遷と、そのときの体験を中心にしています。  
そのため、技術的な観点は最後に簡単にまとめるのみとし、詳細には触れません。

# 社内ChatGPTハッカソンとは？

DNPグループ全体を対象とした、ChatGPTを利用したハッカソンです。  
「イノベーションに繋がるサービスアイデアを創出し、AI人材の育成につながるスキル獲得と組織力の強化」
を図って開催されています。

このハッカソンでは、キックオフから2週間程度かけて各チームで準備をすすめ、作ったものを最終日に発表します。  
定期的に開催されており、私たちが参加したのは第3回でした。  
募集チーム数は6チーム。  
参加したい人はチームメンバーを4名集めて応募し、先着順に当選となります。

社内ではChatGPTへの注目度が高く、私たちが参加した回は募集期間初日に枠がすべて埋まる状態で、ギリギリで滑りこむことができました！

ハッカソンで使うChatGPTは、社内で生成AIの利用環境が構築されているため、そちらを利用しました。  
[紹介記事：DNPグループ社員3万人に向けて「生成AI」の利用環境を構築](https://www.dnp.co.jp/news/detail/20169392_1587.html)


# 作ったもの

私たちのチームでは、

「視覚障がい者の方に、見えている風景や写真から感動を届ける」

をテーマとしてサービスを作りました。  
下の図のようなイメージです。

![サービスイメージ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/e7a40da6-2bf7-c32e-5756-29ce99d74dc1.png)

眼鏡型デバイスの利用や、そこからデータを取り込む処理など、インターフェース部分はまだ整っていないものの核となる部分を完成させることができました🎉

テーマの決定については、後述の「活動ステップとわくわく度曲線」に書いていきます。

# チームメンバー

チームメンバーをご紹介します。

* リーダーさん … このチームのリーダー。ほがらか。多方面のスキル持ち。弊社のエース。福岡在住。
* 先輩さん … リーダーさんと同じ部署。みんなのお助けマンをしてくれる。多方面のスキル持ち。弊社のエース。北海道在住。
* わたし … 先輩さんが異動前同じ部署だった。ChatGPT経験値は遊び半分で触った程度。北海道在住。
* 若手さん … わたしさんと1度同じ案件になったことがある。業務でChatGPTに触れ始めたところ。東京在住。

お友達紹介方式で、ChatGPTに興味のありそうな人に声をかけていき、最終的には

* 20代、30代、40代
* 女性、男性
* 東京、北海道、福岡

と、属性も拠点もバラバラのメンバーが集まりました。

たまたまでしたが、今思うとアイデア出しとしてもなかなかよいメンバー構成でした。

# 活動ステップとわくわく度曲線

ここからは、わくわく度の変遷とともに体験したことを書いていきます。  
チーム結成前からハッカソン発表完了までの「わくわく度曲線」を書くとこんな状態でした。

![わくわく度曲線.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/8d448a75-4dbe-46a6-ed84-8a5b6b73fcf5.png)

激しいくぼみっぷりが、今見ると面白いです。

大まかなステップは下のとおりです。
それぞれのステップでどんなことがあったのか、詳細を書いていきます。

0. チーム結成前
1. キックオフ
2. アイデア出し
3. テーマ絞り込み
4. ブレイクスルー ～ 若手さんのひとこと
5. アイデア決定！
6. ぐんぐん進むターン
7. 発表当日
8. 後日談

## 0. チーム結成前 ： わくわく度 30

![0わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/292ce287-2a47-e83b-0147-56cfafa27908.png)

当時、わたしはちょうどプロジェクトの切れ目で、新しいプロジェクトに参加したばかりでした。  
始まってからすでにしばらくたっている状態での参画で、今まで関わったことのない種類のプロジェクトだったため、新鮮味を感じながら業務に取り組んでいました。

そのため、平常時を0とすると、この時点でのわくわく度は 30。  
平常時よりはちょっとわくわく、という状態でした。

そんなとき、先輩さんから  
「リーダーさんとハッカソンに申し込むんだけど、一緒に参加しない？」  
と声をかけていただきました。

ChatGPTに興味があり、社内ハッカソンが気になってはいたものの、先輩さんとリーダーさんが優秀すぎるため、足を引っ張るのでは……という不安もありましたが、声をかけていただいたということは自分なりの動きができればオッケーなはず！それにこの方々と同じチームなんて、得るものも大きそうだしとても楽しそうでは！？  
と、思い切って参加を決意しました。

## 1. キックオフ ： わくわく度 50

![1わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/24be82b3-4506-539c-9ab7-d6dded6f47bc.png)

前回の社内ハッカソンで惜しくも先着漏れしてしまった若手さんにも声をかけて、メンバーが4人集まり、まずはキックオフの実施です！

キックオフは、拠点が離れていることからオンライン会議で実施しました。  
はじめましてのメンバーもいたため、カメラオンで簡単に自己紹介から。  
新しいことが始まるわくわく感から、笑い声もまざりつつ、みんな楽し気な顔合わせとなりました。

そして、ざっくりとしたタスクとカレンダーを確認。

![カレンダー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/4db4c30c-b0df-b535-20df-c31afc9a7ce7.png)

わかっていたけど、なかなか日数が少ない……。

いったいどこまでやりきれるのだろうか、と若干の不安を感じつつも、
ポジティブなエネルギーのメンバーばかりで、わくわくした気持ちでスタートです！

というわけで、わくわく度は 50。
幸先のよいスタートです。

## 2. アイデア出し ： わくわく度 80

![2わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/0c7c285e-f8fd-fa01-0686-1aced5aebd37.png)

キックオフ直後、すぐにアイデア出し会議を行いました。  
期間が短いことがわかっていたため、
メンバーが決まったときに各自アイデアをいくつか考えることを宿題にしていました。  

アイデア出しはラウンドロビン方式で実施。  
メンバーが順番にテンポよくアイデアを上げていきます。
全員上げ終わったらもう一周、さらにもう一周、と続けていきます。
今回は全部で20個のアイデアが集まりました。

![ラウンドロビン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/b13bcf7f-b891-c4f9-9cf4-586138093d18.png)

最初は事前に考えてきたアイデアをあげていくものの、どうしても途中からネタがつきてしまうのですが、「テンポ重視」なためか前の人のアイデアにいい意味で引きずられ、自分でも思いがけない案がするすると出てきました。  
おもしろいぞ！もしかしてこれも創発というのだろうか？  

アイデアを出し切ったら、各自アイデアの補足説明をして、
1人5個程度、特に気になるものに印をつけていきます。

補足説明をする中で、  
「こういう機能もつけると面白いのでは？」  
「いいですね！」  
「さらにこうしたら？」  
などなどアイデアが広がり、何か面白いものができそうな感覚に、
一層わくわく度が高まりました。

最終的に決まったテーマ「視覚障がい者の方に、見えている風景や写真から感動を届ける」もこのとき補完されていきました。  
もともとは「メガネ型デバイスで、障がい者のかたに周辺の景色を認識しそれを伝える」
というアイデアで、話していくうちにChatGPTをより生かしたものへと変化しました。

特に票の集まったアイデアが8個。
これを、実現性、インパクトのマトリクスにプロットします。

![インパクト、実現性.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/dd60de56-5fcc-16d2-7064-9a235f162119.png)

アイデア決定のめどがつき、プチ達成感で一息ついたところで、
チームのモットーを決定しました。

全員が、「楽しむこと」を大事に活動したいという思いを持っていたため、
モットーはすぐに「楽しむこと」に決まりました！

各自テーマをひとつに絞り込むことを宿題として、この会議は終了。  
アイデアもいくつかに絞られ、モットー通り「楽しい！」という気持ちでいっぱい。  
面白いものができる予感で、ここまではとても気分よく終えたのでした。

わくわく度 80！

## 3. テーマ絞り込み ： わくわく度 -30

![3わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/4664d850-7bcf-c0c1-6862-df6a9807ba04.png)

わくわく度が急激に落ち込んだフェーズがここでした。わくわく度 -30。

前回の会議でインパクト、実現性の観点から、4つのアイデアに絞り込みが完了。  
ですが、実は最終的に決まったテーマはこの中に入っていませんでした。

インパクト、実現性のバランスがちょうどよさそうな4点に絞ったものの、いざ1つに絞ろうとすると決め手にかけてしまい、誰も自信をもって「これがいい！」と言えず、みんなが黙り込んでしまう状態に……。

とはいえ、1つに決定しなければいけないので、なんとか意見交換を行います。  
「これは目途がつく」「実現したら使えそうではあるし、一応面白味もあるし……」
と、それぞれモヤっとしたまま、1人ずつ考えを述べていきました。

あの楽しかった気持ちはどこへ……。

ということで、わくわく度はここで突如まさかの -30 に急落しました。  
本当に驚くほどの停滞感に覆われていました……。

## 4. ブレイクスルー ～ 若手さんのひとこと ： わくわく度 60

![4わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/315b3ab4-d1f4-f60a-e25e-4bef5716d8f2.png)

すっきりしない気持ちのまま、  
「今の候補のアイデアもつまらないわけじゃないので……」  
リーダーさん、先輩さん、わたしは実現性のほうに傾いた意見に落ち着いていきました。

ただ、若手さんがこのフェーズにきて口数が少なくなっているのが気にかかり、
若手さんはどうですか？と聞いてみたところ、

「途中からわくわくしなくなってしまったんですけど」  
「やれそうなことでもいいけれど、あったらいいなのほうが面白くないですか？」

！！！  

そうだよね！！？  

基本に立ち返った若手さんの言葉はとても衝撃的で、  
チームのモットー「楽しむこと」を忘れかけていたことに気づかされました。  
前提として当たり前にあるべきことなのに……。  
先輩としての不甲斐なさも感じつつ、若手さんに頼もしさも感じつつで、目が覚める思いでした。

これをきっかけに、チーム全体が楽しさを感じられるものにしよう！
という方向に向かって話し合いが一気に進んでいきました。

改めて「楽しさ」をベースにアイデアを見直していくと、外に向けてなにか私たちにできること、という方面に意識が向いていきました。
その結果、「成果が難しそう」という理由で絞り込みの段階で除外してしまった、

「視覚障がい者の方に、見えている風景や写真から感動を届ける」

をテーマに取り組むことに決まりました！
トンネル脱出です。

思えば、みんなが抱えていたもやもやした気持ちは、まさに若手さんがズバッと言ってくれたことそのものだったのですが、長年会社で経験を積んだことが悪い方に作用してしまったのか、先に進めること、成果を出すことにとらわれてしまっていたように思います。
ガツンとした刺激になる、得難い体験でした。

方向性を変えはじめたとき、リーダーさんから出た、外向きの目線（新規ビジネス）と内向きの目線（業務効率化）で言うと、今回どの目線でサービスを考えるか、という話が印象に残っています。
わたしはこのとき、実現性や自分の目の前にあるものに意識が向きすぎて、無意識に内向きの目線にしぼりこんでしまっていたなあと思います。
目先に囚われすぎてしまった……。

わくわく度は当初の気持ちが蘇り、 60 までＶ字回復しました！

## 5. アイデア決定！ ： わくわく度 70

![5わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/7bbd768d-865e-761a-efec-a8376fd4d1dc.png)

ここまでくると、気分がのってきて意見交換も進みます。  
最初は成果が難しそう、と思われたテーマでしたが、
徐々に実現に向けた具体的なアイデアが出てきました。

「プロンプトから画像生成の逆で、画像からプロンプトを作成するサービスがあったはず！」  
「ChatGPTにそれを文章にしてもらおう」  
「最後の音声出力にはこのツールが使えそう」

さらに、プロンプトを試したり話し合っていくうちに、

「ChatGPTは役割を与えるとこなしてくれるよね」  
「表現力豊かな人になりきってもらうとよいかも？」  
「文章の表現は人によって大きな差が出るけれど、例えばChatGPTに作家さんになりきってもらえば、情景が目に浮かぶような豊かな表現が可能では？」

お互いの意見をきっかけにさらに発展していきました。  
色々な属性のメンバーだからこそ起こったことかもしれません。  
そんな意見交換を経て、最終的なテーマ

「視覚障がい者の方に、見えている風景や写真から感動を届ける」

にブラッシュアップされました。

テーマ決定！  
続いて、ハッカソンでは共通のフォーマットが提示されていたので、
それに従ってAs-is、To-beを書いていきます。

せっかくなので可能な限りChatGPTを活用しよう！
ということで、みんなで画面を共有しながら、ChatGPTに自分たちの思いを伝えて整形してもらいました。

この活動の中では、
文章を整理したり、まとめなきゃいけないな～、ちょっと手間がかかるな～、ことばが思いつかないな～、ということはまずChatGPTに依頼するようにしていました。

こんな形でAs-is、To-beがまとまりました！

![asistobe.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/7cb611bf-a983-ee52-018a-d8334df733c6.png)

これを見ると、自分たちの向かう方向に向き直りやすい！  

わくわく度　70！

## 6. ぐんぐん進むターン ： わくわく度 80

![6わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/6eb69338-1d63-bbe7-d909-e7e8986e50e1.png)

その後は、アーキテクチャの図を作成し、  
「ここは最低限必要だよね」  
「できればここまで達成できたらいいよね」  
など達成目標を決めていきます。

効率よく進めるために、デモ用のweb画面を用意したり、分担して進めていきました。

もともと積極的なメンバーばかりでしたが、
気持ちにエンジンがかかったこともあってか
「これ作ってみるよ！」「それやります！」「これ誰かお願い！」
と、少し前の萎んだ気持ちが嘘のようにぐんぐん進んでいきました。

わくわく度は　80。
やっぱり、動くものができていくのは楽しいですね。

## 7. 発表当日 ： わくわく度 100

![7わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/6f6ce396-932d-a3e7-e67e-bfce9a46bf8a.png)

6/27、発表当日を迎えました。

なんと、「できればここまで達成できたらいいよね」と話していた部分まで完成した状態で当日を迎えることができました！
業務の合間の活動で大変なこともありましたが、楽しんで取り組めたことが大きかったと思います。

当日は  

* ワークショップ  
* 発表  

という構成でした。
私たちのチームは先述のとおり目標とするところまで完了していたため、
ワークショップではわいわい話しながらプラスαの機能を付け加えたり、
プロンプトのブラッシュアップを行いました。  
焦りがなく純粋にブラッシュアップを楽しめたように思います。

そして発表の時間がやってきました。  
他のチームの発表が順次行われていきます。  
自分たちにはなかった発想やプロンプトの工夫があってなるほどと思ったり、
DNPならではの本にまつわるサービスを作成したチームもあり、
どれもとても興味深いものでした。

そして最後、私たちのチームの順番がやってきました。  

「発表も楽しもう」と、先輩さんのアイデアで
「語彙力が少なく、目の前の情景の素晴らしさをうまく表現できない人の場合」
という寸劇をいれたものに。


発表は、リーダーさんがチームの思いをのせて、聞いているわたしたちが誇らしい気持ちになるような素晴らしいプレゼンテーションをしてくださり、無事に終了しました！👏

発表直後、会社の要職の方から直々に「よかったよ」とお声がけをいただき、
やりきった達成感が増し増しとなって、わくわく度 100 で締めくくったのでした。

## 8. 後日談 ： わくわく度 100+α

![8わくわく.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/32722fb5-fbbb-347c-58b6-7e3057cd8f81.png)

発表後、チームは解散し、ハッカソン活動はここで終了、と思っていましたが、
少し後日談があります。

わたしたちのチームの発表を聞いた、社内でAIに取り組んでいる方や、会社の要職の方が改めて声をかけてくださり、対外的な会社としての取り組み紹介や、商談時のアイデアの1つとして利用してもらったりと、その後も広がりを見せています。

たとえば、こちらの記事でも少し紹介いただいています。  
[「DNP生成AIラボ・東京」をオープンしてパートナーと新たな価値を創出](https://www.dnp.co.jp/news/detail/20170008_1587.html)

思わぬフィードバックをたくさんいただき、
発表後にもわくわくが高まるという、嬉しい展開になりました！

# まとめ・感想

社内ChatGPTハッカソンについて、体験記という形でまとめてみました。

振り返ってみると、

* 行き詰ったときこそ初心に立ち返って見つめなおすこと
* ともすれば否定的な意見も建設的に意見交換できる空気があること
* いろいろな考えのバリエーションが多いこと

が、新しいアイデアを出したり、勢いをもって最後まで進めていくためにとても大切である、ということを実感できる非常に良い機会となりました。

と同時に、ハッカソン後にお声がけいただき、リアクションをいただけるのはすごく嬉しいものだなと実感しました。  
自分もそんな振る舞いを心掛けていきたいです。  
そんな風に、終わってからも得るものが多い活動でした。

なによりも、全員が「楽しむこと」をモットーに取り組み、
楽しみながら成果を出せたことが単純に嬉しかったです！

最後までお読みいただき、ありがとうございました。

# おまけ：技術的なおはなし

## アーキテクチャ

アーキテクチャは下の図のとおりです。

![アーキテクチャ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3582426/d9dfeea0-a250-d931-884f-2a6cf95ed8c3.png)


* CLIP Interrogator
  * OpenAIのCLIPとSalesforceのBLIPを組み合わせて、特定の画像に一致するようにテキストプロンプトを最適化するプロンプトエンジニアリングツール。
  * 画像を読み込むとそのプロンプトを生成する。 
  * 公式: https://github.com/pharmapsychotic/clip-interrogator
* Azure Logic Apps
  * コンテナー化されたランタイム上に構築された、統合プラットフォーム (iPaaS) 。
  * CLIP Interrogator が出力したプロンプトをインプットとして受け取り、Azure OpenAI に渡して、出力された結果をレスポンスする処理に利用した。
* Azure OpenAI Service
  * OpenAIの言語モデルに、REST APIでのアクセスを提供するサービス。

## 苦労したこと

CLIP Interrogator を使用した際、美術的観点での画像分析や画像サイズへの言及がノイズとなりました。
生の風景体験とは異なる二次情報を生み出してしまっており、直接的体験の妨げに感じられたからです。  
これに対処するため、不要情報の排除や風景へのフォーカス、一次情報を取得できるようなロール（旅行客や写真家など）を指定しました。
また、五感から得られる内容を生成するアプローチを試み、感動的な風景体験を実現することができました！