16
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【徹底比較】AI自律実装ツールでFedGAN論文を実装してみた - Copilot vs Antigravity × Claude/Gemini

Posted at

はじめに

GMOコネクトの永田です。

最近、AIによる自律実装支援ツールが相次いでリリースされました。Github Copilot Plan mode、Google AntigravityともにAIが実装計画を立案してくれる機能を持ちます。

本記事では、前回個別に計画(設計)・実装したFedGAN論文を題材に、最新AIツールによる自律実装の実力 を3パターンで検証しました。実装品質・学習結果・開発体験の観点から定量・定性評価を行います。

まとめ

  • 検証結果
    • Antigravity + Claude Sonnet 4.5: 実装精度・コード品質・学習収束すべてで最高評価
    • Antigravity + Gemini 3.0 / Copilot + Claude Sonnet 4.5: 実装の不備(加重平均欠落・GPU最適化漏れ等)や学習不安定性あり
  • 結論
    • 現時点で実務投入の現実味があるのはAntigravity + Claude Sonnet 4.5のみ。他はレビュー・修正前提
  • ツール選定の鍵
    • Plan段階での質問の質・フィードバック機能・実行ログ統合など、開発体験が実装品質を左右

試したサービス・機能

今回、以下の3つで試してみました。

サービス モデル 備考
VSCode + Github Copilot Claude Sonnet 4.5 plan mode -> agent mode
Antigravity Gemini 3.0 Pro (High) Agent-assisted development
Antigravity Claude Sonnet 4.5 Agent-assisted development

Antigravityは RECOMMENDED と強くおすすめされていた設定にしています。

スクリーンショット 2025-11-19 20.14.00.png

Antigravity自体の使い方などは、こちらの記事などを参照してください。

参考までに、実施時点での詳細なバージョンです。

  • macOS: 26.1(25B78)
  • VSCode: 1.106.1
  • Antigravity: 1.11.3

実施手順

以下の手順としました。

  • 最初にある程度の方向性を提示
  • AIから明に確認やレビューの依頼があれば回答、追加質問が無くなるまで繰り返す
    • Copilot planは Further Considerations
    • Antigravityは User Review Required
    • (実務では、それ以外のImplemetation Plan全体をちゃんとレビューしてください😊)
  • AIからの質問事項がなくなったら実装を依頼し、Epoch=50, Agent=5で試してもらう
  • generator imageから、GANの学習が(だいたい)正しくできていそうかを判定
  • 生成されたソースコードも観点(後述)に沿ってレビュー
    • 今回はお試しなので修正まではせず、1回目の出力のみで評価
    • (実務では、SourceCodeレビューでフィードバックして、品質をあげてください😊)

Planへのprompt

どのパターンも共通で以下のpromptを最初にいれています。

FedGANの論文(paper/arXiv-2006.07228v2/neurips_2020.tex)のPoCを実装する。

- 「Algorithm 1: Federated Generative Adversarial Network (FedGAN)」および、それに関連する記載を重点的に実装
- DatasetはMNIST部分のみで良い
- 実装計画を作成する場合、FedGANの処理シーケンスをMermaidで作成
  - 目的: シーケンスを元にPython(Tensorflow)でFedGANの実装をしたい
  - 注意: TeX 記法がMermaidのパーサーエラーを引き起こすため、Texから転記する場合、すべてプレーンテキスト(カンマ・バックスラッシュなどの特殊文字を除去)に置き換え
- まずは、最小限動くプロトタイプ(PoC)で良い
  - Agent/Server間通信は不要で、まずはSingle-Process、Single-Loopで良い
  - プロトタイプの設計、実装にあたり、決めるべき値や追加で必要な情報があれば、確認すること
- pythonは以下を利用する
  - python3.12 (MacOSでのTF GPU互換性のため)
  - venv
- GANはTensorflow tutorialを利用
  - see: examples/gan_tf_tutorial/train.py
  - tensorflow, tensorflow-metalのversionも、上記examplesのrequirements.txtを参照
- 各Epochのgeneratorの生成画像を1つのAnimation GIFとして生成
  - Batch単位や、論文のKの単位ではなく、Epoch単位(1Epoch = local datasetの全データ1周)
- 各Epochのloss graphをPNGで保存
  - generatorとdiscriminatorのlossを1つのgraphにまとめる
  - Epoch単位
- ソースコードコメントには、論文の"Algorithm 1"の各ロジックとマッピングが取れるような内容もいれる

実施サマリー

前回記事と似たような観点で実装後ソースコードや、実行結果を比較していきます。

生成されたPlan・ソースコード

サービス・モデル 実行計画 ソースコード
Copilot + Claude Sonnet 4.5 https://github.com/gmoconnect/fedgan-paper-agent2/blob/feature/copilot_claudesonnet45/examples/fedgan_poc/IMPLEMENTATION_PLAN.md https://github.com/gmoconnect/fedgan-paper-agent2/blob/feature/copilot_claudesonnet45/examples/fedgan_poc/train.py
Antigravity + Gemini3.0 Pro https://github.com/gmoconnect/fedgan-paper-agent2/blob/feature/antigravity_gemini3pro/doc/implementation_plan.md https://github.com/gmoconnect/fedgan-paper-agent2/blob/feature/antigravity_gemini3pro/examples/gan_tf_tutorial/fedgan_train.py
Antigravity + Claude Sonnet 4.5 https://github.com/gmoconnect/fedgan-paper-agent2/blob/feature/antigravity_claudesonnet45/doc/implementation_plan.md https://github.com/gmoconnect/fedgan-paper-agent2/blob/feature/antigravity_claudesonnet45/fedgan_poc.py

比較観点サマリ

  • Antigravity + Claude Sonnet 4.5 が生成してくれたソースコードがかなり好みのもので、とても分かりやすいかった。
    • 学習結果も良い
  • Antigravity + Gemini3は、Copilotよりは良いが、Antigravity + Claude Sonnet 4.5よりは劣る(個人的な主観)
    • どこがbugっているのか不明だが、学習結果が良くない(MNISTの手書きっぽいものを生成しようとしているが出来ていない)
  • Copilot + Claude Sonnet 4.5は、Class定義がされておらず、好みの形式ではなかった
    • どこがbugっているのか不明だが、学習結果が安定しない(生成画像がふらふらする)
Category Point Copilot + Claude Sonnet 4.5 Antigravity + Gemini3 Pro Antigravity + Claude Sonnet 4.5
Python 実行時エラーがないか
TF Tensorflow GPUが使えているか? @tf.function を使ってくれているか
FedGAN MNISTデータがAgent毎に分割されているか
FedGAN 重みの初期値をAgentで統一する処理があるか
FedGAN Agent毎にlocal generator, discriminator, optimizerがあるか
FedGAN 同期間隔K毎に、重みの同期を行っているか ⚠️
FedGAN Server(Intermediary)は、重みの加重平均のみか。Agentのデータ数に比例した加重平均か
FedGAN 学習結果が収束しており、生成画像がTutorialに近いものか
GAN 学習結果として、Epoch毎の画像およびAnimationGIFと、Loss Graph(PNG/CSV)が保存されているか
GAN AnimationGIF用にEpoch毎の生成画像のSeedが固定されているか
Python プロトタイプとして必要最小限の実装になっているか
Python コメントやtypingは十分か ⚠️
Python クラス分けなどソースの構造かは適切か ⚠️

生成画像比較

サービス・モデル loss graph(Agent0) gen image(Agent0)
Copilot + Claude Sonnet 4.5 loss gen
Antigravity + Gemini3 Pro loss gen
Antigravity + Claude Sonnet 4.5 loss gen

❌⚠️ と判定した観点の補足

Antigravity + Claude Sonnet 4.5

⚠️同期間隔K毎に、重みの同期を行っているか

iteration += 1 のcountupのタイミングがおかしそうです。

agent * batch単位でcountupされており、意図しないタイミングや回数で重みの同期がされてしまっていそうです。

Antigravity + Gemini3 Pro

❌Server(Intermediary)は、重みの加重平均のみか。Agentのデータ数に比例した加重平均か

なんか、加重無しの単純平均に見えるんですよね。

AIが主体的に確認してきた内容

ツールやモデルによって、AIが確認してくる項目にかなり違いがありましたので、まとめます。
多ければ良いって訳ではないですが、個人的には後でbugっているよりは、事前に聞いてくれる方が好みではあります。

同じAntigravityでもModelが違うと、確認事項の量や内容が結構違っており、意外でした。

Copilot + Claude Sonnet 4.5

スクリーンショット 2025-11-20 16.57.08.png

Antigravity + Gemini3.0 Pro

スクリーンショット 2025-11-20 16.55.56.png

Antigravity + Claude Sonnet 4.5

スクリーンショット 2025-11-20 16.54.31.png

各ツールを使ってみた所感

Antigravity

Agent Managerが重たくて使えない

AntigravityのAgent Managerが目玉機能のようなのですが、私の環境だとMacの待機アイコンがぐるぐるして、アプリがフリーズ状態になってしまう😇

Planへのレビューがつけやすい(デメリットもあり)

Implementation Planに対し、行単位でコメントができます。そのため、どの記載に対してのコメントなのか?を、都度伝える必要がありません。
Copilot AgentだとExcelのソースコードコメント表のような内容でやりとりしていたのが、githubのPullRequestのコメントのようにフィードバックできる、とイメージしてもらえると分かりやすいです。

スクリーンショット 2025-11-20 14.17.00.png

ただ、1行ずつコメントつけていくと、どの行に対するコメントか分かりにくい😇

以下の画像は上から4行に対してコメント( OK )をつけた状態です。コメントをクリックしてもコメント対象のハイライトなどがないので、ぱっと見て分からないです。

コメント選択時にPlan側へハイライトが入ると分かりやすいんですけどね。

スクリーンショット 2025-11-20 14.20.51.png

CLI実行状態がAgent側に統合されていてみやすい

VSCode + Copilotだと、Agentのウィンドウとは別にTerminalのウィンドウで実行結果が流れるのですが、AntigravityはAgentウィンドウの中に埋め込まれています。
そのため、あっちこっちに視線を動かさなくても状況が把握でき、Agentウィンドウのみでも完結できそうなUIでした。(Agentウィンドウのみで完結するモードがAgent Managerだと思いますが、フリーズして使えず😇)

スクリーンショット 2025-11-20 14.28.11.png

また、以下の画像のように、ログから途中状態をみてくれていそうです。
コマンド実行が終わるまで待たずにチェックしてくれるため、何か問題があれば早めのフィードバックをしてくれることが期待されます。

スクリーンショット 2025-11-20 14.33.30.png

walkthroughとして作業結果をまとめてくれる

一通り作業が終わると、walkthroughとしてまとめて表示してくれます。
今回は論文のアルゴリズムとのマッピングもソースコードレベルで解説してくれています。

スクリーンショット 2025-11-20 16.06.48.png

まとめ

  • 検証結果
    • Antigravity + Claude Sonnet 4.5: 実装精度・コード品質・学習収束すべてで最高評価
    • Antigravity + Gemini 3.0 / Copilot + Claude Sonnet 4.5: 実装の不備(加重平均欠落・GPU最適化漏れ等)や学習不安定性あり
  • 結論
    • 現時点で実務投入の現実味があるのはAntigravity + Claude Sonnet 4.5のみ。他はレビュー・修正前提
  • ツール選定の鍵
    • Plan段階での質問の質・フィードバック機能・実行ログ統合など、開発体験が実装品質を左右

最後に、GMOコネクトでは研究開発や国際標準化に関する支援や技術検証をはじめ、幅広い支援を行っておりますので、何かありましたらお気軽にお問合せください。

お問合せ: https://gmo-connect.jp/contactus/

16
4
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
16
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?