チームでAIを使えば、レガシーマイグレーションも楽しいぞ!
基盤も古いし、コードも酷い! そんなクエストにGitHub Copilotで試行錯誤しまくった「みんな」こそ最高
2026年05月11日 11時00分更新
コーディングをAIに任せ、人はなにをするか(富士通)
富士通のチームは、全員初対面という4人。「今日初めて会って、明日は会えないかもしれない」というインスタントなチームで、2人はアップデート、2人はテストという割り振りでハッカソンにのぞんだ。チームで設定したのは、「既存コードを見える化した設計書を作成し、属人化を解消すること」「テストを作成して、モダナイズ後の品質を維持すること」「既存機能を保持しつつJavaのアップグレードを行うこと」の3つのゴールだ。
具体的には、まず既存のコードの問題をGitHub Copilotで洗い出し、設計書を作成。「各メンバーともGitHub Copilotをチームで使うのが初めて。そのためには設計書が必要という判断になった」という。この設計書を元にユニットテスト項目386件とUIテスト41件を作成し、モダナイズで鍵となる既存機能のテストで自動化できるか検証した。また、UIテストに関しては、Playwright-cli skillsを用いて生成したテストコードを、GitHub Copilotで操作しながら実施。
Javaに関しては、Javaのみならず、PythonやTypeScriptへの移行も視野に入れ、結果Javaへの移行を選択した。現行のアプリもGitHub Copilotで解析し、実際のインプリメンテーションプランを作成し、計画に従ってMVCを作成。MVCはJava8、Spring、MySQL 11で開発したという。
GitHub Copilotは環境構築、設計書作成、テストなどで利用したため、各メンバーでそれぞれ違う感想を持ったという。普段使わないClaude Ops 4.6 Fast Modeでの処理速度やレスポンスの精度に感銘を受けたり、新旧比較での設計書の重要さを認識した。GitHub Copilot Quest全体の学びとしては、コーディング作業をGitHub Copilotが担当するため、「時間内にどこまで進められるか」「何を作成するか」などの設計が人の役割となると感じたことが挙げられた。
コメンテーターの野村総合研究所の近藤 健氏は、「すごく楽しそうなチームで、私も楽しみながら聞かせてもらった」と第一声。自身もモダナイズを経験したことがある近藤氏は、「アプローチが素晴らしい。最初に現行業務をおさえ、画面のテストをきちんと行なっている」と評価した。「GitHub Copilotで楽しくなったことは?」という質問に対して、富士通のメンバーからは「コーディングやテストはGitHub Copilotがやってくれるので、成果物をメインに人が作業できるのがよいと思いました」という回答が戻ってきた。
AIエージェントを用いた未来の開発スタイルを実践(野村総合研究所)
野村総合研究所のメンバーは初参加が1人だけという5人のチーム。発表した萩平氏は「Javaしか使えない」と語るが、残りのメンバーはJavaを知らないメンバー。Hack the Legacyの経験を持ちつつ、Java経験のないメンバーの発表に期待が集まる。
チームで設定したゴールは、「エージェントを使って開発を楽しもう」と「自分の言葉でお客さまにAIエージェントを使った開発の楽しさを言えるようになる」の2つを挙げる。ちょっと未来の開発スタイルをいち早く体験しつつ、実際に使った上でAIエージェントの開発が楽しいことを顧客に言うというのが目的というわけだ。
参加2回目となる同チーム。前回はStrutsからSpringへの移行、Javaのアップグレードを同時に手作業で実施しようとして、断念したという苦い経験があった。そこで今回は作業フローを事前に検討し、環境構築、機能の最新化、デザイン修正などを担当で分け、マイグレーションを実施した。
アップグレードは前回知ったマイクロソフトのマイグレーションツールを採用し、Java 1.5+StrutsからJava 17+Strutsを経由し、Spring化を実施した。マイグレーションツールは単なる移行のみならず、不具合やバグを残存リスクとして抽出してくれたという。ただ、メモリ8GBのマシンだったため、4時間かかってしまったという。また、画面デザインは、画面のモックをホワイトボードツールの「Miro」で作成し、GitHub CopilotのSkillsでHTML化するという手法をとった。
今回のキモはAIエージェントを用いた未来の開発スタイル。「エージェントと1対1で話すのではなく、複数のエージェントを一人の人間がマネージメントするアーキテクチャを今回作ってきた」と萩平氏は語る。具体的には、GitHubがプレビュー版で提供している「GitHub Agentic Workflows」を実行基盤層とした5層のシステムアーキテクチャで構成されており、設計方針や暗黙知をレコード化した暗黙知層(ADR:Architectural Decision Records)、基本動作を保証する基本動作層、エージェントを配した実行責任層、スキルを配した実行手段層をスタックしている。
今回はメンバー分の5つのカスタムAIエージェントが用意され、下位の暗黙知層や基本動作層のデータを読み込んだ上で、自分の役割を実現するための13個のスキルを選択して利用する。エージェントが分析した現行アーキテクチャのAS-IS、人間が考えたあるべきアーキテクチャの2つをファイルとしてGitHub Copilotに渡すと、差分を検討して、イシューとして登録。あとはこのイシューをエージェントに割り当てて、人がゴールを設定すれば、勝手にマイグレーション作業が進むという。
GitHub Copilotを利用した感想としては、「Claude Codeなどのツールに比べ、GitHubにネイティブ統合されているので使いやすい」「作業ブランチの名称から目標を汲み取ってくれ、バージョンアップの手法を提案してくれた」「Miro単体の機能と比較して、現実的なモックをGitHub Copilotが作ってくれた」「イシューにゴールを起票するだけで、GitHub Copilotが自動で作業設計を行ない、自律的に完了できるのがすごい」などが挙げられた。
そして、GitHub Copilot Questを通じた学びとしては、「端末のスペックは高ければ高いほどいい」ということが挙げられた。「先ほどお話ししたVS Codeのプラグインを実行するのに、8GBメモリのマシンだと4時間くらいかかってしまった(笑)。それが尾を引いて、タスクが回しきれなかった」とのことだ。また、今回のように複数のエージェント前提で開発を行なうと、待ち時間や同時作業の調整もあるので、人間の作業分担が難しくなるという学びもあった。
アバナードの星野 舜介氏は、「非常によかった。GitHub Copilot app modernizationは、まだ出たばかりで、知見もまだあまり出回っていない。これを使ってマイグレーションにチャレンジしてくれたし、1日のハッカソンで4時間動かすその胆力にも拍手だなと思いました」とコメント。また、「マルチエージェントでの働かせ方もすごく洗練されていた。業界全体で議論されているエージェンティックワークフローの先端をこのハッカソンで活用しているのは素晴らしいと思いました」と感想を語った。
本記事はアフィリエイトプログラムによる収益を得ている場合があります












