Last updated on:
AIの開発は加速しています。産業への応用も繰り広がり、手軽に使えるようになりました。システム開発においては、具体的な技術には差異がありますが、パターン化しやすい特徴があり、AIの適応性が優れているとも言えるでしょう。ここでは、AIツールを使ってアプリ開発をしてみます。
技術に関する疑問がありましたら、常にGoogleで答えを検索します。まずはGoogleのAIツールを試してみます。
Gemini Code Assistantは2026年6月18日をもってサポートが終了しました。代わりに、AntiGravityという新製品が公表されました。今回はAntiGravityを使ってJavaアプリを生成してみます。今でも多くの企業システムはJava言語で開発されています。
Google AntiGravity
AntiGravityインストール
この記事では、使われている統合開発環境(IDE)はKiro IDEです。Kiro IDEは、VS Codeに基づいて構築され、VS Codeと交換性を持つ開発ツールです。下記のリンクからダウンロードできます。
AntiGravityをKiro IDEで使えるため、AntiGravity拡張機能を導入する必要があります。
導入手順は以下の通りです。
- Kiro IDEを起動します。
- 左サイドバーにある拡張機能(Extensions)ボタンをクリックします。
- 拡張機能検索ボックスにAntiGravityを入力して検索します。
- 検索結果リストからAntiGravityを特定し、インストールボタンを押下します。
インストールが終わり次第、AntiGravityのアイコンが左サイドバーに現れます。
アイコンをクリックすると、下記の図に示したように、AntiGravityとの会話ボックスが出てきます。そこからメッセージを送ることができます。
新規アプリ作成
最初は、新規アプリを作成します。次のメッセージを送信しました。
AntiGravityは、主に次の流れで作業を進めます。
- 作業ディレクトリーの確認
- Javaやコンパイル環境等の確認
- Spring Initializrでのアプリ作成
- 作成後のアプリのダウンロード
- アプリの動作確認
動作確認終了後、作成したファイル一式を提示します。
「Accept All」ボタンを押すと、アプリをワークスペースに配置してくれます。
AntiGravityは、タスクを実行する度に、許可を求める仕組みになっています。
途中に「Think [n]s」というメッセージがしばしば目に入ります。
アプリ以外、アプリ実行やテストのコマンドもチャットを経由して提供してくれます。
早速PowerShellを立ち上げ、コマンドでアプリの動作を確認してみました。
アプリの起動
コマンド:.\mvnw.cmd spring-boot:run
REST APIの呼び出し
コマンド:Invoke-RestMethod -Uri "http://localhost:8080/api/hello"
CRUD API一式作成
RESTアプリとは、何かの処理をしてDBへデータを書き込みしたり、DBから取得したデータを変換して提供したり、このような処理を集約したものです。
想定したケースは、Oracle DBの中にapp_usersテーブルがあり、そのテーブル向けの登録と、参照、更新、削除処理を行う一式のAPIを作成することです。とても簡易な機能ではありますが汎用性が高いものです。
この作業を通して、AntiGravityのプログラム設計力を検証したい考えもあります。
AntiGravityへ送られるメッセージについては、すべての情報を纏めた一通でも良いですが、的確に制御できるため、メッセージの粒度を下げ、複数に切り分けます。原則としては、1メッセージに、細分できない1タスクのみを取り込みます。
DDL作成
まず、テーブルのDDLを生成します。次のメッセージを送信します。
結果としては、「schema-app-users.sql」ファイルを作成し、テーブルDDLに加えてカラムのコメントまでも生成してくれました。
DB接続情報
Oracle DBの接続情報は手動で「application.properties」ファイルに記入しておきます。未記入であれば、AntiGravityはあちこち探しに行きます。見つけたらその情報を抽出して「application.properties」に追記します。
spring.datasource.driver-class-name=oracle.jdbc.OracleDriverspring.datasource.url=jdbc:oracle:thin:@localhost:1521/xepdb1spring.datasource.username=demospring.datasource.password=xxxx
物理テーブル作成
DBで物理テーブルを作るために、下のメッセージを送信します。
AntiGravityは、まずテーブルが存在するか否かを確認します。(今回は新規作成なので、当然存在していません。)
確認が取れたら、先のステップで作成したSQLスクリプトを実行し、テーブルを作成します。
APIの作成
いよいよAPI作成の本番にきました。
次のメッセージを送信します。
処理ごとにメッセージを分けてもいいですが、粒度は同じなので一つに纏めました。
AntiGravityは、概ね以下の順番に作業を進めます。
- 構成確認
- ファイル作成
- コンパイル
- テスト実施
各タスクを実行する前に、「このタスクを実行しても良いか」のような許可を得る質問をします。
実は、作成した全てのファイルを一回削除して、APIの再作成を試してみました。所詮、質問もしなく、時間も短縮して出来上げました。作業経験から学び、効率を高めていくことが期待できそうです。
- controller
AppUserController.java- serviceAppUserService.java- repositoryAppUserRepository.java- modelAppUser.java- dtoAppUserRequest.javaAppUserResponse.java- exceptionGlobalExceptionHandler.javaDuplicateResourceException.javaResourceNotFoundException.java
さすが、教科書のようなマルチレイヤーデザインですね。サービス層にトランザクションの宣言があることも確認できます。
作業メモを鑑みると、テスト実施にはAPIの異常系も検証しました。
品質のいいプログラムを仕上げてくれました。
Amazon Kiro
インフラもコード化に進めてきたクラウドは、AIツールが大活躍できる領域です。Amazonもいくつかの製品を提供しています。Q Developerはその中の一つです。ただし、Qもサポート終了を迎えました。2026年5月15日からは新規アカウントの作成はできなくなりました。既存のアカウントを持っていれば、まだ使えます。また、AWSのアカウントがあれば、コンソールでも利用可能です。
Kiroは、Amazonが推進している製品です。Kiro IDEを使っているなら、IDEに組み込み済みなので、右側のサイドバーからメッセージを送信できます。VS Codeの場合は、別途Kiro CLI拡張機能をインストール必要があります。
というメッセージを入力しました。
続いて、テーブルへ新規レコードを登録する関数を作成します。
以下のメッセージを送信します。Python言語の指定も省きました。
関数のコメントには呼び出し例も記されています。分かりやすいです。
コードの品質はもちろん、AWSへデプロイ際の要点や権限設定なども印象深いでした。
Google AntiGravityもAmazon Kiroも、完成度の高いプログラムを作成できます。効率を高めると同時にコストダウンも可能にしました。ついに、現在のシステム開発構図への影響を考え始めました。













No comments:
Post a Comment