この記事は、CYBOZU SUMMER BLOG FES '26の記事です。
こんにちは。 モバイルエンジニアの臼井(@usuiat)です。
この記事では、2026年7月17日に開催した「モバイルまつり」と、その中で取り組んだAIハッカソンの様子をご紹介します。
モバイルまつりとは
モバイルまつりは、サイボウズのモバイルエンジニアがオフラインで集まって開催している社内イベントです。
サイボウズのモバイルエンジニアは、それぞれが担当するプロダクトごとのチームに分かれて活動していますが、プロダクトの枠を超えた横のつながりであるコミュニティも大切にしています。 モバイルコミュニティではいろいろな活動をしており、モバイルまつりもその一つです。 普段はリモートワーク中心のメンバーがオフィスに集まり、アプリ開発の課題について議論したり、最近の業務内容や興味のある技術について話したりして、お互いに交流を深め、信頼関係を築く場として活用しています。

今回のメインコンテンツはAIハッカソン
今回も、全国から20人を超えるモバイルエンジニアが東京オフィスに集まり、濃密な1日を過ごしました。 コンテンツは以下の通りです。
| コンテンツ | 内容 |
|---|---|
| アイスブレイク | 私は誰でしょう(エピソードを聞いて、誰のエピソードかを当てるクイズ) |
| マネージャートーク | モバイルエンジニアの活動や今後の方針などをマネージャーが話しました |
| ランチ | お弁当を食べながら歓談 |
| AIハッカソン | 今回のメインコンテンツ |
| リクエストLT | 運営が指名した数名のエンジニアに、最近の業務内容などを話してもらいました |
| 懇親会 | お酒を飲みながらわいわい |
メインコンテンツはAIハッカソンでした。 3〜4人のチームに分かれて、「喫茶さいぼうずのアプリを作ってください」というお題に取り組みました。 3時間ほどの制限時間の中でAIを最大限活用して実際に動くモバイルアプリを作り、成果を発表しました。
AIハッカソンに取り組んだ背景
モバイルまつりでAIハッカソンを実施することにした理由は、モバイル開発における一歩進んだAI活用を推進していくためです。
モバイルエンジニアでAIハッカソンに取り組むのは、今回で2回目でした。 前回開催した当時は、まだAIエージェントにコードを書かせることが当たり前ではありませんでした。 ハッカソンで楽しみながらAIエージェントを実際に利用してみることによって、心理的なハードルが下がり、業務の開発でのAIエージェント活用が進むきっかけになりました。
それから半年ほど経ち、モバイルエンジニアがAIにプロダクトコードを書かせることはすっかり浸透しました。 しかし、AIエージェントも進化しています。 最近はAIエージェントが自律的に実装と検証を繰り返すループを設計する「ループエンジニアリング」の必要性が語られるようになっていますが、モバイルエンジニアの間でのループエンジニアリングへの取り組み方は、人によってかなりばらつきがある状態でした。 そのため、コミュニティの取り組みとして、単にコードを書かせる以上のAIエージェントの活用方法を探っていきたいと考えていました。
そこで、第2回のハッカソンを企画し、最近のAIエージェントがどの程度自律的に作業をこなせるのかを体感し、多くの作業をAIに任せるためのドキュメント作りやループ設計を実際にやってみる機会を作ることにしました。
ハッカソン運営で工夫したこと
AIハッカソンでは、AIエージェント(Claude Codeを利用しました)に自律的にアプリを作らせることを体験してもらうために、いくつかのルールを決めました。
基本のルールとして、各チームは、ワンショットの指示のみでAIにアプリを開発させることにしました。 参加者には、ハッカソンの時間内にアプリの仕様や開発プロセスを定義するドキュメントを整備してもらいます。 そして、合図で各チーム一斉に1回だけAIに指示を出し、その後はAIの自律実行に任せます。
ハッカソンの運営側では、AIへの1回限りの指示として、以下に示すstartスキルを用意して配布しました(掲載しているのはAndroid用です)。
startスキルには、ドキュメントを読んで自律的にアプリを開発するように書いてあります。
ハッカソンの参加者は、このstartスキルから読み込むドキュメントを整備することになります。
--- name: start description: ハッカソン開始。docs/README.md を起点にアプリを自律開発する disable-model-invocation: true --- # アプリ開発の開始 これは1回きりの自律実行である。以下を厳守すること。 ## 絶対ルール - ユーザーへの質問は禁止。不明点はドキュメントとコードから判断し、判断に迷ったら「動くものを優先」する - 作業を途中で止めない。完成条件を満たすまで実装・検証を繰り返す ## 手順 1. `docs/README.md` を読む。これがこのプロジェクトの開発の起点であり、他のドキュメントの構成・読む順序・開発プロセスはすべてそこに定義されている 2. `docs/README.md` の指示に従って開発を進める - `docs` に検証方法の定義がない場合は、プロジェクト標準の方法(`./gradlew assembleDebug`)で自らビルド確認を行うこと 3. 完了後、ハッカソンの成果発表に使える資料を `PRESENTATION.html` としてプロジェクトルートに書き出す - 単一のHTMLファイルで完結させること。CSS・JSはすべてインラインで記述し、外部ファイルやCDNへの参照は禁止(ブラウザで開くだけで表示できる状態にする) - エミュレータで容易にスクリーンショットが撮れる場合は data URI で埋め込んでよい(任意。取得に手間取るなら省略し、資料の完成を優先する)
なお、Claude Codeの/goalコマンドを使うことも考えましたが、今回はあえて使わないことにしました。
手作りのループエンジニアリングを楽しみながら試行錯誤する機会にするためです。
また、成果発表用の資料を作らせることもスキルに組み込むことで、参加者は時間いっぱいまでアプリ開発に専念できるようにしました。
成果発表
運営側が想像していた以上にバラエティ豊かなアプリが出来上がりました。kintoneをバックエンドにしてオンライン注文システムを作るチームや、バーのマスターとの会話を楽しむアプリを作るチーム、喫茶店経営ゲームを作るチームなど、個性あふれる発表会になり、盛り上がりました。


気になるAI活用方法についても各チームで工夫がみられました。
AIが自律的に動けるように、ドキュメントをしっかり整備したチーム
あるチームは、アプリ開発に必要なドキュメント一式を作成しました。 具体的には、コンセプト、受け入れ条件、アーキテクチャ、技術規約、開発工程の定義、シミュレータによる確認方法、トラブルシューティングなどです。
そして、startスキルが最初に読むdocs/README.mdに、これらのドキュメントを読み込むタイミングを指示していました。
完成の定義や、制限時間まで改善を続けるための指示も書いてあり、AIが自律的にアプリの完成度を上げられるように工夫していました。
ハッカソンのお題だけを指示し、仕様もAIエージェントに考えさせたチーム
別のチームは、docs/README.mdにはハッカソンのお題と、利用するスキルやサブエージェントだけを指定していました。
スキルには、メインエージェントが開発マネージャーとしてサブエージェントに指示を出して開発を進めるように書かれていました。
実際の開発は、メインエージェントの開発マネージャーが、プロダクトマネージャーエージェントを起動して仕様を考えさせ、アーキテクトエージェントに設計させ、QAエージェントと開発者エージェントにTDDで開発させ、レビューエージェントにレビューさせるという流れで進めていました。
ペルソナを定義してAIにレビューさせたチーム
また別のチームは、複数のペルソナを定義してそれぞれにサブエージェントを割り当てて、実装したアプリをレビューさせていました。 ペルソナは、プロダクトマネージャー、ユーザー、エンジニアの3名分作成し、各ペルソナがそれぞれの立場でアプリを評価する仕組みになっていました。 機能はプロダクトマネージャー、受け入れ基準はユーザー、実現可能性はエンジニアというように、誰が最終決定権を持っているかを明確にした点が印象的でした。
ハッカソン運営側としては、途中でAIが止まってしまってアプリが完成しないチームも出てくるのではないかと予想していましたが、実際には全チームがアプリ完成まで完走しました。 今回のハッカソンは、新規アプリ開発という、AIにとって比較的取り組みやすい課題でした。 そのため、大規模な既存コードを変更する場合に同じようにうまくいくとは限りません。 それでも、ループエンジニアリングを実際に体験し、「思ったよりも使えるな」と感じたメンバーも多かったと思います。 また、共通のお題に取り組むことで、自分では思いつかなかったAIの活用方法を知ることができました。 このハッカソンの取り組みが、実際の開発でより一層AIを活用していくきっかけになればいいなと思います。
おわりに
今回のAIハッカソンおよびモバイルまつりは、わいわいと楽しみながら学びを得ることもでき、大成功でした。 モバイルエンジニアの事業への貢献の仕方は、AIの発展によってこの1〜2年で大きく変わりましたし、今後も変わっていくと思います。その時々で必要な技術や知識をコミュニティでしっかり学び、サイボウズのモバイルエンジニアリング全体を継続的にレベルアップさせていきたいと思っています。