💼

【AIハッカソン】大人の夢を叶えるシゴットニア

に公開

AIと共にシゴトを探求するプラットフォーム「シゴットニア」

AIの活用が望まれだして早数年。人間側からAIをただ使うだけだと限界があると感じた。人が人たらしめるためには、一方向性の活用ではなく、AI側から人間への問いかけももちろんのこと、人が生きていくために不可欠な働くという概念にAIが統合されてしかるべきと考えた。
そこで生まれたのがシゴットニアだ。

「シゴットニア」とは

「シゴットニア」は、仕事や職業そのものを知るためのプラットフォーム。
子供が職業を疑似的に体験するテーマパークを原点に、仮想的に体験することや、大人でも触れることができる範囲とはどういうものか、というのを考えた。平たく言うと、子供や大人と年齢に関係なく、異業種や目指したい仕事を知るための機会づくりに挑戦した。
私の幼少期に職業体験のテーマパークに訪れていれば、今が変わっていたかもしれないし、もとより盛んな好奇心を解消するために知らない世界を紐とけたかもしれない(大人になった今でも許されるならばそのテーマパークに行きたい)。

この考えから生まれたのが、今知っている世界のさらに外側やその先にある知らない「シゴット(仕事)」の世界への扉を開き、誰もが気軽に、そして主体的に未来の選択肢と出会える新しい学習体験を提供するAI搭載の職業学習プラットフォーム。それがシゴットニアである。

シゴットニアで解決したいことと使ってほしい人

シゴットニアを使用する人を特段限定することはしていない。
だが、一番は、これからの社会を支えていく子供たちがどのような考えや気付きを持って、何になりたいのかを解消できること、それが重要だと考えている。とあるテーマパークでも職業体験から社会を知って、なりたいものを目指すきっかけづくりになっているが、物理的にどこかに行かなくても、それがAIという万能な仕組みを用いることで、どのような子供でもとある仕事の何かを知ることができれば、明日や来年、10年後に何らかの変化を与えることができるかもしれない。未来の大人たちがシゴットニアに触れたことで、選択肢が広がり、より素敵な未来につながることを期待している。

また、昔子供だった人たちにも使ってほしいと思っている。シゴットニアの開発するきっかけは、とあるテーマパークに行きたい、今の子供たちがうらやましいという気持ちだ。大人でも知らないことはあり、自分と関係ない仕事は知らないことも多い。知人と話すことで、恥を忍んで質問することもあれば、興味や関心から聞き出すこともあるだろう。異業種に関するビジネス的な観点や転職のための知識試し、そして、社会の様々な仕事を知って子供に教えたり、自身の仕事のアイデアに反映するなど、大人であれば、今の仕事をさらに拡張していくためのツールになりうると考えている。

アプリケーションの紹介

シゴットニアは、子供も使用することを前提としているため、極力UIは削減して、行うべき操作が見たときに分かるような仕組みにした。そのため、全体を通して、仕組みとしては以下の内容で完結する。

  1. まず最初に、職種名が分からなくても抽象的にどのようなことを目指したいのか、どのようなことをしたいのか、という文章を入力し、「シゴット(職種・仕事)」を探す。
  2. 次に、「シゴット」に関する知識や仕事の手順に関するクイズを回答できる。シゴットニアでは疑似的に職業を体験するため、AIによりクイズの問題生成を行っている。
  3. 知識のクイズでは、その「シゴット」で用いられる道具や用語のクイズが回答できる。
  4. 手順のクイズでは、その「シゴット」のあるゴールに向かって、細かな作業をどのような順序で取り組んでいくのか設定できる。

主な機能

職種(シゴット)の調査

抽象的であれ具体的であれ、理想とするものや明確な職種を知るための文章をユーザーが入力し、それに基づいて、AIによる職種の調査を行う。職種名とその概要がAIにより生成されるため、知りたかった職種がなんであるかを知ることができる。この職種に基づいて、後述するクイズに回答することができる(職種の疑似体験)。また、将来的にありうるような内容も含めて、現実には実在しない職種をAIが作り出して、疑似的な世界における疑似的な職種体験をも可能にする。

知識クイズ

その職業に関する専門用語、必要なツール、歴史、業界の動向など、多角的な知識を問う選択式のクイズ。AIによりクイズが生成されるため、事前に準備する必要もない。トリビア的な知識から、実務に即した専門的な内容まで、知識レベルを試すことができる。さらに、クイズの一部では、imagen-4.0-fast-generate-001を使用して、生成された画像の内容に基づいてクイズの回答を行う機能も付けた。そのため、文章としてのクイズだけではなく、イメージとして最適な理解にも貢献できているように思う。

手順クイズ

「特定のタスクを、どのような順序で進めるべきか?」を問う、実践的なクイズ。例えば「カフェ店員」であれば「お客様を席にご案内してから、注文を取るまで」といった具体的な業務シナリオのステップを、正しい順序に並べ替えて回答。これにより、その仕事の具体的な流れを体感的に理解することができる。手順を作成した後は、AIによるレビューが行われ、点数とフィードバックを確認することができる。

あらゆる職業のクイズをAIが自動生成

「シゴットニア」の最大の特徴は、Googleの強力な生成AI(Gemini)をバックエンドに活用し、事前にクイズを用意する必要がない。ユーザーが入力した、ありとあらゆる職業(たとえそれが架空の職業であっても)に対して、AIがその場で最適なクイズを生成する。好奇心が尽きない限り、学びも無限に広げることができる。

デモ動画

https://youtu.be/So1UddV4ku8

システムアーキテクチャ

「シゴットニア」は、Next.jsやPulumiなど便利なフレームワークを採用。ローカルの開発環境では、DockerとVS Codeを使用した。また、開発内容を極力必要なものに集中するために、AIとの協業の機能以外は最小限として、アカウント管理機能やデータベースの構築は割愛した(費用や時間の制約もあるが)。

  • Webアプリケーション: TypeScriptでNext.jsとPrimeReactを採用。手順クイズのUIはReact Flowを利用。
  • クイズ生成: Next.jsのサーバーアクションを経由し、@google/genaiを使用してgemini-2.5-flash-liteでクイズを生成。
  • データストレージ: 今回は時間と費用的な課題からアカウント管理機能を作成せず、生成された情報は、サーバー上のデータベースではなく、WebブラウザのIndexedDBに保存。

ユーザー操作時のシステムの流れは以下のようになります。

クラウドインフラ

クラウドインフラはGoogle Cloudを使用して、Cloud RunやVertexAIを活用しローカル環境と同一のコンテナ技術でデプロイの負荷を軽減かつ最小単位でデプロイした。また、デプロイはPulumiを使用して、アプリケーション本体と同一の言語で技術の分散を抑制した。Pulumiを初めて使用してみたが、ほかのIaCの仕組みと比べ、非常に作成し易かった上に、再デプロイや削除などの作業が分かりやすかった。

開発の手法

AIを組み入れたシステムを構築するという点で、自身のプログラミング自体もAIエージェントを用いるべきだと考えた。昨今ではバイブコーディングや仕様駆動開発なども目立っており、活用すべきと判断した。

エージェント

Gemini CLI、GitHub Copilot、Julesをそれぞれ用いた。初期段階の構築では、Gemini CLIとGithub Copilotを交互に触れてみたが、その間エディターや同一環境での開発が並走できないという点に困った。そのことから、ローカルでのエージェント利用は、Github CopilotのCompletions機能が非常に有用であることが分かった。簡単なコードから若干複雑なコードであっても、もとよりイメージしていたコードが自動的にサジェストされる。前後の文脈を読んでくれているため、頭の中をのぞかれる気分になったが、慣れてみると、エージェント機能よりこちらの方が、非常に開発速度を優位にしてくれた。

非同期エージェント

実際の処理の開発部分では、Julesを活用した。Julesは非同期エージェントであり、自身のGithubリポジトリを登録しておくと、送信したメッセージに基づいてPRを作成してくれる。PCを起動していなくても電車の中や、外出先で思いついた機能ややらなければならない調整をメッセージで送ってPRを作成してくれるため、自宅にいるときにそれをレビューして修正してマージすることができ、時間短縮につながった。感覚的には、開発メンバーへの指示出しと開発内容の提出、レビュー、修正がJulesと伴走できるイメージだ。ある程度想定した通りに作成してくれるため、部分的に修正を行ったり、コンフリクトの修正のみで、開発作業が進んでいた。とはいっても、Julesとの思想の違いで、同じ処理でも避けたい書き方、統一したい書き方が乱れていたので、関数定義やコンポーネント定義については、仕様を策定したうえで、参照してもらいつつコード生成を依頼すべきだったと反省している(そこがスムーズだとさらに満足度の高いコードになったと思う)。

おわりに

本業もシステムエンジニアであり、個人でも定期的に開発を行っている。社内でもAI活用やエージェントはもちろん可能だが、個人でここまで活用したのは本件が初めてとなる。これまでGoogle colabでのAI機能やAIチャットでのプログラム生成はあったが、開発そのものを協業するようなエージェント活用はなく、この一件でその有用性をさらに理解した。
そして、開発時間の短縮や、MVPかつ動作可能なものを迅速に構築できた結果、「シゴットニア」が爆誕した。

私の「シゴットニア」への思いは当初、子供だったらよかったのに、という観点だけだったが、日ごろの好奇心を具現化させたいという熱意に切り替わっていった。この好奇心や熱意は、結果的にこのサービスの完成に到達した。
そのことからこのサービスが本質的に子供だから、大人だから、という年齢や経験によるギャップは存在せず、どのような人でも、働くことへの熱意や、ものごとへの興味を持っており、それを解消させたり、前進させることのできる仕組みになったと感じる。

もとより個人開発を行っていたものの、具体的なテーマや期日が常に明確にあったわけではなかったため、このコンペを知り、挑戦することができたのは、非常に良かったと感じている。ほかの多くの開発者が、私と同じく興味や関心、熱意を持ってこのコンペの開発に臨んでいると考えると、なぜか気持ちが熱くなってくる。開発者の中では、異業種でエンジニアを経験したことがないが開発に挑戦してコンペにエントリーした方もいるかもしれない。

未経験の方がこのようなコンペやイベントに参加する熱意や原点はどこであるかは、人によって千差万別だが、今回開発したシゴットニアが、子供や未経験の大人の展望を拓き、実務の経験がなくても挑戦する機会につながる原点や基盤になるかもしれないと強く感じた。

最後に私自身もAI黎明期のこの時代にAIを主軸とした開発のきっかけをもらえたことに大変感謝している。

Discussion