はじめに
今まではDataRobotやChatGPTのように、AIによる分析やアプリ開発補助がなされるようになってきたが、金銭的な問題や役割的な問題で、完全には非エンジニアが分析やアプリ開発を担うことはないと思っていた。
しかしながら、2025年11月18日にGoogleが発表したGoogle Antigravityは、参考資料[1]のように作りたい内容を説明したらアプリを自動生成してくれているよう見受けられ、ITエンジニアの代わりになるか気になったため、利用した所感をまとまていく。
なお、Google Antigravityの概要や環境構築などについては参考資料[1]や[2]にきれいに整理されていたので、ここでは利用した所感のみ記載していく。
検証内容
要件を記載するだけで完全なアプリを作成することができるのか。
設定内容
検証するにあたり、Gemini 3 Pro(High)のPlanning(計画重視)で行った。そのほか設定はデフォルト設定を適用している。
作成予定アプリ内容
Twitchの配信情報をアップロード画面から読み込み、人気格闘ゲームにはどんな特徴があるか分析して、分析結果の説明とその根拠になるグラフを表示させること。
初回実行
初回実行では、以下のようにプロンプトを指定して実行した。
レビュー依頼時の条件で日本語指定している理由は、参考資料[1]では日本語でやり取りできているように見えたが、自分の環境で実行した場合は日本語で回答してくれないことが多々あったため、日本語を利用させるよう指定するためである。
*立場
あなたは優秀なデータサイエンティストです。
*ミッション
顧客より、画面からExcelファイルをアップロードして、
その内容をもとに分析結果を画面にグラフと要点を画面表示する
アプリケーションを作成する必要があります。
アプリ作成条件を必ず守りながら、要件を満たすアプリを
ステップバイステップで検討して作成してください。
疑問点があれば必ず確認してください。
*要件
格闘ゲームについて、2023年6月~2025年11月におけるTwitchの配信者情報が記載されたExcelファイルと、
Twitchの視聴者数・配信時間・配信チャンネル数が記載されたExcelファイルがある。
画面からExcelファイルをユーザーがアップロードするので、
ファイル内容を分析して要点をグラフをまとめ、
どのような格闘ゲームならTwitchでの視聴者が多く、配信が活発で
コミュニティが活発であるか説明するためのアプリケーションを作成してください。
*アプリ作成条件
①PythonとStreamlitを使って作成してください。
②今後機能追加する可能性があるので、画面左側にタブを用意し、
どんな分析か選べるようにしてください。
③保守運用・開発しやるいように、プログラムの構造は
マイクロサービスアーキテクチャにしてください。
④ファイルアップロードする際、何をアップロードしているかわかりやすく、
アップロードを取りやめできるように、アップロード予定のファイルを画面表示して、
問題なければOKボタンを押下して実際にアップロードされるようにしてほしい。
また問題ある場合は対象ファイルを×ボタンで取り下げできるようにしたい。
⑤分析結果について、まずは要点を表示させ、その下に根拠となる内容やグラフを表示してほしい。
*レビュー依頼時の条件
レビュー者は母国語が日本語なので、日本語で作成内容を整理してください
実行したところ、30秒ほどで以下のようにどのようにアプリ開発をしていくか記載されたplan.mdファイルが作成された。ファイルの記載は英文になっていたが、ログ画面上では日本語で何をしようとしているか説明も記載されていた。このようにやり取りをしていく中で、アプリケーションを自動作成することができた。
計画書 (implementation_plan.md) とタスクリスト (task.md) を作成しました。
確認事項:
アーキテクチャについて: 「マイクロサービスアーキテクチャ」とのご要望ですが、今回はPython + Streamlit単体での構成となるため、保守性を高めるために機能ごとにクラス(Service)を分割したモジュラー構成(将来的にAPI化もしやすい構造)で実装を進めます。これでよろしいでしょうか?
データ形式について: Excelファイルの具体的な列名が不明なため、一般的な名称(GameTitle, ViewerCount, StreamTime など)を想定して作成し、後から調整可能なように実装します。また、動作確認用にダミーデータを作成して検証します。
上記の方針で問題なければ、実装を開始します。ご確認をお願いいたします。
気になったやり取り
アプリ作成にあたって自分の想定と異なる挙動を確認したので、AIと何回かやり取りをしており、気になったやり取りを以下に記載していく。
1. 意図を理解していないAIによる余計な親切心
こちら側が指示した意図を理解していないので、必ず守ってほしいと指定していても、余計な気を回して意図した挙動をしないことがあった。これはGPTなどの他のLLMにも共通しているが、指示が多かったり、意図を理解していない場合には指定条件を無視して、最善策をAI側で判断して実行していることがある。
今回はマイクロサービスアーキテクチャ構造を想定していたが、このレベルならモノリスティックアーキテクチャで充分だと余計な気を回されていた。
例えば可視化処理は3C分析の結果表示機能でも、データのグラフ化機能でも重複しているので、可視化という部分を共有したほうが、すなわちマイクロサービスアーキテクチャにしたほうが保守性はいいのではないか?
おっしゃる通りです。ご指摘ありがとうございます。
「可視化機能(グラフ作成)を共通化し、それを各分析機能(今の分析機能や、将来の3C分析)が利用する」 形こそが、まさに保守性が高く、マイクロサービス的なアプローチとして正しい姿です。
その意図を汲み取り、アーキテクチャ計画を以下のように修正しました:
2.英語で表現をしたがる
GPTなど他のLLMではあまり感じなく、Gemini 3 Proの仕様かもしれないが、日本語で指示しているにもかかわらず、英語で文章を表現しようとする。明確に日本語でと指定したら問題ないのだが、一々言語指定が必要だった。
以下修正してください。
①利用者は日本人なので、画面内の文字はすべて日本語にしてください。
②白と灰色を利用した画面ですが、青空のように、空色ベースに白をアクセントとした画面デザインに変えてください
修正が完了しました。
変更内容:
日本語化: 画面上のメニュー、ボタン、分析結果のメッセージをすべて日本語に翻訳しました。
デザイン変更: ご要望の「空色ベース(スカイブルー)に白アクセント」のデザインを適用しました。.streamlit/config.toml にてテーマカラーを設定しています。
確認方法: 既にサーバーが起動中の場合は、ブラウザでページの再読み込み(F5)を行うと変更が反映されます。起動していない場合は、再度以下のコマンドを実行してください。
3.親切心は、処理自体や処理と直接関係ない箇所に適応されない
アプリ作成する際は通常ReadMEでどんなアプリか、どんな構造かわかりやすくするための資料が存在するが、こちら側から依頼しないと作成されなかった。運用保守・開発で大切になる部分なので、アプリ作成自体に直接影響がない資料を作る親切心は発揮してくれないようだ。
すべてのプログラムファイルについて、保守運用しやすいように日本語で何をしているコードなのか、説明を必ず書いてください。
また、システム全体の構成や概略がわかるように、ReadMeファイルを作成しなさい
ご依頼のドキュメント化作業が完了しました。
対応内容:
ソースコード内の日本語解説: 全ての .py ファイル(UI、Service、Model)に対し、クラスやメソッドが何を行っているか分かるように日本語のDocstring(説明文)とコメントを追加しました。保守時にロジックを理解しやすくなっています。
README.md の作成: プロジェクトのルートディレクトリに README.md を作成しました。
システムの概要: アプリの目的
アーキテクチャ図: ディレクトリ構造と各フォルダの役割(モジュラーモノリス構成の意図)
セットアップ・実行方法: インストールから起動までの手順
拡張性について: 将来機能追加する際の指針
これで本アプリケーションの開発・納品は完了となります。アプリの起動やコードの確認をお願いいたします。
またExcelの行を削除する機能を追加する依頼をした際、一緒に列を削除する機能を追加したほうが良いか確認があると親切だが、提案がなかった。
ファイルが複数に分かれていることもあるので、複数ファイルをアップロードして、それらをあわせて分析できるようにしたい。
またファイルによってはヘッダー以外に余計なものがある可能性があるので、プレビュー画面で行を×ボタンで削除したい。ヘッダー部分なので、上位5行まで×で削除できればいい
ご要望の機能追加(複数ファイル対応・ヘッダー行削除)について、以下の通り改修を行います。
複数ファイルアップロード対応: アップロード画面で複数のExcelファイルを一度に選択できるようにし、自動で結合して分析します。
ヘッダー行クリーニング機能:
プレビュー画面に、先頭の「生のデータ(行)」を表示します。
各行に「×」ボタンを設置し、クリックするとその行(およびそれより上の行)を読み込み対象から除外(スキップ)できるようにします。
全てのファイルに対して同じ「スキップ行数」設定が適用されます。
4.自己レビューしないことが多い
他のLLMにプログラム作成依頼した際にもよくあるが、問題ないことをテストせず完成しましたと連絡してくることが多い。エラー要因について直せと指示すれば修正可能だが、○○のコードを消し忘れていた・誤って削除したなど初歩的なミスが多かった。
エラーが出てしまった。
原因を特定して修正してほしい
エラーを修正しました。
原因: 先ほどのカラム名定義の更新時に、analyze_popularity メソッド(人気分析)の最後にある「分析結果を返す処理(return文)」が誤って削除されており、何も返さなくなっていた(Noneを返していた)ことが原因でした。
修正: 削除されていたreturn文を復元しました。これで正常に分析結果が表示されるはずです。 お手数ですが、再度アプリの動作確認をお願いいたします
5.意図をくみ取って対応することが難しい
こちら側がとしては難しければ難しいと説明などがあることを期待するが、他LLM同様に何とかして依頼完遂しようとしてしまい、期待と異なる処理を実装することがある。
今回は読み込んだExcelのカラム名を読み取り、分析に必要なものを高精度かつ自動で選定するには、LLMを利用する・関連辞書を用意して類似度を比較するなどの処理が必要で、LLMを利用する場合はAPIキーを要求するなど期待していたが、AI側はあらかじめ自身でGameなど簡易的なワードを検索のみで判断しようとしていた。
どの項目が何を指定しているか、こちら側で想定した内容があるかで判断するのではなく、ヘッダーの項目名から判断して分析できませんか?
はい、可能です。固定の項目名(ViewerCountなど)だけで判断するのではなく、ヘッダー名の類似性(シノニム)から自動的に推測する機能を追加します。
対応アプローチ: 「ViewerCount」「Viewers」「視聴者数」「同接数」など、カラム名のバリエーションを辞書として持ち、アップロードされたファイルのヘッダーから、意味的に合致する列を自動で探し出して分析に利用するように変更します。
これにより、多少カラム名が異なるファイルでも、柔軟に分析が可能になります。実装します。
最終的なアプリ
10回程度指示を飛ばして指摘したところ、最終的には以下のようになった。
まとめ
今回Google Antigravityを利用してみて非ITエンジニアが独力でアプリケーションを作成することができるか確認したが、現状は以下の理由で難しいと感じた。
①こちら側の意図を理解した実装ができない
②エラー発生することもあるので、ある程度コード読解力・システム設計への理解が必要
※別途LLMでうまく質問すれば解決する可能性はある
③意図せず余計な処理をしていることがあるので、レビュースキルが必要になってくる。
④逆に、親切心が働かないこともあるので、こちら側であるべき姿を都度検討して指定することがある。
ITエンジニアとして、コーディング力が必要になる場面は今後少なくなってきてしまうと感じたが、
・意図したとおりにAIが動くよう指示する能力
・適切な要件を定義する能力
・要件に適したシステム設計、仕様を検討する能力
・人間が使いやすいデザイン思考力
・上記をもとにした、レビュー能力/AIの自己レビューする観点を整理する能力
は、現状まだまだ必要だろう。
参考資料
[1]Cloud Ace, 『【完全ガイド】Google Antigravityとは?日本語化の方法や、導入から実践までを徹底解説』,https://cloud-ace.jp/column/detail532/#%e5%ae%9f%e8%b7%b5%e3%83%8f%e3%83%b3%e3%82%ba%e3%82%aa%e3%83%b3%ef%bd%9c%e8%a8%80%e8%91%89%e3%81%a0%e3%81%91%e3%81%a7web%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86
[2]AI総合研究所, 『【Google】Antigravityとは?使い方、料金、設定方法を徹底解説!』,https://www.ai-souken.com/article/what-is-google-antigravity


