Google Cloud AIハッカソンVol.4にBrickQuestを出品した。ありがたいことに本選に進めたが、まだまだ課題が多い。
Questシリーズに新しい実験が一つ加わった。今回はレゴ。

🔬 ハッカソンに出てみよう
日本の開発者の間で広く使われているZennというプラットフォームがある。技術ブログ+開発者コミュニティで、定期的にハッカソンも開催している。今回、Zennで第4回 Agentic AI Hackathon with Google Cloudが開催された。核心テーマはAgentic AI——自分で考えて自分で動くAIエージェントを作ること。
何で出品しようか悩んでいたら、前からちょっと不便に思っていたことが一つ浮かんだ。うちには6歳と8歳の子どもがいて、レゴセットを買うと一度組み立てて、説明書はどこかに消え、ブリックは全部一つの箱にごちゃ混ぜになる。その箱を見るたびに「これで何か新しいもの作れないかな」と思っていた。作ってみたらどうだろう?ということで始めた。
この不便は小さい。でもかなり身近だ。レゴは本来、何度も作り替えられる遊びなのに、現実には「完成品を一度作って終わり」になりやすい。説明書がなくなった瞬間に、自由度は高いのに入口がなくなる。特に子どもは「何か作りたい」という気持ちはあるけれど、箱いっぱいのブリックから完成形を想像するのは難しい。
AIを使うなら、ここを助けたいと思った。新しいおもちゃを買わせるのではなく、すでに家にあるものの価値をもう一度引き出す。Park Labsの「日常の不便を減らす」というテーマにも合っていた。
🚀 BrickQuestでできること
2つのモードを作った。
Designモード
写真をアップロードすると、AIがレゴ設計に変換してくれる。正面・側面・背面の図面を作って、3D組み立てガイドが出てくる。BrickLinkのパーツリストも一緒に出る。ただ、複雑なモデルはまだちょっと微妙。
MyBrickモード
家に転がってるブリックを撮影すると、AIが一つずつ識別してくれる。「2x4赤ブリック」「1x2青プレート」みたいな感じ。パーツが溜まると「今あるもので作れるもの」を提案してくれるが、認識精度はまだまだ。
最初から完璧なCADツールを目指したわけではない。むしろ、子どもが「これなら作ってみたい」と思える最初の一歩を作ることを優先した。Designモードは想像を形にする入口で、MyBrickモードは現実にあるパーツから逆算する入口。両方を入れたのは、「作りたいもの」から始める人と、「今あるもの」から始める人がいると思ったからだ。
本当はMyBrickモードの方が難しい。写真に写るブリックは重なっているし、色も照明で変わる。似た形のパーツも多い。だけど、このモードこそBrickQuestらしさだと思う。家にある箱の中身をAIが理解してくれたら、遊び方が変わる。
💎 物理エンジンでAIを補正する試み
Geminiにレゴ設計をさせると、デザイン自体はけっこういいのが出る。でも空間の感覚がない。ブリック同士が重なったり、空中に浮いたり、レゴのグリッドからずれてたりすることがかなりある。
そこでフィードバックループを作ってみた:
アイデアは悪くないと思うけど、実際に動かすとまだ不安定。頭の中のイメージと実際の出力はけっこう違う。
今回の学びは、AIに全部任せるより、AIが得意な部分とシステムが得意な部分を分けた方がいいということだった。Geminiはアイデアを出すのがうまい。画像から大まかな構造を理解したり、「こういうモデルなら楽しそう」と提案したりするのは強い。一方で、レゴのように物理制約がある世界では、座標、接地、衝突、グリッドの整合性を別の仕組みで見る必要がある。
だからBrickQuestでは、AIを「設計者」にして、物理エンジンを「検査役」にした。検査役が厳しすぎると面白い形が消える。ゆるすぎると組み立てられない。ここはまだ調整が必要だ。
今後やるなら、失敗した生成結果をただ捨てるのではなく、失敗理由をログとして貯めたい。「どの種類のブリックで破綻しやすいか」「何段以上になると浮きやすいか」「どのプロンプトだと安定しやすいか」を見える化できれば、改善の速度が上がるはずだ。
🛠️ 技術スタック
- フロントエンド: Next.js 16 + React 19 + Three.js(3Dビューア)
- AI: Gemini 3 Pro(構造化出力 + 拡張思考トークン)
- バックエンド: Cloud Functions 2nd gen + Firestore(リアルタイムリスナー)
- インフラ: Firebase App Hosting + GitHub Actions CI/CD
- i18n: next-intl(韓/英/日)
FirestoreのonSnapshotで、AIがブロックを生成するたびに3Dビューアにすぐ反映されるようにした。この部分はけっこう気に入ってる。
リアルタイム表示を入れた理由は、生成待ちの時間を退屈にしたくなかったからだ。AI処理はどうしても数秒から数十秒かかる。真っ白なローディング画面で待たせると、ユーザーは不安になる。生成途中のブリックが少しずつ増えていくと、「今作っている」感じが出る。
これは小さなUXだけど、AIアプリではかなり大事だと思う。AIが裏側で考えている時間を、どう見せるか。待ち時間を隠すだけでなく、プロセスそのものを体験に変えられるか。BrickQuestではそこも試したかった。
🏆 運良く本選進出
出品作一覧を見たら、合計254プロジェクトが参加していた。1次審査でトップ30に入り、2次審査を通過して最終トップ10に入った。
結果のメールが来た時は正直めちゃくちゃ嬉しかった。締め切り前日から開発を始めたので、全然期待してなかった。運が良かったと思う。他の方々のプロジェクトを見ると、もっと完成度の高いものがたくさんあって、なんで自分が選ばれたのか正直わからない。
2次審査の協議会で寄せられたコメントも一緒にいただいた:
> 手持ちのレゴブロックを画像認識で分析し、そこから作れるものを提案するというアプローチが、既存のブロック組み立て体験にはない独自の価値として評価されました。リアル世界との接合によって生まれるユーザー体験の魅力を最終ピッチでお聞きしたいと思いました。
ありがたいコメントだ。ピッチの方向性が少し見えてきた気がする。
本選は3月19日のAgentic AI Summit '26 Springで開催される。ただ参加するだけじゃなくて、実際にステージに立ってピッチをしなきゃいけない。最優秀賞50万円(1チーム)、優秀賞各25万円(3チーム)、奨励賞各10万円(5チーム)。9チームまで賞金があって、最下位だけなし。10チーム中9チームだから確率は悪くないけど…最下位はちょっとつらい。会場にはプロジェクト展示エリアもあって、A1パネルを作って掲示する。
当日のスケジュールも届いた:
準備の締め切りもタイト。展示パネルが3/9まで、ピッチ資料が3/13まで。あまり時間がない。
🧩 今の課題
本選に進めたのは嬉しいが、プロダクトとしてはまだ粗い。特に大きい課題は4つある。
認識精度
ブリックの写真は想像以上に難しい。単体で撮れば認識できても、箱の中で重なっていると一気に難しくなる。色も照明で変わる。ここはテスト画像セットを作って、条件ごとに評価する必要がある。
生成品質
AIが作るモデルは、見た目が面白い時もあれば、何を作っているのかわからない時もある。子どもが「作りたい」と思えるかどうかは、単なる構造の正しさとは別の問題だ。
組み立て手順
3Dモデルができても、どの順番で積むかがわかりにくいと使えない。レゴは完成形より手順が大事だ。ここはステップ生成のロジックをもっと改善したい。
商標・表現
LEGOは強いブランドだ。BrickQuestは非公式の個人実験として、表現や連携の距離感に注意しなければならない。将来的に公開サービスにするなら、このあたりも丁寧に整理する必要がある。
💡 学んだこと
AIが苦手な部分をシステムで補うパターンはなかなか面白い。レゴ以外にも建築モデリングや家具配置とかに使えそうな気はするけど、まだ頭の中の話。実際に作るとなると先は長い。
あと、ハッカソンは締め切りに追われずに余裕を持って準備しよう。今回痛感した。
🎯 次にやること
運良くここまで来た。粗い部分を直して、精一杯やろう。賞をもらえたら嬉しいし、もらえなくてもいい経験だ。