Google Antigravity CLIを使ってto do管理アプリ作ってみた

こんにちは!SCSKの森戸です。

近年、AIが自らタスクを分解し、コード記述からブラウザでの動作検証までを全自動で完遂する「自律型AIエージェント」の開発手法が注目されています。その1つとして登場したのが、Googleの次世代エージェント基盤「Google Antigravity」です。

大きな注目を浴びる一方で、Google Antigravityには、ブログ執筆現在で2.0・CLI・IDE・SDKという4つの形態があり、「どれが何を示しているのかいまいち分からない…」と混乱してしまいました。

前回は、Google Antigravity 2.0について詳しく解説しましたが、今回は第二弾として、Google Antigravity CLIを紹介したいと思います!基本的な概要から、エージェント基盤ならではの検証・機能などをまとめていますので、ぜひ前回の記事も見てみてください!

Google Antigravity 2.0を使っておみくじWebアプリ作ってみた
「Google Antigravity 2.0」の自律開発プロセスを徹底レビュー!指示ひとつでアプリ構築から自動検証、エラーの自己修復まで完遂するAIエージェントの実力と、失敗談を含めたリアルな試行錯誤の流れを分かりやすく解説します。

 

Google Antigravityとは?

Google Antigravityは、Googleが展開するAIエージェント指向の開発プラットフォームです。従来の「コード補完」から一歩進んだ「エージェントファースト(AIへ開発タスクを一任)」を掲げており、開発パラダイムを転換させる目的で設計されています。
現在のAntigravityは一つのアプリだけを指すものではなく、

  • Antigravity 2.0
  • Antigravity CLI
  • Antigravity IDE
  • Antigravity SDK

といった用途に応じた複数のインターフェースが用意されています。

今回紹介するAntigravity CLIは、Antigravityデスクトップアプリ(Antigravity 2.0)と同じAgent Harnessを共有しており、GUI不要で利用できます。SSH接続先などのヘッドレス環境でも、デスクトップアプリと全く同等の高精度なコード編集や自律処理を可能にします。その他の3つのサービス形態においては、以下に公式のリンクをまとめていますので、興味があれば、ぜひ参照してみてください。

また、Gemini EnterpriseおよびGemini Enterprise Agent Platformとの連携により、Antigravityが利用できます。これにより、Google Cloudのエンタープライズセキュリティや機密情報を保護するAI非学習保証のもとで安全に運用可能です。利用スタイルに合わせて「従量課金制(Agent Platform)」と「定額ライセンス枠(Gemini Enterprise)」を選択でき、コストや管理コントロールも柔軟に最適化できます。

※エンタープライズ統合に対応しているのは2.0、CLI、IDE拡張機能のみで、スタンドアロン版IDEは現在非対応となっている点には注意が必要です。

※Antigravity IDEは、VS CodeやJetBrains等のプラグイン版(Antigravity for IDEs)と、単体で動作するスタンドアロン版(Antigravity IDE)の両方が提供されていますが、本記事では総称して『Antigravity IDE』と呼びます。

Antigravity 2.0についてはこちら

Google Antigravity - Antigravity 2.0
Google Antigravity 2.0 is your dedicated platform to work with agents. Orchestrate multiple autonomous agents working in...

Antigravity IDEについてはこちら

Google Antigravity - Antigravity IDE
Google Antigravity's Editor view offers tab autocompletion, natural language code commands, and a configurable, and cont...

Antigravity SDKについてはこちら

Google Antigravity - Antigravity SDK
Build AI agents that autonomously read files, run commands, edit code, and more. The Agent SDK gives you the same tools,...

 

Antigravity CLIとは?

Antigravity CLIは、ターミナル上で動作するAI開発アシスタントです。複数ファイルの自動生成・編集、エラーの自己修正、コマンド実行などを担うAIエージェント機能を、コマンドライン環境から素早く呼び出せます。

Antigravityデスクトップアプリ(Antigravity 2.0)とできることは大きく変わりませんが、Antigravity CLIはGo言語製で動作や起動が非常に速く、開発のテンポを損ないません。また、先述の通りSSH接続先のVMインスタンスやDockerコンテナといった「CUI/CLI環境」でも動作するため、GUIを起動できない環境でも手元と同じ高精度なコード編集や自律処理を行うことができます。

前回の記事では「動作モード(AIの挙動)」、「人間の役割(Human-in-the-Loop)」「導入による効果」の3つの観点から紹介しました。今回はもう少し機能面に焦点を当てて、「TUI(対話型)とヘッドレスモード(非対話型)」、「AIとのやり取りを快適にする便利コマンド」について解説していきます。

TUI(対話型)とヘッドレスモード(非対話型)

Antigravity CLIでは、基本的なAIエージェントの実行方法として主に2つの方法があります。

TUI(対話型)

TUI(Text User Interface)は、対話的にユーザーとエージェントが協調して作業を進めるスタイルに最適化されています。チャット形式で作業を進めることができるため、「人間が途中で判断する作業」に向いています。また、より直感的に指示を出すことができ、コマンド操作に不慣れな方でも容易に使用することができるといったメリットもあります。

TUI画面を起動させるには、引数なしでagyコマンドを実行します。Antigravity CLIのバージョンや、サインインしているアカウント(Gemini Enterpriseのライセンス)、使用しているモデルなどが確認できます。

また、TUI画面ではコマンドを実行させることもできます。スラッシュコマンドが複数用意されており、以下の画面では/modelコマンドを実行してみました。使用するモデルを選択・変更が可能であり、用途に合わせて変更することができます。

さらに、文頭に!をつけることで、スラッシュコマンドではなく直接ターミナルのコマンドを実行できます。! agy modelsを実行すると、使用できるモデルの一覧が表示できます。

 

ヘッドレスモード(非対話型)

ヘッドレスモードは、非対話的にコマンドラインから直接プロンプトを与えて結果を出力・処理するモードです。一問一答形式で作業を進めることができ、「判断を挟まず結果だけ欲しい作業」に向いています。パイプ(|)との連携や、CI/CDといった自動化に使用することができるのが大きなメリットです。

ヘッドレスモードは起動は必要なく、直接CLIにコマンドを入力します。

また、プロンプトを与えるにはagy -p(または--print、 --prompt)を渡すことで、一度実行して終了します。

AIとのやり取りを快適にする便利コマンド

AIエージェントを効率よく動かしたり、並列的に作業を行うことができるコマンドがいくつか用意されています。今回はTUIで用いる一部のコマンドを紹介したいと思います。

/forkコマンド

対話の枝分かれ(分岐)を作成し、現在のやり取りを引き継ぎながら別の文脈(スレッド)を並行して試すことができるコマンドです。

  • 「別の実装パターン」を試したいとき

    • 「アプローチAをエージェントに試させつつ、同時にアプローチBの並列実験を立ち上げる」など並列的な試行ができます。

  • 対話が長くなって文脈(コンテキスト)が混乱してきたとき

    • ここまでの重要な前提条件だけを引き継ぎつつ、新しい分岐を作って会話をリセット・整理できます。

  • 「もし〜だったら?」という仮説検証(What-If)をしたいとき

    • 設計案のディスカッション中に「もしGCPではなくAWSを使う前提に変えたら?」など別の検討ルートを分岐させることができます。

/agentsコマンド

AIの役割や専門知識セットをその場で切り替えたり確認したりできる、サブエージェント(マルチエージェント)管理コマンドです。自律的に生成されたバックグラウンドのエージェント稼働状況をリアルタイムでリスト表示し、個別に指示を割り込むことができます。

  • 作業フェーズに合わせて「エージェント」を切り替えたいとき

    • 開発フェーズや目的に合わせて、「企画・設計役」「コード作成役」「テスト・検証役」 のように、AIの役割(専門性)を対話の途中でスムーズに切り替えられます。
      (すでに会話の途中でエージェントを切り替えた場合、これまでの履歴を壊さないように、自動的に会話がフォーク(分岐)されます。)

  • 利用可能なサブエージェントの一覧を確認したいとき

    • コマンドを入力するだけで、現在プロジェクトやシステムに組み込まれているエージェントのリストを一覧表示できます。

/resumeコマンド(/switch, /conversation)

中断したセッションや過去の対話履歴をID指定で即座に復元し、前回のコンテキスト(文脈)を保持したまま作業を再開(リジューム)できるコマンドです。/resumeコマンドだけでなく、/switchコマンドや/conversationコマンドでも同様の操作が可能です。

同期することで、Antigravity 2.0で進めた作業をAntigravity CLIに持ち込むこともできます。実際にAntigravity 2.0で作成した前回のブログの「おみくじWebアプリ」のセッションが確認できました。

  • ターミナル事故やPC再起動から復帰したいとき

    • 誤ってウィンドウを閉じたりPCが再起動したりしても、セッションを指定するだけで直前の状態に一発で戻れます。

  • 「昨日やってた作業」の続きを今日すぐやりたいとき

    • 過去のやり取りや修正経緯をAIに再説明(コンテキストの再構築)する手間を完全に省けます。

  • 複数の開発タスクを行き来したいとき

    • 「機能Aの実装」と「バグBの調査」など、別々のセッションIDで行き来しながら作業を進められます

 

【使ってみた】簡単なハンズオン検証

今回は、紹介したコマンドを用いて、Antigravity CLIのみで、シンプルな「to do管理アプリ」の作成と単体テストを指示してみました。Gemini 3.8 Flash Highを利用して、簡単なプロンプトとコマンドで検証してみます。

■ 検証のポイント

  • 検証内容: /agentsコマンドを用いたエージェントの選択、/forkコマンドによるコンテキスト(会話履歴)の分岐、および /resumeコマンドによる過去セッションへの復帰と安全な再スタートの検証

  • AIへの要件: PythonでシンプルなインメモリのToDoリストCLIアプリ(todo.py)を作成すること

  • 検証の着眼点:

    • 自らカスタマイズしたエージェントを/agentsで選択することができるか

    • AIとのチャットで発生しがちな「試行錯誤によるコンテキスト汚染(過去の失敗会話に引っ張られてAIの精度が落ちるなど)」を、/fork と /resume を使用して、防止できるか

Agentの作成(python-expert エージェント)

まずは、検証に利用するエージェントを作成します。Antigravityでは、YAML フロントマター付きの Markdown ファイル(.md)を配置すると、オリジナルのサブエージェントを追加・実行できます。また、プロジェクト専用のエージェントと、全プロジェクト共通のエージェントでは、ファイルの保管場所が異なります。

  • プロジェクト専用: .agents/agents/<agent_name>/agent.md
  • 全プロジェクト共通: ~/.gemini/config/agents/<agent_name>/agent.md

※YAMLフロントマターとはファイルの一番先頭に記述する「そのファイルの設定情報(メタデータ)」のことです。 Markdownファイルの最上部を ---(ハイフン3つ) で囲み、その間に キー: 値 の形式で設定を書きます。

YAMLフロントマターの下に書くシステムプロンプト(事前指示書)は以下のように記述しました。

あなたはPython開発のエキスパートです。
コードを生成・修正する際は、以下の原則を厳格に守ってください:
1. 型ヒント(Type Hints)を必ず記述する
2. docstringをGoogleスタイルで記述する
3. 単体テストコードもセットで作成する

/agentsコマンドでカスタムエージェントを適用してベース作成

CLI上でエージェントを切り替え、基本的なtodoアプリのコードを作成させます。

①CLIを起動し、/agentsコマンドを入力します。

②UIパネルが開くので、リストからpython-expertを選択します。

③プロンプトを入力します。

> PythonでシンプルなインメモリのToDoリストCLIアプリ(todo.py)を作成して。

この結果、Agentが自律的にtodo.pyと単体テスト用のtest_todo.pyを作成しました。また、システムプロンプトで指示をしたように、型ヒント(Type Hints)やGoogleスタイルのdocstringが記述されています。さらに、単体テストコードを自動的に実行し、テストまで完了してくれました。

実際にpython todo.pyでアプリを起動してみると、正常に動くことが確認できました。記載はしていませんが、詳細な使用方法やコマンド利用までエージェントが解説してくれます。

/forkコマンドで会話を引き継ぎながら分岐

元の会話履歴を汚さずに「JSONファイルへの保存・読み込み機能」を追加します。

①/forkコマンドを入力します。

②プロンプトを入力します。

> todo.pyにタスクのJSON保存・読み込み機能を追加して。

この結果、分岐された会話の中で、todo.pyとtest_todo.pyを修正し、テストまで完了してくれました。

再びpython todo.pyでアプリを起動してみると、saveとloadの新しいコマンドが追加され、saveを実行すると、tasks.jsonファイルが自動的に作成されます。

/resume コマンドで元のセッションに戻り、別機能を開発

分岐した会話の結果(JSON機能)での作業をそのまま残し、最初の会話時点に戻って、「タスクの件数表示機能」を追加します。

①/resumeコマンドを入力します。

②UIパネルが開くので、リストからPython ToDoリストCLIアプリの作成を選択します。

③プロンプトを入力します。

> タスク一覧を表示する際、タイトルの上に「全○件(完了: △件 / 未完了: □件)」という集計メッセージを追加してください。

同様に、todo.pyとtest_todo.pyを修正し、テストまで完了してくれました。起動し、確認を行うと、正常に新しい機能が追加できていることが確認できます。

 

まとめ

わずか数行のプロンプトとコマンド操作だけで、Antigravity CLIはコードのベース作成から会話の分岐、機能の追加を見事にコントロールしてくれました。

特に魅力的だったのは、プロジェクトが一通り進んだあとで /fork と /resume を使った際の挙動です。元のコードを汚すことなく「JSON保存」という実験機能を別ブランチで試し、/resume で瞬時に元の文脈へと巻き戻し、別の機能を実装できました。

AIの思考やコンテキストの推移がここまでコントロール可能になり、プロセスが透明化されるのは、開発の効率化において、非常に頼もしい武器になります。

まだまだ使いこなせていない機能や活用パターンがたくさん潜んでいると感じているので、今後も実践を通して理解を深めていきたいと思います。

最後までご覧頂き、ありがとうございました。

参考URL

Introducing Google Antigravity, a New Era in AI-Assisted Software Development | Google Antigravity Blog
Introducing Google Antigravity, a New Era in AI-Assisted Software Development
Enterprise
Overview
×
タイトルとURLをコピーしました