背景や目的
AIを活用した開発ツールが増え、AI駆動開発を試す機会も多くなってきました。
以前の記事では、ChatGPTデスクトップ版やClaudeを使い、設計書作成からPG作成までをAIにやらせる新規開発を試しました。
(記事はこちら:AI駆動開発で新規開発にチャレンジ
ChatGPTデスクトップ版でAI駆動開発)
今回は、Googleが提供する「Google Antigravity」を使い、同じような開発を試してみます。
ちなみに「Antigravity」は「反重力」という意味です。AIで開発の負担を軽くする、そういう意味を込めていそうです。
他のツールとの違いも確認しながら、AI駆動開発にどの程度活用できるのかを見ていきたいと思います。AI駆動開発の導入を検討する際の参考になれば幸いです。
開発の方針
前回やってみたと、できるだけ同じ条件で進めます。
1.開発するもの
日報管理システムを開発します。画面数個、DBテーブル数個の簡単なWebアプリです。
2.利用AIツール
Google Antigravityを使用します。
3.開発方法
前回と同じで、以下のように進めます。
(1)AIに設計書を作成させ、人が内容を確認する。
(2)設計書をもとに、AIにPGと導入手順書を作成させる。
(3)導入手順書を使って、人がAWSへデプロイする。
※試験は簡易確認に留めます。
4.実行環境
AWS Lambda上でWebアプリとして動作させます。DBはAWSのRDS(MySQL)を使用します。
手順
以下の手順で進めます。
1.Google Antigravityの準備
2.プロジェクトの作成
3.設計書の作成
4.PG作成とデプロイ
5.動作確認
1.Google Antigravityの準備
まず、Google Antigravityを使えるようにします。
Google AntigravityのサイトからWindows版をダウンロードします。
(ダウンロードサイト:https://antigravity.google/download)
今回はWindows版(x64)をPCへインストールして使用します。
・Windows欄の「Download for x64」をクリックして、インストーラーをダウンロードします。


・ダウンロードしたインストーラーを実行し、画面に従ってインストールします。

・インストール後、Antigravityを起動し、「Continue with Google」をクリックし、使用するGoogleアカウントを選択してサインインします。



サインインが完了すると、初期設定画面が表示されます。
・「Security Notice & Data Use」では、データ収集をオプトアウトして「Next」をクリックします。

・「Select Antigravity Theme」では、今回はデフォルトの「System」のまま「Next」をクリックします。

・「Build with Google」では、今回はプラグインを選択せず「Finish」をクリックします。

初期設定を終えると、以下のようなチャット画面が表示されました。

シンプルで、見慣れたチャット形式の画面ですね。
これでGoogle Antigravityの準備は完了です。
2.プロジェクトの作成
Antigravityの中で開発用のプロジェクトを作成します。
・「Projects」の右側にある「Create New Project」をクリックします。

プロジェクト名を入力する画面は表示されず、そのままフォルダ選択画面が開きました。
・事前に用意しておいた「日報管理システム_Antigravity」フォルダを選択しました。

これで、選択したフォルダがプロジェクトとして開かれ、チャット画面が表示されました。

※ちなみに、チャット画面下部からAIモデルを選択でき、Geminiだけでなく、ClaudeやGPT-OSSも利用できます。

今回は、最新の「Gemini 3.7 Flash High」を使用して進めます。
それでは、設計書の作成に進みます。
3.設計書の作成
設計書作成の指示では、設計書の雛形ファイルを使用したいので、
・その設計書雛形ファイルを先程設定したローカルフォルダに保存しておきます。
雛形は、以下のような内容にしてあります。
| シート名 | 記載する情報 |
|---|---|
| 表紙 | アプリ名、作成日、作成者、版数など |
| 改訂履歴 | 版数、改訂日、改訂内容、改訂者 |
| 基本情報 | 本開発の要求事項、など |
| 基本設計1(DFD) | データフロー図 |
| 基本設計2(テーブル一覧) | 利用するテーブルの一覧 |
| 基本設計3(テーブルレイアウト) | テーブル毎の定義情報 |
| 基本設計4(画面リスト) | 画面の一覧 |
| 基本設計5(実行環境) | 実行環境を記載 |
| 画面10(〇〇画面) | 各画面内の構成要素を定義 |
| 画面10(〇〇画面)詳細 | 各画面内の構成要素毎にロジックを記載 |
| ファイルリスト | 作成するPGファイル、設定ファイル |
| コーディング方針 | コード作成時の基本ルール |
お試しになる際は、それぞれ皆様がお使いの書式で良いかと思います。
記載済みの内容を情報源にし、見出しを考慮点として、AIが考えてくれます。
それでは、設計書の作成指示を出します。指示文は以下の内容にしました。
| まず設計書を作成して下さい。以下がその雛形です。このエクセルファイルに記入して完成させて下さい。 日報管理システム開発_Antigravity/開発設計書_日報システム開発.xlsx 作成方法は以下の通りです。 1.各シートで、作成者や更新者の記入欄があります。それはあなたの氏名(AI太郎)を記入して下さい。承認者の欄は、私ヴァルンが記入しますので、追記は不要です。 2.シート「改訂履歴」は、作成(修正)する度に、1行追記して下さい。 3.シート「基本情報」に、今回の開発の要求情報が記載されています。これを参照し、それ以降のシートを作成して下さい。 4.シート「基本設計1(DFD)」に、今回のシステムのデータフロー図を記入して下さい。 5.シート「基本設計2(テーブル一覧)」に、今回のシステムのテーブル一覧を、記入して下さい。 6.シート「基本設計3(テーブルレイアウト)」に、テーブル毎のレイアウト情報を記入して下さい。 7.シート「基本設計4(画面リスト)」に、開発すべき画面(機能)の概要情報をリストアップして記入して下さい。 8.シート「基本設計5(実行環境) 」に、今回のシステムの実行環境を記入して下さい。 9.シート「基本設計4(画面リスト)」でリストアップされた各画面毎に、シート「画面10(〇〇画面)」を作成して下さい。その内容は以下のように作成します。 (1)そのシート名の〇〇は、シート「基本設計4(画面リスト)」で記入した名称に変更して下さい。 (2)シート内左部分には、画面の完成図を記載し、その中に全ての構成要素を記入し、番号を付記します。(例)1.-1や1.-2 (3)シート内右部分には、左部分で示した全ての構成要素の情報を記載します。具体的には、構成要素番号、構成要素名称、仕様概要、をそれぞれ記入します。 10.シート「画面10(〇〇画面)」定義した構成要素について、具体的な仕様をシート「画面10(〇〇画面)詳細」に、以下の要領で記入して下さい。 (1)まずそのシート名の〇〇部分を、シート「基本設計4(画面リスト)」で記入した名称に変更して下さい。 (2)シート内では、3,4行目に記載された見出し列に従って記載します。まず、構成要素の番号と名称を合わせて下さい。 (3)シート内の、それ以降の列で、タイプ、必須/任意、タイミングは、選択肢があるので、その中から記入して下さい。 (4)シート内の、その他の列は、3,4行目の記載内容を良く理解し、その内容を記載します。 11.最終的に提供して頂くファイル情報は、シート「ファイルリスト」に記入して下さい。その中に導入手順書も含めて下さい。 12.シート「コーディング方針」には、コード作成時の注意事項が記載されています。コード作成時には、これを遵守したコードを作成して下さい。 |

入力欄に指示文を貼り付け、モデルは「Gemini 3.7 Flash」のまま実行しました。
・実行の「→」を押しました。
すると、以下のような実行許可画面が表示されました。

これまで使用したツールでは、コマンド実行時の許可は基本的に「許可する/しない」のシンプルな選択でした。
Antigravityでは、以下の通りどの範囲まで許可を継続するかを細かく選べるようになっていましたのは良いと思いました。
1. 今回のみ許可する
2. この会話中は常に許可する
3. このプロジェクトでは常に許可する
4. 今後常に許可する
5. 許可しない(別の指示を書く)
今回は「2」(この会話中は常に許可する)を選択しました。
その後も同様の許可画面が数回表示されましたが、同じく「2」を選択して進めました。約4分で設計書の作成が完了しました。


作成された設計書を確認すると、いくつか修正したい点がありました。
画像が入っていない、レイアウトで列幅が広がっている、フォントが変わっている、不要な列が追加されている、などです。
その都度修正を依頼し、3~4回ほどやり取りして対応しました。

作成された設計書の一部を紹介します。以下のような内容になりました。




コスパを考え、設計書はひとまず完成とし、次にPG作成とデプロイへ進みます。
4.PG作成とデプロイ
先ほど作成した設計書を参照しPG作成をしてもらいます。
指示文は以下の内容にしました。
| 先程Fixした設計書を参照し、今度はPGファイルを作成して下さい。 なお、作成するファイルは、開発設計書のシート「ファイルリスト」に従って、保存して下さい。 |
・入力欄へコピーし、実行させました。
実行すると、PG作成まで自動で進みました。以下の結果メッセージが表示されました。

PGとあわせて、以下の導入手順書も作成されたのでそれを使ってデプロイします。
※ファイルリストで作成するよう指示していました。
# 日報管理システム AWS SAMデプロイおよび運用マニュアル
本書は、日報管理システムを AWS Lambda (Python 3.12) + API Gateway + Amazon RDS for MySQL に構築・デプロイし、AWS CloudShell からVPC経由で初期データ投入を行うための手順書です。
---
## 1. 開発・デプロイ事前準備
### 動作前提要件
- **AWS CLI** および **AWS SAM CLI** がインストールされていること
- 適切な権限を持つ AWS IAM アカウントが設定されていること (`aws configure`)
- Python 3.12 がインストールされていること
---
## 2. AWS SAM によるビルドとデプロイ
### Step 1: プロジェクトのビルド
ターミナルで本プロジェクトのルートディレクトにて以下を実行します。
```bash
sam build
```
### Step 2: AWS環境へのデプロイ
初回デプロイ時はガイド付きコマンドで実行します。
```bash
sam deploy --guided
```
対話式プロンプトでは以下のように入力します:
- **Stack Name**: `daily-report-app-stack`
- **AWS Region**: `ap-northeast-1`
- **Parameter DBUsername**: `admin`
- **Parameter DBPassword**: `AdminPassword123!` (または任意の安全なパスワード)
- **Confirm changes before deploy**: `N`
- **Allow SAM CLI IAM role creation**: `Y`
- **Disable rollback**: `N`
- **Save arguments to configuration file**: `Y`
デプロイ完了後、ターミナルに以下が出力されます:
- **`DailyReportApiUrl`**: アプリケーションの公開URL (例: `https://xxxxxx.execute-api.ap-northeast-1.amazonaws.com/`)
- **`RDSEndpointAddress`**: RDSインスタンスのエンドポイントホスト名 (例: `dailyreportrdsinstance.xxxxxx.ap-northeast-1.rds.amazonaws.com`)
---
## 3. AWS CloudShell からの VPC内 RDS 初期設定手順
本システムではセキュリティのため、Amazon RDS は VPC 内のプライベートサブネットに配置されており、インターネットからの直接アクセスは遮断されています。
データベースのテーブル作成および初期データ投入は、**AWS CloudShell (VPC接続設定有効化)** から行います。
### Step 1: AWS CloudShell の起動と VPC 設定
1. AWS マネジメントコンソールにログインし、画面上部の **CloudShell アイコン** をクリックして CloudShell を開きます。
2. CloudShell の右上 **「Actions」** または **「VPC Environment設定」** をクリックします。
3. 以下の設定を選択して起動します:
- **VPC**: `DailyReportVPC`
- **Subnet**: `DailyReportPrivateSubnet1`
- **Security Group**: `CloudShellSecurityGroup`
### Step 2: スキーマ作成 (schema.sql) および 初期データ投入 (seeder.sql)
CloudShell ターミナルにて、本リポジトリの `sql/schema.sql` と `sql/seeder.sql` をアップロード(または `curl` / ファイル作成)し、以下のコマンドで MySQL に接続・実行します。
```bash
# 1. データベースおよびテーブルの作成 (schema.sql)
mysql -h <RDSEndpointAddress> -P 3306 -u admin -p < schema.sql
# 2. 初期アカウントおよび初期サンプルデータの投入 (seeder.sql)
mysql -h <RDSEndpointAddress> -P 3306 -u admin -p < seeder.sql
```
※ パスワード入力を求められますので、`AdminPassword123!` (またはデプロイ時に設定したパスワード) を入力します。
### Step 3: データ投入確認
CloudShell から MySQL CLI に直接ログインしてデータを確認します。
```bash
mysql -h <RDSEndpointAddress> -P 3306 -u admin -p daily_report_db
```
SQLコマンド実行例:
```sql
-- 初期アカウントの確認
SELECT user_id, username, full_name, role FROM users;
-- 初期日報データの確認
SELECT report_id, user_id, report_date, title FROM daily_reports;
```
---
## 4. 初期アカウントとログイン動作確認
ブラウザで `DailyReportApiUrl` にアクセスすると、ログイン画面が表示されます。
| ロール | ユーザーID (username) | パスワード | 氏名 | 権限概要 |
| :--- | :--- | :--- | :--- | :--- |
| **管理者** | `admin` | `AdminPassword123!` | システム管理者 | 全社員の日報閲覧、社員別・日付絞り込み検索 |
| **一般社員** | `user1` | `UserPassword123!` | 社員一太郎 | 自身の日報一覧・詳細閲覧、新規登録、編集 |
これで日報管理システムのデプロイおよび初期設定は完了です。
結論から言うと、
上記を参考にデプロイしましたが、いくつか不具合があり、AIに修正して対応しました。
・SAMテンプレートの設定誤り
・FlaskとMangumの非互換
・Jinja2テンプレートの記述誤り
その結果、約1.5時間でデプロイまで完了しました。
次は動作確認に進みます。
5.動作確認
早速、ブラウザで開いてみます。
デプロイ後得たURLをChromeで開きますと、

開きました!
途中で作成したSchema.sqlで作成した一般社員でログインしてみます。

ログインできました!ようこそメッセージもありますね。
※Claude CodeやChatGPTの時に比べると今回はログアウトボタンに赤色が使われているのが新鮮でした。また、画面上部の薄緑色のメッセージも、AIツール開発品では初めて見た気がします。
日報一覧に新規日報を1件登録してみます。


各項目入力し、登録押下し、登録されました。以下の確認画面も表示されました。

日報一覧に戻ると、1件登録したものがありますね。大丈夫ですね。

最後にログアウトして管理者権限でも、試してみます。

入りました。システム管理者さんで。

先ほどの一般社員の日報が表示されました!詳細ボタンを押すと、

開きました、先ほど登録したデータが大丈夫ですね。
日報管理システム完成!
まとめ
Google Antigravityを使って、日報管理システムを作成することができました。
ChatGPTデスクトップ版やClaudeと比べて、Antigravityは無料アカウントですぐに始められ、導入のハードルが低い点が良いと感じました。
また、GeminiだけでなくClaudeなど各社のAIモデルを使える点が新鮮でした。今後は、要求される質とコストを勘案して、AIモデルを使い分ける事も多くなりそうです。
今後は、開発ツールよりも、プロンプトの工夫や各モデルの利用上限が重要になりそうです。
AI-ಚಾಲಿತ ಅಭಿವೃದ್ಧಿ ಪರಿಕರಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸಗಳು ಈಗ ಕಣ್ಮರೆಯಾಗಿರಬಹುದು.
(AI駆動開発ツール自体の違いは、もう消滅しているではないかな。)
