自分会議

https://github.com/takuto1065/doppelgenger3

Flask

Python

CSS

JavaScript

HTML

自分の分身AIと一般人のAIが議論します!

yosshi

トマトハンバーグ

島筒拓斗

岩下

推しアイデア

「考えるのは自分じゃない」 AI同士に議論させる新しい発想

作った背景

テーマDから「Doppelgänger」がいいね。AIは使いたい。議論「Discussion」したら面白いんじゃない?

推し技術

Gemini APIを初めて導入し、AI同士の対話生成を実現しました!

プロジェクト詳細

「自分会議」とは

自分の分身に議論してもらおう! プロフィールを細かく書けば書くほど完璧なドッペルゲンガーができあがる。 ユーザーが性格や価値観などのプロフィールを入力すると、 自分に近い「分身AI」が生成され、その分身AIと一般的なAIが議論することで、自分の考えを客観的に見つめ直すことができます。

このアプリの面白さ

・勝手に議論が進むから、気軽に使える。 ・分身の発言を見ることで、自分を客観視できる。 ・自分では気づかなかった新しい視点が見えてくる。 ・議論スタイルを自由に変えられる。 ・口調やシチュエーション、煽り具合まで調整できる。 ・いろんな人格や設定で試せる。 ・こんな考え方もあるのか、という発見がどんどん増えていく、見ているだけでもちゃんと面白い。 ・たまに自分より鋭いことを言うのも、このアプリならではの魅力。

押しポイント

① お互いがAIだから、もう自分で悩まなくていい

② 分身たちが勝手に議論してくれるから、見てるだけで気づきがどんどん増える

③ テーマを変えて、人格を変えて、いろんな「もしも」で議論し放題!

いろいろな人でたくさん議論してみてください! 議論のシチュエーションや口調、皮肉や挑発の度合いなども変更することができます!

GeminiAPIの使用

自分自身ののプロフィールをAIにプロンプトとして送り、その他方言やシチュエーションの設定ボタンに対応したプロンプトを追加する仕組みです。

各画面

①トップ画面

「自分会議、開催中」というキャッチコピーを配置し、コンセプトを一目で伝えている。 Googleログインボタンと「はじめる」ボタンから議論作成へ遷移する構成となっている。

image

②分身作成画面(左側)

議論の体験を変えるために、以下の設定も用意している。 議論シチュエーション(標準、国会風、友人同士など) 煽りレベルの調整スライダー 方言(標準、博多弁、関西弁) 入力内容が詳細であるほど、より現実に近い分身AIが生成される設計となっている。

image

③議論画面(右側)

AI同士の会話をリアルタイムで表示するエリア。 メッセージ形式で議論が進行し、内容を直感的に把握できる。 ユーザーは直接発言するのではなく、第三者の視点で議論を観察することができる。

image

④議論まとめエリア

議論の結果を自動で要約し、重要なポイントを整理して表示する。 議論を振り返り、自分の思考を整理するのに役立つ機能となっている。

image

開発の進め方

テーマからアイデアを考えて「Doppelgänger」と「Discussion」になりました。 AIは使ってみたいという意見が多くAPIを使うことにしました。 当日前にはMVPは完成することができました。 初学者が多くてもたくさん質問しながら解決していきました。

技術スタック

Python — バックエンドサーバー(src/server.py) JavaScript — フロントエンドのロジック(script.js) HTML — 画面の構造(index.html) CSS — デザイン(style.css)

開発者

ヨッシー:バックエンド、AI、Google認証 つっつん:バックエンド、AI、Git管理 トマトハンバーグ:フロントエンド 岩下:プロンプト

成長点・協力した点

岩下:今回初めてチーム開発に参加し、GitHubを用いた共同開発を行いました。分からない点も多く先輩方に質問しながらでしたが、その過程で開発フローやGitHubの使い方を学ぶことができました。 また機能追加にも取り組み、フロントとバックエンドの連携等の開発経験を積むことができました。

つっつん:今回、2回目のハッカソンでAIの導入から模索しながら開発を進めました。バックエンドとフロントエンドの連携についての流れを開発を進めるごとに理解することが出来ました。また、gitのブランチ管理やマージ、コンフリクトの解消について玄人部門の方々に教わりながら進め、チーム開発を進めるためのgitの重要性を理解することが出来ました。

トマトハンバーグ:開発を進める中で新しいコマンドや技術を学び、実際に使えるようになったことも大きな成長です。最初は分からないことも多かったですが、調べたり試したりしながら理解を深めていきました。さらに、共有リポジトリでの開発ということもあり、ミスをしてしまう場面もありましたが、その都度チーム全体でカバーし合うことができました。 一人では難しかった部分も、メンバー同士で助け合いながら進めることで、最終的にはしっかりと形にすることができたと感じています。

よっしー:開発初日からAPI大公開チャンネルをかましたあと.envの文字化けにより先輩達でも解決できないことにたくさんぶつかりながらもここまで取り組むことができました。じょぎサーバーのほうで質問のスレッドコメント数が100超えるほかにもVCや直接聞いて直した時間も多いです。特にGitHubの作り直しは三回行ったためDoppelgänger3となってます。私自身もコマンドを含めブランチの仕様も理解してなく、みんなで何回もやり直しながら取り組みました。特に一年生が自分のやるべきことをしっかりできていたため、ハッカソン2日前にはMVPを完成させることができてよかったです。APIやGoogle OAuthは全然わからないままやってとても時間がかかりましたが、なんとか作ることができました。Googleでログインしてプロフィールの記憶が残るようにしたため、二回目でも楽しく楽にあそべると思います。あとdeployは一番最初にやることを心に誓います。(すべてやったのにエラーいっぱい出てきました::)

yosshi

@yosshi0999