0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

2025年、私は国土交通省が主催する2つのハッカソン、Project PLATEAUとProject LINKSに参加しました。去年は1回の参加でしたが、今年は2回参加し、それぞれ異なる特徴と学びがありました。本記事では、これらのハッカソンでの経験と、そこから得られた気づきを共有したいと思います。

Project PLATEAU ハッカソン

イベント概要

Project PLATEAUのハッカソンは2日間の集中開催形式でした。1日目の午前中にプロダクトイメージの構想とチームビルディングを行い、午後から実装作業に入ります。そして2日目の午後4時までに作成したものが審査対象となる、かなりタイトなスケジュールです。

私たちのプロダクト

4人チームで取り組んだ私たちのプロダクトは、自然言語で与えられた質問に対して、Pythonのオーケストレーション機能を使って複数のエージェントを協調動作させ、PDF形式で回答を出力するというものでした。

具体的には以下のような構成です:

  • 各メンバーが特定の機能を担当するエージェントを作成
  • 生成LLMを使って回答コンテンツを生成
  • オーケストレーション機能で各エージェントを連携
  • 最終的にPDF出力機能で結果を整形

私が担当したのは、PLATEAUデータの変換や加工部分及びPLATEAUデータを活用するエージェントの開発です。時間切れでエージェントはマージできなかったのが、非常に残念です。
短時間の開発だったため、当初やりたかったことすべてには辿り着けませんでしたが、プロダクトとして成果発表できる形まで完成させられたことは大きな達成感がありました。

Project LINKS ハッカソン

段階的なプログラム構成

Project LINKSは、Project PLATEAUとは異なる特徴的なプログラム構成でした:

  1. オンラインキックオフミーティング
  2. オンラインアイディアソン
  3. オンラインハンズオン
  4. 2日間のハッカソン
  5. LT会(Lightning Talks)

この段階的なアプローチにより、参加者は準備を重ねながらハッカソン本番に臨むことができます。

キックオフミーティングでの発見

キックオフミーティングで特に興味深かったのは、利用するオープンデータの作成背景についての話でした。MLIT内製アプリ「LINKS Veda」により、大量の紙資料をマシーンリーダブルなデータに変換しているとのことです。このプロセスを知ることで、国土交通省の持つ膨大なデータのオープンデータ化が着実に進んでいることを知り、将来への大きな期待になりました。
また、今回のハッカソンで利用できるオープンデータの紹介と説明があったので、良い準備となりました。

オンラインアイディアソンの体験

オンラインアイディアソンでは、Zoom、Discord、oVice、Google Driveを組み合わせた環境で実施されました。特にoViceを使うことで、オンラインながらもチームごとに集まって話し合える体験は非常にユニークでした。

ここで得られた2つの重要な経験:

  1. データドリブンアプローチ: 利用するオープンデータを決めてから、それをどう活用すべきか方針を話し合う
  2. アイディアドリブンアプローチ: 「こんなアプリがあったらいいな」というアイディアから始めて、全員で様々なユースケースを考え、それに使えるオープンデータをLINKS以外から探す。例えばe-Gov法令検索

両方のアプローチを体験できたことで、プロダクト企画の引き出しが増えました。

オンラインハンズオンの学び

ハンズオンでは、DuckDBとDBeaverという、ハッカソンレベルのデータ分析に適したツールを学びました。

DuckDBの特徴:

  • 地理空間情報に強い
  • 高速なクエリ処理

DBeaverの利点:

  • 直感的で使いやすいUI
  • 結果をマップで描画してくれる機能

これらのツールは本番のハッカソンでは使わなかったですが、今後の業務では使えるツールだと感じました。

2日間のハッカソン本番

基本的な流れはProject PLATEAUと同様でしたが、Project LINKSで斬新だったのは、メンターがチームメンバーとしてジョインした点です。メンター含めて4人のチームとなりました。

メンターは「実装は手伝うから、まずアイディアを膨らませよう」というスタンスで、全員で以下のプロセスを丁寧に進めました:

  1. 何がしたいか、何を実現したいかの意見出し
  2. ハッカソンの提出物として最低限必要な機能(MVP)の定義
  3. できたら(間に合うなら)実装したい機能の整理
  4. メンバーのスキルに応じた担当決め

私たちが作ったプロダクト

最終的に完成したのは、ドローン飛行支援アプリです:

機能1: 飛行計画段階

  • 最近よく飛行されているホットなエリアの可視化
  • 事故情報の可視化
  • これらを見ながら安全な飛行計画を立案

機能2: 飛行実施段階

  • ボタン一つで天候情報や事故履歴から飛行アドバイスを提供するチャットボット

機能3: 飛行終了段階

  • 飛行エリアにお気に入りの写真とコメントを投稿
  • Instagram感覚でシェアできるSNS機能

私はドローンの飛行履歴データの加工、事故履歴の加工、ダミーデータの生成を担当しました。
また、成果発表のためのプレゼン資料を作成しました。

生成AIコーディングの威力

メンターの強力なバックアップもありましたが、印象的だったのは生成AIコーディングの活用です。アイディア段階で生成AIを使ってプロトタイプを作成し、それを元に若干のアレンジを加えるだけでアプリが完成していく様子を目の当たりにしました。

2つのハッカソンの比較と考察

Project PLATEAUの特徴

去年のハッカソンと比較すると、Project PLATEAUは高度なスキルを持った参加者がPLATEAUデータを材料にして、自身のスキルを披露し面白いアプリを見せてくれる場という印象を持ちました。技術力の高さが際立つイベントです。

Project LINKSの特徴と時代の変化

Project LINKSは今回が初参加のため去年との比較はできませんが、AIコーディングの力により、全てのチームが最低限動くものを完成させてプレゼンできるようになっていることに時代の変化を感じました。

特に興味深かったのは、非エンジニアの方がAIコーディングツールを駆使してプロダクトを作る姿です。彼らは様々なAIコーディングツールを知っており、それぞれの得意な使い方を理解して使いこなしていました。これはエンジニアとは異なるアプローチで、非常に刺激的でした。

ハッカソン参加の価値

国土交通省のハッカソンに去年1回、今年2回参加して、改めてその価値を実感しています:

  • 新規技術やトレンドの把握: 最新の技術動向を肌で感じられる
  • 純粋なコーディングの楽しさ: 業務とは関係なく、技術を楽しめる
  • 人との出会い: 多様なバックグラウンドを持つ参加者との交流
  • 実践的な学び: 短期間で成果を出す経験

来年もこれらのハッカソンに参加し、自分自身のスキルや知識の幅を広げ、人脈を広げていきたいと考えています。

参加を迷っている方へ

ハッカソンへの参加を躊躇している方がいらっしゃるかもしれません。しかし、心配は無用です:

  • 初参加の人はたくさんいます
  • サポート体制は手厚いです
  • とにかく楽しいです!

ぜひ参加をご検討ください。

おまけ: Project LINKS LT会のご案内

なお、Project LINKSのLT会はまだ申し込み可能です。ハッカソンの素晴らしい作品のことなども話題になると思います。オンラインですので、ぜひお気軽にご参加ください。

申し込みはこちら: https://asciistartup.connpass.com/event/377258/

おわりに

2025年は国土交通省の2つのハッカソンに参加し、技術面でも人間関係でも大きな収穫がありました。特に生成AIとコーディングの融合が進む現在、ハッカソンは技術トレンドを体感できる貴重な機会です。

皆さんも機会があれば、ぜひハッカソンに参加してみてください。きっと新しい発見と出会いがあるはずです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?