1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Antigravity の Agent Workflows で自動コミット(メッセージ生成、コミット分割)

1
Posted at

Antigravity にハマっています。この前の Google AI Pro の学生1年間無料キャンペーンのおかげもあり、(今だけかもしれませんが)高性能モデルがほぼ使い放題なので助かります。

コミットメッセージが自動生成できなくなった

ところで、いつも GUI で Git の操作を行っているのですが、突然コミットメッセージの自動生成ができなくなってしまいました。VSCode では割と前からある機能で、カスタム指示も設定できたりするはずですが、Antigravity ではまだベータ版の機能ということなので仕方ないですね。

スクリーンショット 2025-12-24 1.00.43.png

エラーの感じは一時的なものな気もしますが、この機会に Git の操作を自動化できないか考えてみました。

Agent Workflows

Antigravity の Agent 機能では、Cline など他のコーディングエージェントと同じように逐一指示を出して処理を任せるのが基本ですが、これに加えて Workflows というサブ機能もあります。
Workflows は Agent のカスタマイズの一つとされているようですが、イメージとしては よく任せる一連の処理をすぐに指示できるコマンド を定義できるものです。空コンポーネントの作成などコーディングエージェントの強みを活かした処理はもちろん、デプロイ操作や簡易コードレビューなど、CLI で実行しようとすると複数のコマンドを繋げる必要があったり、出力が見づらくなったりする処理にも効果的な機能です。

今回はこの Workflows 機能を活用して、ステージング → コミットメッセージ生成 → コミット の一連の流れを簡単に行えることを目指します。さらに、変更内容を分析できるという強みを活かして、与えた条件に該当する変更だけをコミット したり、変更の種類ごとにコミットを分割 したりできるようにしていきます。

ワークフローの追加

とはいえ、実際には自然言語でワークフローの内容を記述するだけなので何も難しいことはありません。
Agent パネル上部の Additional options(横3点ボタン、ミートボールメニュー)から Customizations > Workflows に移動し、ワークフローを追加します。Global で追加するとワークスペース間で共有できるので、今回のようにどのワークスペースでも利用したいワークフローは Global にすると良さそうです。

まずは、単純に現在の変更済みファイルを全てコミットするワークフローを作成してみます。
追加ボタンを押すとワークフローの名前を入力するところから始まります。ここで入力したものを Agent の指示入力ボックスにそのまま入力することになります。
名前を入力したら、ワークフローの説明と内容を記述していきます。ワークフローの設定ファイルの実態は Markdown ですが、Antigravity 上ではテキストボックスに入力していく形になっています。

スクリーンショット 2025-12-24 1.55.03.png

今回はこのようなプロンプトにしてみました。コミットメッセージの生成指示は任意ですが、フォーマットを与えたり絵文字を使わせたりと柔軟に指示できるのが魅力的です。
ちなみに、Agent は頭がいいので、「Git の diff などを参考に生成してください」などと言わなくても勝手に変更内容を分析してコミットメッセージを生成してくれます。

実行してみる

ワークフローを保存して Agent 画面に戻り、指示入力ボックスに /{ワークフロー名} と入力します。ただし、スラッシュを入力すると利用可能なワークフローが表示されるので、手動で入力する必要はありません。
実行すると、Agent が先ほど入力したワークフローの内容をもとに処理を始めます。変更内容の分析、コミットメッセージの生成と少し手間がかかるのである程度時間を要しますが、放っておくだけでコミットが完了します。

条件に該当するものだけをコミットする

先ほどのワークフローを少し変えて、与えた条件に該当するファイルのみをコミットするようにしてみます。リファクタリングや依存関係の追加など、変更の種類が独立している場合に使えます。

スクリーンショット 2025-12-24 2.12.24.png

わざわざ載せる必要もないと思いますが、プロンプトはこちらです。「与えた条件」と、条件がどのような形式で与えられるかは明記していませんが、Agent はよしなにやってくれます。

実行してみます。今回は依存関係に関するファイルのみをコミットしてもらうべく、条件として単に "deps" とだけ指定してみました。

スクリーンショット 2025-12-24 2.14.57.png

結果として、きちんと条件を理解しコミットすべきファイルを選択してくれました。さすがです。

変更の種類ごとにコミットを分割する

最後に、現在の変更にいくつかの種類の変更が混ざっていて、全て一気にコミットするのは相応しくないという状況を考えます。あるいは、種類ごとに一つ一つコミットするのが面倒だったり、そもそもどんな種類の変更が混ざっているのか把握することすら困難な場合です。そんな状況になる前にこまめにコミットすればいいのでは?

Agent は頭がいいので(2回目)、いい感じに指示すれば、現在のワークツリーの状況を分析して、変更の種類ごとに複数のコミットに分けてくれます。

スクリーンショット 2025-12-24 2.28.52.png

プロンプトはこんな感じです。「細かく分けすぎず、〜」という部分は、何も指示しないとかなり細かく分けられてしまったので入れておきました。

実行してみると、変更内容を細かめに分析して変更の種類を把握し、コミットを分割しようとしてくれます。

スクリーンショット 2025-12-24 2.32.24.png

今回のは結果的に分割しなくて良いと判断されてしまったのであまり良い例ではないですが、きちんと指示通りに処理を行ってくれています。

追記

コミットメッセージの形式の指定は、Agent の Rules に盛り込んでおけば、多分ワークフローの内容に含めなくても良いと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?