先日、Googleが提供するIDE「Antigravity」のアップデートにより、一連の手順をまとめて実行させる新機能「スキル」が追加されました。 この機能は、これまで手作業で行っていたルーチンワークをAIに学習させ、効率化するための強力なツールです。 今回は、開発者が最も時間を取られる作業の一つである「レビュー後の修正対応」を、このスキル機能で自動化できるか試してみました。
Antigravityのスキルとは
Antigravityのスキルとは、公式のドキュメントでも紹介されている通り、実行する手順を事前に定義しておくことで、AIの動作に一定の方向性を持たせる機能です。
あらかじめ手順を定義しておくことで、AIが誤った操作をするのを防ぎ、不要なリソース消費を抑えるメリットがあります。 使い方は大きく分けて2つのパターンがあります。
・プロジェクト固有の定義: 特定のプロジェクトのみに適用するコーディングルールなどを定義します。
・共通処理の定義: すべてのプロジェクトで共通して利用するツールの操作などを定義します。
スキルの定義方法
固有のプロジェクトに定義する場合
プロジェクトのルートディレクトリの直下に.agent/skillsのディレクトリを作成し、その中に任意のディレクトリ名のディレクトリを作りその中にSKILL.mdというファイルを作ります。
SKILL.mdの中に具体的な定義を記述をします。
(ルートディレクトリ)/.agent/skills/(任意のディレクトリ)/SKILL.md
共通のスキルを定義する場合
共通の場合はホームディレクトリの配下に定義します。
~/.gemini/antigravity/skills/(任意のディレクトリ)/SKILL.md
SKILL.mdの作成方法
SKILL.mdファイルは自分で作成することもできますが、一番早いのがAntigravity自身に作成させるのが簡単でした。Antigravityの命令に「行いたい簡単な命令を行うスキル用のファイルを作成して」と依頼することで簡単に作成されます。
※2回実行しましたが2回目のディレクトリ構造が想定と異なったので、作成されたものを確認は必要です。
試したもの
今回の本題ですが、レビュー後の修正をさせるようにするスキルを試しました。
具体的にはプルリクのURLを渡してレビュー結果を確認して、修正させるようにする定義を作りました。
(この作業もAntigravityにファイルの中を修正させたので、1時間程度で作成しました)
修正の流れ
全体としては以下のような形です。
修正したプルリクをGemini Code Assistでレビューし、そのレビューから修正方針を確認させてさらに修正の流れに乗せていくことで精度をあげていく流れを実現しました。
レビュー結果を確認するためにghコマンドやChrome DevTools MCPで使えるように今回準備しておきました。
SKILL.mdファイルについて
ファイルは以下のとおりです。
実行結果
簡単な不具合が発生するコードを準備し、レビュー結果を修正させるようにすることを試しました。
コード
public static void function(int value, int value2) {
System.out.println(value / value2);
}
このコードではvalue2が0の場合、例外が発生するJavaのコードとなります。
実際にGemini Code Assistから以下の指摘がありました。
ゼロ除算が発生する可能性があります。value2が0の場合、ArithmeticExceptionがスローされます。mainメソッドからfunction(1, 0)として呼び出されているため、このコードは常に例外でクラッシュします。ゼロ除算を避けるためのチェックを追加することを強く推奨します。
if (value2 == 0) {
System.err.println("エラー: 0による除算はできません。");
} else {
System.out.println(value / value2);
}
この状態のプルリクを確認してAntigravityから修正させる。
以前にChrome DevTools MCPを有効にしており、ghコマンドの設定ができていなかったのでブラウザを間接的に操作してレビュー内容を確認する動きとなりました。
修正したコミットは以下のとおりです。
実行してみた感想
実際に使ってみて、レビュー指摘の修正という一連の流れをAIで完結できることが確認できました。 自律型AIエージェントの「Devin」と比較される方もいるかもしれませんが、私は以下の3点でAntigravityに利点があるなと思いました。
・コストパフォーマンス: Geminiの月額利用料のみで利用できるため、従量課金のサービスよりも安価に抑えられると思われます。
・「自分」が書いている感覚: 自分のアカウントでコミットされるため、コードに対する責任感を維持しやすいと感じました。 すべてをAIに丸投げするのではなく、自分のツールとして使いこなしている実感があります。
・柔軟な制御: スキルとして手順を明示できるため、勝手な挙動を防ぎやすいと考えています。
まとめ
Antigravityの新機能「スキル」は、開発者のルーチンワークを劇的に減らす可能性を秘めています。 今回はレビュー修正に特化しましたが、テストコードの自動生成やドキュメント更新など、応用範囲は非常に広いと思いました。
