日本マイクロソフトのハッカソン「GitHub Copilot Quest」をレポート
レガシーアプリをGitHub Copilotでハックせよ! 若手SIerらがモダナイゼーションチャレンジ
2025年12月26日 07時00分更新
富士通:モダナイゼーションに加えて“監査ログ”の実装も
富士通のチーム「Fuji Code Climbers(GitHub Copilot命名)」では、最初にメンバーで話し合い、Javaのアップグレード、UIの改善、バックエンドとフロントエンドの分離という3つのゴールを定めた。後はGitHub Copilotによる、Javaは17、フレームワークはSpring Boot 3.2、フロントエンドはReact 18とTypeScript、BuildツールはMavenという提案に沿ってモダナイズを進めていった。
GitHub Copilot活用で工夫した点として、作業の分担後のシステムマージをGitHub Copilotに任せたのが効率化につながったこと、プロンプトにMarkdown記法を使用して精度を向上させたことが挙げられた。結果、JavaのアップグレードとUI改善までは達成するも、フロントエンドの分離は断念。ただ、UI改善では、管理者が監査ログを見られるこだわりの新機能を実装している。
プレゼンを担当した山本さんは、「MCPも利用したかったが、構築に時間がかかり今回は見送ったのと、どの作業でエージェントやモデルを使い分けるかを把握せずに進めてしまった」と苦労した点を振り返る。また、移行において仕様が引き継がれているかは、人の目でも確認する必要があることも学びになったと述べられた。
審査員であるNTTデータグループの井上大輔氏は、「限られた時間の中、機能追加までしているのが驚きであり、しかも、その機能が監査ログの出力という玄人向けのチョイスだったのが、過去の業務での苦労が伺えた」とコメントした。
NTTデータグループ:.NETを知らない開発者たちはモダナイズを達成できたか
NTTデータグループは、同じ部署ながら一緒に仕事をしたことのない、かつハッカソン初参加のメンバーで参戦。さらに、.NET Frameworkのレガシーアプリを選んだ唯一のチームになる。「.NETを知らない開発者たちがゼロから高速でリビルドをやり切れば、COBOLを知らない技術者がGitHub Copilotでモダナイズする一歩目になる」という想いでのチャレンジだ。
モダナイズにあたって、開発の前に現状把握や戦略立案、仕様復元から入る「N字開発プロセス」を採用し、AIのパフォーマンスを活かすべく「リビルド」を基本戦略とした。ハッカソンの前半は、現行仕様のリバース後に、新仕様の設計書を作成。知識ゼロな中でもGitHub Copilotをフル活用することでドキュメンテーション化を進めた。
後半の実装では、Gitの同期ラグを最小限にするために「モブプログラミング」を採用。GitHub Copilotはドライバー、メンバーはナビゲーターという体制で、全員でソースコードを見ながら開発を進め、プルリクエストの作成、コードレビューなどもGitHub Copilotに任せている。今後の課題となったのは、「AI由来のソースコードの品質評価」だ。やはり知識がない中で、レビューしたり、潜在的な不具合を発見したりするのは時間を要したという。それでも、.NET Framework 4.8から.NET 10へのリビルドにこぎつけた。
今回、.NET Frameworkのレガシーアプリを作成した日本マイクロソフトの井上章氏は、「 .NETを普段使っていない中でのチャレンジに感謝したい。その分、GitHub Copilotとのモダナイゼーションは多くの学びを得られたのではないか。モブプログラミングも是非、社内でも実践してみて欲しい」とコメントした。
NECソリューションイノベータ:すべてをコンテキスト化してGitHub Copilotを賢く
トリを務めたNECソリューションイノベータは、ハッカソンのために顧客や業務特性、年齢もバラバラなメンバーが集結した。同チームもユーザーストーリーの想像から始めており、書店ごとにバラバラに運用するシステムをクラウドに統合したいという顧客ペルソナを設定。それに合わせて、システムアーキテクチャや開発プロセス、提供機能までをモダナイズする方針をとった。
工夫したのは、LLMによる出力やIaC、設計書までをMarkdown記法やコードで記述させることで、すべてをコンテキスト化したことだ。さらにプロジェクト全体をコードベースでスキャンしてコンテキストを圧縮できる「Serena MCP」を利用することで、GitHub Copilotの理解を高めている。
さらに、システムアーキテクチャや開発プロセスのモダナイズにおいては、GitHub Copilotにアーキテクチャ図をMermaid記法で書かせて、それを基に移行計画を立案。提供機能のモダナイズでは、Java5の動作確認が社内ルールでできなかったため、GitHub Copilotに画面UIを“アスキーアート”で表現させることで解決した。
こうした様々な工夫を凝らしつつモダナイズは完了。そんな中苦労したのは、役割分担時に得られたLLMの出力やアイディアに対する収束や統合、正誤判断であり、「結局は人のリソースがボトルネックになってしまう」(NECソリューションイノベータ 清水さん)と実感したという。
審査員を務めた富士通の三浦真樹氏は、「生成AIを使いこなす上での現場の課題を的確に把握しており、それを踏まえてハッカソンに臨んでいることがよく伝わってきた。これからも現場の苦労と技術への関心の視点を持って、生成AIの活用を進めて欲しい」と評している。
あまたのレガシーアプリがAIとの協働でモダナイズされていく未来
最後に、Java EEのレガシーアプリを担当したMicrosoftの柳原伸弥氏は、「描いていたGitHub Copilotで変わる開発の姿を、皆さんの取り組みを通して実感することができて、非常に嬉しかった。そして、日本にはレガシーアプリケーションがごまんとある。皆さんがこれから出会うレガシーなテクノロジーも、そこにコードがあればモダナイゼーションできる“地図”だと思える時代になっている」と全体を講評した。
そして、日本マイクロソフトのCloud & AI ソリューション事業本部 Azure 金融サービス本部長である安冨秀隆氏は、「SIerの主要プレイヤーの皆さんに集まってもらったのは、自分たちの力で日本を変えていくため。ある瞬間では、ライバル関係かもしれないが、ここをスタートラインとして、エンジニアリングの世界でぜひ手を取り合って欲しい」と締めくくった。
なお、当日の様子はYouTubeにて公開しており、後日、より詳細なレポートも掲載予定だ。















