はじめに
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 と強くおすすめされていた設定にしています。
Antigravity自体の使い方などは、こちらの記事などを参照してください。
参考までに、実施時点での詳細なバージョンです。
- macOS: 26.1(25B78)
- VSCode: 1.106.1
- Antigravity: 1.11.3
実施手順
以下の手順としました。
- 最初にある程度の方向性を提示
- AIから明に確認やレビューの依頼があれば回答、追加質問が無くなるまで繰り返す
- Copilot planは
Further Considerations - Antigravityは
User Review Required - (実務では、それ以外のImplemetation Plan全体をちゃんとレビューしてください😊)
- Copilot 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・ソースコード
比較観点サマリ
- 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 | ![]() |
![]() |
| Antigravity + Gemini3 Pro | ![]() |
![]() |
| Antigravity + Claude Sonnet 4.5 | ![]() |
![]() |
❌⚠️ と判定した観点の補足
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
Antigravity + Gemini3.0 Pro
Antigravity + Claude Sonnet 4.5
各ツールを使ってみた所感
Antigravity
Agent Managerが重たくて使えない
AntigravityのAgent Managerが目玉機能のようなのですが、私の環境だとMacの待機アイコンがぐるぐるして、アプリがフリーズ状態になってしまう😇
Planへのレビューがつけやすい(デメリットもあり)
Implementation Planに対し、行単位でコメントができます。そのため、どの記載に対してのコメントなのか?を、都度伝える必要がありません。
Copilot AgentだとExcelのソースコードコメント表のような内容でやりとりしていたのが、githubのPullRequestのコメントのようにフィードバックできる、とイメージしてもらえると分かりやすいです。
ただ、1行ずつコメントつけていくと、どの行に対するコメントか分かりにくい😇
以下の画像は上から4行に対してコメント( OK )をつけた状態です。コメントをクリックしてもコメント対象のハイライトなどがないので、ぱっと見て分からないです。
コメント選択時にPlan側へハイライトが入ると分かりやすいんですけどね。
CLI実行状態がAgent側に統合されていてみやすい
VSCode + Copilotだと、Agentのウィンドウとは別にTerminalのウィンドウで実行結果が流れるのですが、AntigravityはAgentウィンドウの中に埋め込まれています。
そのため、あっちこっちに視線を動かさなくても状況が把握でき、Agentウィンドウのみでも完結できそうなUIでした。(Agentウィンドウのみで完結するモードがAgent Managerだと思いますが、フリーズして使えず😇)
また、以下の画像のように、ログから途中状態をみてくれていそうです。
コマンド実行が終わるまで待たずにチェックしてくれるため、何か問題があれば早めのフィードバックをしてくれることが期待されます。
walkthroughとして作業結果をまとめてくれる
一通り作業が終わると、walkthroughとしてまとめて表示してくれます。
今回は論文のアルゴリズムとのマッピングもソースコードレベルで解説してくれています。
まとめ
-
検証結果
- Antigravity + Claude Sonnet 4.5: 実装精度・コード品質・学習収束すべてで最高評価
- Antigravity + Gemini 3.0 / Copilot + Claude Sonnet 4.5: 実装の不備(加重平均欠落・GPU最適化漏れ等)や学習不安定性あり
-
結論
- 現時点で実務投入の現実味があるのはAntigravity + Claude Sonnet 4.5のみ。他はレビュー・修正前提
-
ツール選定の鍵
- Plan段階での質問の質・フィードバック機能・実行ログ統合など、開発体験が実装品質を左右
最後に、GMOコネクトでは研究開発や国際標準化に関する支援や技術検証をはじめ、幅広い支援を行っておりますので、何かありましたらお気軽にお問合せください。














