🌊

エンジニアチームの生成AIアプリ開発、ハッカソンから始めた理由

2025/02/17に公開

エスマットでエンジニアをしているpotix2です。先日、エンジニアリングチームで生成AIアプリケーション開発のハッカソンを開催しました。8名のエンジニアが5チームに分かれ、1日という短期間で様々なプロジェクトに取り組みました。本記事では、その成果と学びを共有します。


ハッカソンの様子

なぜハッカソンを実施したのか

全社的な方針として、業務とプロダクトの両面で生成AIをフル活用していく方向性が示されました。これを受けて、エンジニアリングチームでは生成AIアプリケーション開発に必要な技術的スキルを効率的に習得する必要性に迫られていました。

私たちは既存業務の延長線上ではなく、新規プロジェクトとして技術習得に取り組むことが効果的だと考え、ハッカソン形式での実施を決めました。短期間で集中的に開発することで、生成AIアプリケーション開発の全体像を把握し、必要な技術スタックへの理解を深めることを目指しました。

参加メンバーは生成AI開発については未経験でしたが、日頃からChatGPTやGitHub Copilotを業務で活用しており、ハッカソン直前からはCursorDevinといった開発支援ツールも導入して準備を進めていました。また、1-2名の少人数チーム制を採用することで、全員が主体的に開発に関われる環境づくりを心がけました。


お昼はバーガーキングのデリバリー

多様な課題へのアプローチ

今回のハッカソンでは、社内の業務効率化に焦点を当て、各チームが異なる課題に取り組みました。中でも特に注目されたのが、システム運用エスカレーションのAIサポートプロジェクトです。

このプロジェクトでは、Slackで日常的に行われている技術的質問やデータ抽出などの作業依頼を効率化することを目指しました。具体的には、Slackボットがメンションされた際に依頼内容を自動で分析し、調査案件なのか運用オペレーションなのかを判別。運用系タスクの場合はDevinに作業を依頼し、調査案件の場合は適切なメンバーを自動で選定してメンションするという仕組みを実装しました。

実用化に向けては依頼内容の分析精度向上や、過去の類似案件の検索機能の追加など、改善の余地は残るものの、基本的なフローを1日で構築できたことは大きな成果でした。

その他のチームでも、以下のような実践的な課題に取り組みました:

  • 顧客からの問い合わせサポート
  • 企業情報を活用した営業提案作成支援
  • プロジェクト管理支援
  • セキュリティチェックシートの回答支援

各チームとも1日という制約の中で、コンセプトの証明となるレベルまでプロトタイプを作り上げることができました。完成度にはまだ課題が残りますが、生成AIを活用した業務改善の可能性を具体的に示すことができたと考えています。

技術的な学びと課題

ハッカソンを通じて、生成AIを活用した開発では従来と異なる開発フローが効果的であることを学びました。特に、CursorとDevinという2つのAIコーディング環境の活用について学びを得ることができました。

複数人が同じコードベースを同時に編集する状況で、Cursor Composerを使うと、予期せぬコンフリクトも発生しやすいことがわかりました。Cursor Composerは複数ファイルをまとめて編集することが多いためです。この経験から、並行作業を前提としたファイル構成や作業分担の設計が重要であることを学びました。

Devinを活用したチームでは、基本的にコードの生成をDevinに任せる開発スタイルに挑戦しました。しかし、エージェントの処理待ち時間が想定以上に発生し、開発効率に課題が残る結果となりました。また、機能実装を丸ごとDevinに依頼してしまったことで、生成されたコードがブラックボックス化し、開発後半での修正が困難になるという問題も発生しました。この経験から、事前に十分な設計を行い、適切な粒度でタスクを分割してからAIエージェントに依頼することの重要性を学びました。

こうした新しい開発フローにおける課題に加え、従来型の技術的な課題も見えてきました。例えば、Langchainは依存関係が複雑で新旧の情報が混在しているため、環境構築に予想以上の時間を要しました。また、プロンプトエンジニアリングの難しさも各チームが共通して感じた課題でした。

今後の展開

ハッカソンを通じて得られた知見を活かし、生成AI活用の取り組みを継続的に発展させていく予定です。まず、今回作成したプロトタイプのいくつかは、メンバーのサイドプロジェクトとして開発を継続します。特にエスカレーションフローのAIサポートなど、実用化の可能性が高いプロジェクトについては、改善を重ねていく予定です。

技術力向上の施策としては、プロンプトエンジニアリングガイド の読み合わせ会を計画しています。また、Difyなどのノーコードツールの環境整備も検討し、プロトタイピングの効率化を図ります。これにより、次回のハッカソンではより高度な課題に挑戦できる環境を整えたいと考えています。

全社的な展開としては、近々開催予定の生成AI活用オフサイトにおいて、今回の知見を共有する機会があります。エンジニアチームとして培った技術的な視点を活かし、全社的な業務改善に貢献していきたいと考えています。

生成AIアプリケーション開発の分野は日々進化しており、私たちの学びもまた継続的なものとなります。今回のハッカソンは、その第一歩としてチーム全体で貴重な経験を得ることができました。今後も定期的にハッカソンを実施し、メンバー各自がレベルアップした状態で臨めることを期待しています。

まとめ

今回のハッカソンは、生成AIアプリケーション開発の基礎的な技術習得を目指して開催しました。Cursor composerやDevinといった開発支援ツールを積極的に活用し、生成AI時代の開発フローについて多くの知見を得ることができました。並行開発における作業分担や、AIエージェントへの適切なタスク分割の重要性など、実践的な学びは今後の開発に活かせるものとなりました。
プロンプトエンジニアリングの重要性や環境構築の効率化など、改善すべき課題も明確になりました。これらの課題に対しては、具体的な施策を計画しており、次回のハッカソンではより高度な課題に挑戦できるよう、チーム全体でスキルアップを図っていきたいと思います。

GitHubで編集を提案
株式会社エスマット

Discussion