チーム開発 / ハッカソン
rethink
AIを用いて人間の議論をサポートするツール。参加者は議題に関してAIと個別にチャットを行い、そのユーザーの意見や根拠を抽出してエージェントを生成する。参加者の数だけ生成されたエージェントが議論を行い、妥協点やマインドマップを出力する。
デモ動画1:(ルーム作成から対話パートまで)
socket.ioを用いて複数人が同時に進行できるようになっている。
このアプリでは2人から6人での議論を想定していて、1人のホストがルームを作成、議題の設定をし、ゲスト用のURLをコピーすることができる。ゲストはそのURLにアクセスすることでルームに入室できるようになる。
ホストが対話開始ボタンを押すと対話が開始される。
デモ動画2:(対話パート)
ここでは議論参加者がAIと1対1で対話を行う。あらかじめ呈示された話題に対してどのような意見を持つか、その根拠や理由、その根拠を持つに至った原体験などを調査する。
AIは上のような情報をユーザーから聞き出すという指示をプロンプトとして与えており、AIが十分な情報が得られたと判断した場合に「インタビューを終了」と出力することで対話は終了する。
これによってユーザーの意見を反映したエージェントが作成される。
デモ動画3:(対話パートから議論パートへ)
対話が終了すると待機ページに遷移する。ここでは全員の対話が終了するまで次に進むことができない。
全員の対話終了が確認されればホストが議論パートへ遷移するボタンが押せるようになる。
議論ページにおいて、ホストが議論開始ボタンを押すと作成されたエージェント同士が議論を開始する。この間はユーザーは何もすることができない。
議論はおおよそ10分から15分程度の時間を要している。
デモ動画4:(議論結果表示1)
議論が終了すると結果が表示される。この結果はホストもゲストも同じものが表示されるため、各ユーザーが自身のデバイスで確認ができる。この結果が出力された時点でこのサービスの基本動作は終了である。
デモ動画5:(議論結果表示2)
議論においてさまざまなロジックを用いている。その内容についてまとめたものが出力されており、目次から確認することができる。
使用技術
チーム開発
GDGoC Japan Hackathon 2026 にて4名のチームで開発した。
議論ページを除く各画面(ルーム作成・ロビー・対話・対話終了待ち)の設計・実装を担当した。
Express によるサーバ構築、対話パートと議論パートをつなぐデータ受け渡しの設計、Socket.IO を用いた複数タブでの同時進行機能の実装も行っている。
(議論ロジック本体は他メンバーが担当している。)
フォーク後は、アプリ全体のデザインを一貫性のあるものに統一する改修を個人で行った。
工夫した点
データベースには接続せずにメモリ上で動作するようにした。
セッション管理はURLを用いることにし、招待用URLを作成することでゲストの参加が簡単に行えるようにした。
対話部分に関してはユーザーの抽象的な解答に対しては具体的な体験を質問するなどして具体的な解答を得るようにした。
またその深掘りによってもとの議題から大きくそれることがないように常に議題を意識したうえで質問するように指示を出した。
ユーザーの意見を否定することは絶対にさせず、このような反対意見もあるがどう考えるか、とユーザーがほかの視点からも考えられるようディレクションするようにした。
学んだこと
チーム開発において、githubの使い方を学習した。特にブランチの操作のルールなどを取り決めておいたりプルリクエストを出したりは初めてのことであったため良い経験になった。
特にチームで開発するならば誰がどのようなことができるのかを把握して、的確に指示を出す必要があるためそこが難しいと感じた。
また全員が同時に同じように開発しているわけではなかったため、修正してほしい部分や、自身の作業のために必要な情報を教えてほしい時に相手からの返答が滞ると開発が進まないことがあると分かった。
技術面では、googleのAPIを用いる方法について知ることができた。ここではVertexAIを用いている。
またsocket.ioというライブラリを用いればサーバーと常時接続でき、複数のタブで同時に進行ができることが分かった。
問題点・課題
議論ロジックが複雑であり、1回の議論にかなりの時間を要する。
議論の結果も量が多く、人間が全て確認しようとすると時間がかかる。もともとは人間が議論するための橋渡しとなるように妥協点などを出力する予定であったが、表示内容が肥大化してしまった。
ユーザーが意図的に対話を放棄すれば中身の伴わないエージェントが生成されることになる。
← Worksに戻る