Google Antigravity のスタートガイド

1. はじめに

この Codelab では、IDE をエージェント ファーストの時代へと進化させるエージェント型開発プラットフォームである Google Antigravity(以降、このドキュメントでは Antigravity と表記)について説明します。

行を自動補完するだけの標準的なコーディング アシスタントとは異なり、Antigravity には、計画、コーディング、ウェブの閲覧まで行える自律型エージェントを管理するための「ミッション コントロール」が用意されています。

Antigravity はエージェント ファーストのプラットフォームとして設計されています。これは、AI がコードを記述するツールではなく、人間の介入を最小限に抑えながら複雑なエンジニアリング タスクを計画、実行、検証、反復できる自律的なアクターであることを前提としています。

学習内容

  • Antigravity のインストールと構成。
  • エージェント マネージャー、エディタ、ブラウザなど、Antigravity の主要なコンセプトについて説明します。
  • 独自のルールとワークフローによる Antigravity のカスタマイズとセキュリティに関する考慮事項。

必要なもの

現在、Antigravity は個人用の Gmail アカウントでプレビュー版としてご利用いただけます。最上位モデルを使用するための無料割り当てが付属しています。

Antigravity はシステムにローカルにインストールする必要があります。このプロダクトは、Mac、Windows、特定の Linux ディストリビューションで利用できます。ご自身のパソコンに加えて、次のものが必要です。

  • Chrome ウェブブラウザ
  • Gmail アカウント(個人用 Gmail アカウント)。

この Codelab は、初心者を含むあらゆるレベルのユーザーとデベロッパーを対象としています。

問題を報告する

この Codelab で Antigravity を使用する際に、問題が発生する可能性があります。

Codelab 関連の問題(誤字脱字、誤った手順)については、この Codelab の左下にある Report a mistake ボタンを使用してバグを報告してください。

b06b582bcd847f6d.png

Antigravity に関連するバグや機能リクエストについては、Antigravity 内で問題を報告してください。これは、左下隅の Provide Feedback リンクを使用して、エージェント マネージャーで行うことができます。

281ac826fb44d427.png

プロフィール アイコンの下にある Report Issue リンクからエディタに移動することもできます。

e8afd782a8f92129.png

2. インストール

Antigravity がまだインストールされていない場合は、まず Antigravity をインストールします。現在、このプロダクトはプレビュー版として提供されており、個人の Gmail アカウントを使用して開始できます。

ダウンロード ページに移動し、ケースに該当するオペレーティング システムのバージョンをクリックします。アプリケーション インストーラを起動し、マシンにインストールします。インストールが完了したら、Antigravity アプリケーションを起動します。次のような画面が表示されます。

29fada39721093c.png

Next をクリックして続行してください。主な手順は次のとおりです。

  • Choose setup flow: 既存の VS Code または Cursor の設定からインポートするオプションが表示されます。最初からやり直します。
  • エディタのテーマの種類を選択する: ここではダークテーマを選択しますが、お好みで選択してください。
  • Antigravity エージェントをどのように使用しますか?

7ca55560ec377130.png

もう少し詳しく見ていきましょう。設定は、Antigravity のユーザー設定(Cmd + ,)でいつでも変更できます。

オプションの詳細に入る前に、いくつかの特定のプロパティ(ダイアログの右側に表示されます)を見てみましょう。

ターミナル実行ポリシー

これは、エージェントにターミナルでコマンド(アプリケーション/ツール)を実行する権限を付与することに関するものです。

  • 常に続行: ターミナル コマンドを常に自動実行します(構成可能な拒否リストにあるコマンドを除く)。
  • レビューをリクエスト: ターミナル コマンドを実行する前に、ユーザーのレビューと承認をリクエストします。

確認に関するポリシー

エージェントはタスクを実行する際に、さまざまなアーティファクト(タスクプラン、実装プランなど)を作成します。審査ポリシーは、審査が必要かどうかを判断するユーザーを決定できるように設定されています。常に確認するか、エージェントに判断を任せるか。そのため、ここでも 3 つのオプションがあります。

  • 常に続行: エージェントは審査をリクエストしません。
  • エージェントが決定: エージェントが審査をリクエストするタイミングを決定します。
  • 審査をリクエスト: エージェントは常に審査をリクエストします。

JavaScript 実行ポリシー

有効にすると、エージェントはブラウザツールを使用して URL を開き、ウェブページを読み取り、ブラウザ コンテンツを操作できます。このポリシーは、ブラウザでの JavaScript の実行方法を制御します。

  • 常に続行: エージェントは、ブラウザで JavaScript を実行する権限を求めるために停止しません。これにより、エージェントはブラウザで複雑なアクションと検証を実行するための最大限の自律性を得られますが、セキュリティ エクスプロイトに対する露出も最大になります。
  • レビューをリクエスト: エージェントは、ブラウザで JavaScript コードを実行する権限を求めるために、常に停止します。
  • 無効: エージェントはブラウザで JavaScript コードを実行しません。

さまざまなポリシーについて理解したところで、左側の 4 つのオプションは、そのうちの 3 つがターミナルの実行、レビュー、JavaScript の実行ポリシーの特定の設定であり、4 つ目のオプションは完全にカスタム制御できるオプションです。これらの 4 つのオプションは、ターミナルでコマンドを実行し、タスクを進める前にアーティファクトのレビューを受けるために、エージェントにどの程度の自律性を与えるかを選択できるようにするために用意されています。

次の 4 つのオプションがあります。

  • セキュア モード: セキュア モードでは、エージェントのセキュリティ制御が強化され、外部リソースや機密性の高いオペレーションへのアクセスを制限できます。セキュアモードが有効になっている場合、環境を保護するためにいくつかのセキュリティ対策が適用されます。
  • レビュー主導の開発(推奨): エージェントは頻繁にレビューを求めます。
  • エージェント主導の開発: エージェントはレビューをリクエストしません。
  • カスタム構成

レビュー主導の開発オプションは、エージェントが決定を下し、ユーザーに承認を求めることができるため、バランスがよく、推奨されるオプションです。

次は [エディタを設定] 設定ページです。ここでは、次の設定を選択できます。

  • キー バインディング: キー バインディングを構成します。
  • 拡張機能: 一般的な言語やその他の推奨される拡張機能をインストールします。
  • コマンドライン: コマンドライン ツールをインストールして、agy で Antigravity を開きます。

これで、Google にログインする準備が整いました。前述のとおり、個人用の Gmail アカウントをお持ちの場合は、プレビュー モードで Antigravity を無料でご利用いただけます。アカウントで今すぐログインしてください。ブラウザが開き、ログインできるようになります。認証に成功すると、次のようなメッセージが表示され、Antigravity アプリケーションに戻ります。流れに身を任せましょう。

最後に、利用規約。オプトインするかどうかを決定し、Next をクリックします。

この瞬間が真実の瞬間であり、Antigravity があなたとのコラボレーションを待っています。

3. エージェント マネージャー

準備が整いました。

Antigravity は、オープンソースの Visual Studio Code(VS Code)の基盤をフォークしますが、ユーザー エクスペリエンスを大幅に変更して、テキスト編集よりもエージェント管理を優先します。インターフェースは、EditorAgent Manager の 2 つの異なるメイン ウィンドウに分かれています。この関心の分離は、個人の貢献とエンジニアリング管理の区別を反映しています。

エージェント マネージャー: ミッション コントロール

Antigravity を起動すると、通常はファイル ツリーではなく、次のようなエージェント マネージャーが表示されます。

d5ae91fc746e1bba.png

このインターフェースは Mission Control ダッシュボードとして機能します。これは高レベルのオーケストレーション用に設計されており、デベロッパーはさまざまなワークスペースやタスクで非同期に動作する複数のエージェントを生成、モニタリング、操作できます。

このビューでは、デベロッパーはアーキテクトとして機能します。大まかな目標を定義します。たとえば、次のような目標が考えられます。

  • 認証モジュールをリファクタリングする
  • 依存関係ツリーを更新する
  • 課金 API のテストスイートを生成する

上の図に示すように、これらのリクエストごとに専用のエージェント インスタンスが生成されます。UI には、これらの並列ワークフローの可視化が表示され、各エージェントのステータス、生成されたアーティファクト(プラン、結果、差分)、人間による承認待ちのリクエストが表示されます。

このアーキテクチャは、以前の IDE の主な制限事項(線形同期型のチャットボット エクスペリエンス)に対応しています。従来のチャット インターフェースでは、開発者は AI がコードの生成を完了するまで待ってから、次の質問をする必要があります。Antigravity の管理者ビューでは、デベロッパーは 5 つの異なるエージェントを同時に 5 つの異なるバグの作業に割り当てることができ、スループットを効果的に向上させることができます。

上記の Next をクリックすると、ワークスペースを開くオプションが表示されます。

ec72712ea24bf6d5.png

VS Code で知っていたワークスペースと同じように考えれば、完了です。ボタンをクリックしてフォルダを選択すると、ローカル フォルダを開くことができます。私の場合は、ホーム フォルダに my-agy-projects という名前のフォルダがあったので、それを選択しました。まったく別のフォルダを使用することもできます。なお、この手順は完全にスキップすることもできます。ワークスペースは後でいつでも開くことができます。

この手順を完了すると、次の図に示すエージェント マネージャー ウィンドウが表示されます。

156224e223eeda36.png

選択したワークスペース フォルダ(my-agy-projects)で新しい会話をすぐに開始するように、アプリケーションが調整されます。他の AI アプリケーション(Cursor、Gemini CLI)の操作に関する既存の知識を活用して、@ などの方法でプロンプトの追加コンテキストを含めることができます。

PlanningModel Selection の両方のプルダウンを確認してください。[モデルの選択] プルダウンでは、エージェントが使用するモデルを、現在利用可能なモデルの中から選択できます。リストは次のとおりです。

fb0744dc43911365.png

同様に、エージェントはデフォルトの Planning モードになります。Fast モードを使用することもできます。

f403e40ad480efc9.png

ドキュメントには次のように記載されています。

  • Planning: エージェントはタスクを実行する前に計画を立てることができます。詳細な調査、複雑なタスク、共同作業に使用します。このモードでは、エージェントはタスクグループで作業を整理し、アーティファクトを生成し、最適な品質を実現するために作業を徹底的に調査、検討、計画します。ここでは、より多くの出力が表示されます。
  • Fast: エージェントがタスクを直接実行します。変数の名前変更、いくつかの bash コマンドの開始、その他の小規模でローカルなタスクなど、より迅速に完了できる簡単なタスクに使用します。これは、速度が重要な要素であり、タスクが単純で品質の低下を心配する必要がない場合に役立ちます。

エージェントの思考予算などの用語に精通している場合は、エージェントの思考を制御する機能と考えるとわかりやすいでしょう。これにより、思考予算に直接影響します。現時点ではデフォルトの設定を使用しますが、リリース時には Gemini 3 Pro モデルの利用可能枠がすべてのお客様に割り当てられるため、Gemini 3 の無料枠を使い切った場合は、その旨を示すメッセージが表示されることをご了承ください。

ここでは、エージェント マネージャー(ウィンドウ)について少し時間をかけて説明し、基本的な構成要素、Antigravity でのナビゲーション方法などを明確にしていきます。Agent Manager ウィンドウは次のようになります。

22f6dcf7b3edc583.png

上記の図の番号を参照してください。

  1. Inbox: すべての会話を 1 か所で追跡する方法と考えてください。エージェントがタスクを完了すると、受信トレイに表示されます。受信トレイをクリックすると、現在のすべての会話のリストが表示されます。会話をタップすると、やり取りされたすべてのメッセージ、タスクのステータス、エージェントが作成したコンテンツ、タスクに対するユーザー側の承認待ちかどうかなどを確認できます。これは、後で以前のタスクに戻るのに最適な方法です。非常に便利な機能です。
  2. Start Conversation: これをクリックすると、新しい会話が開始されます。これにより、Ask anything と表示されている入力欄に直接移動します。
  3. Workspaces: ワークスペースについて説明しました。任意のワークスペースで作業できます。ワークスペースはいつでも追加でき、会話を開始する際に任意のワークスペースを選択できます。
  4. Playground: エージェントとの会話を簡単に開始し、その会話をワークスペースに変換して、ファイルなどをより厳密に管理できる優れた方法です。これはスクラッチ領域のようなものと考えてください。
  5. Editor View: ここまでは、エージェント マネージャー ビューにいます。必要に応じて、いつでもエディタビューに切り替えることができます。ワークスペース フォルダと生成されたファイルが表示されます。ファイルを直接編集したり、エディタでインライン ガイダンスやコマンドを指定したりすることもできます。これにより、エージェントは変更された推奨事項や手順に従って操作や変更を行うことができます。エディタビューについては、後のセクションで詳しく説明します。
  6. Browser: 最後に、Antigravity を非常に強力なものにしている明確な差別化要因の 1 つである、Chrome ブラウザとの緊密な統合について説明します。次のセクションでは、ブラウザの設定について説明します。

4. Antigravity ブラウザ

ドキュメントに記載されているように、エージェントがブラウザとやり取りする必要がある場合、ブラウザ サブエージェントを呼び出して、当面のタスクを処理します。ブラウザ サブエージェントは、Antigravity で管理されているブラウザ内で開いているページで動作するように特化したモデルを実行します。これは、メイン エージェント用に選択したモデルとは異なります。

このサブエージェントは、クリック、スクロール、入力、コンソールログの読み取りなど、ブラウザの制御に必要なさまざまなツールにアクセスできます。また、DOM キャプチャ、スクリーンショット、マークダウン解析を通じて開いているページを読み取ったり、動画を撮影したりすることもできます。

つまり、Antigravity ブラウザ拡張機能を起動してインストールする必要があります。Playground で会話を開始して手順を確認してみましょう。

Playground を選択し、次のタスク go to antigravity.google をエージェントに付与します。

51a373d3da23db56.png

タスクを送信します。エージェントがタスクを分析している様子が表示され、思考プロセスを確認できます。しばらくすると、以下のようにブラウザ エージェントの設定が必要であることを示すメッセージが表示されます。Setup をクリックします。

e7119f40e093afd2.png

ブラウザが起動し、次のように拡張機能をインストールするメッセージが表示されます。

82fb87d7d75b4a6c.png

[続行] をクリックすると、インストール可能な Chrome 拡張機能が表示されます。

f3468f0e5f3bb075.png

拡張機能を正常にインストールすると、Antigravity Agent が動作を開始し、タスクを実行するための権限を許可するよう求めるメッセージが表示されます。開いたブラウザ ウィンドウにアクティビティが表示されます。

7f0367e00ac36d5a.png

エージェント マネージャーのビューに戻ると、次のようになります。

b9d89e1ebefcfd76.png

これは、エージェントに antigravity.google ウェブサイトにアクセスするように指示したため、想定どおりの結果です。権限を付与すると、以下のようにウェブサイトに安全に移動したことがわかります。

77fcc38b5fb4ca7c.png

5. アーティファクト

Antigravity は、作業を計画して実行する際に、作業を伝達して人間ユーザーからフィードバックを得る手段としてアーティファクトを作成します。リッチ マークダウン ファイル、アーキテクチャ図、画像、ブラウザの録画、コードの差分などがあります。

アーティファクトは「信頼のギャップ」を解消します。エージェントが「バグを修正しました」と主張した場合、以前はデベロッパーがコードを読んで確認する必要がありました。Antigravity では、エージェントがそれを証明するアーティファクトを生成します。

Antigravity によって生成される主なアーティファクトは次のとおりです。

  • Task Lists: コードを記述する前に、エージェントが構造化されたプランを生成します。通常、このプランを編集する必要はありませんが、確認して、必要に応じてコメントを追加して変更できます。
  • Implementation Plan: コードベース内の変更を設計してタスクを完了するために使用されます。これらのプランには、必要な修正に関する技術的な詳細が含まれており、アーティファクトの審査ポリシーが [常に続行] に設定されていない限り、ユーザーによる審査を目的としています。
  • Walkthrough: エージェントがタスクの実装を完了すると、変更の概要とテスト方法がまとめられたものが作成されます。
  • Code diffs: 厳密にはアーティファクトではありませんが、Antigravity はレビューとコメントが可能なコード差分も生成します。
  • Screenshots: エージェントは、変更前後の UI の状態をキャプチャします。
  • Browser Recordings: 動的なインタラクション(例: 「ログイン ボタンをクリックし、スピナーが表示されるのを待って、ダッシュボードが読み込まれることを確認する」)の場合、エージェントはセッションの動画を録画します。デベロッパーは、この動画を見ることで、アプリを自分で実行しなくても機能要件が満たされていることを確認できます。

アーティファクトが生成され、エージェント マネージャー ビューとエディタ ビューの両方に表示されます。

エディタビューの右下にある Artifacts をクリックすると、次の操作ができます。

5deff47fe0a93aa1.png

エージェント マネージャー ビューの右上にある Review changes の横に、アーティファクトを切り替えるボタンが表示されます。切り替えがオンになっている場合は、生成されたアーティファクトのリストが表示されます。

5320f447471c43eb.png

次のように、[アーティファクト] ビューが表示されます。この例では、エージェントに antigravity.google ページにアクセスするよう指示したため、スクリーンショットがキャプチャされ、同じ内容の動画が作成されています。

19d9738bb3c7c0c9.png

コードの差分は、エディタ ビューの Review Changes で確認できます。

e1d8fd6e7df4daf3.png

デベロッパーは、「Google ドキュメント スタイルのコメント」を使用して、これらのアーティファクトとコードの差分を操作できます。特定のアクションやタスクを選択し、希望するコマンドを入力して、エージェントに送信します。エージェントは、このフィードバックを取り込んで、それに応じて反復処理を行います。インタラクティブな Google ドキュメントの使用を検討してください。この場合、著者にフィードバックを提供すると、著者がそのフィードバックに基づいて修正します。

6. 受信トレイを再確認する

エージェントとの会話をいくつか開始したら、Agent Manager ウィンドウで Inbox を確認します。すべての会話が表示されます。いずれかの会話をクリックすると、その会話の履歴や生成されたアーティファクトなどを確認できます。この例では、最初の会話を実行した後、受信トレイに会話が次のように表示されます。

1a2a1bbdd4464ecf.png

その会話をクリックすると、詳細が表示されます。

b7e493765cfb1b1a.png

ここから会話を続けることもできます。

7. 編集者

エディタは VS Code の使い慣れた操作性を維持しているため、熟練したデベロッパーの筋肉記憶を尊重できます。標準のファイル エクスプローラ、構文ハイライト表示、拡張機能エコシステムが含まれています。

エージェント マネージャーの右上にある Open Editor ボタンをクリックすると、エディタに移動できます。

セットアップと拡張機能

一般的な設定では、エディタ、ターミナル、エージェントが表示されます。

7996408528de93e1.png

そうでない場合は、次のようにターミナル パネルとエージェント パネルを切り替えることができます。

  • ターミナル パネルを切り替えるには、Ctrl + ` ショートカットを使用します。
  • エージェント パネルを切り替えるには、Cmd + L ショートカットを使用します。

また、Antigravity はセットアップ時に一部の拡張機能をインストールできますが、使用しているプログラミング言語によっては、さらに多くの拡張機能をインストールする必要があるでしょう。たとえば、Python 開発の場合、次のような拡張機能をインストールできます。

bd33a79837b5a12a.png

編集者

予測入力

エディタでコードを入力すると、スマートなオートコンプリートが起動し、タブで簡単に挿入できます。

e90825ed7a009350.png

インポートするタブ

不足している依存関係を追加するための tab to import の提案が表示されます。

bcab60794caa0aec.png

Tab キーでジャンプ

タブでジャンプの候補が表示され、コード内の次の論理的な場所にカーソルを移動できます。

8610ae5217be7fe5.png

コマンド

エディタまたはターミナルで Cmd + I を使用してコマンドをトリガーし、自然言語を使用したインライン補完を行うことができます。

エディタで、フィボナッチ数を計算するメソッドをリクエストし、それを受け入れるか拒否できます。

13a615e515cea100.png

ターミナルで、ターミナル コマンドの候補を取得できます。

5a75e560f998cedc.png

エージェント サイドパネル

エディタでは、エージェント サイドパネルをさまざまな方法で切り替えることができます。

マニュアルを開く

右側にあるエージェント パネルは、Cmd + L ショートカットで手動で切り替えることができます。

質問を開始し、@ を使用してファイル、ディレクトリ、MCP サーバーなどのコンテキストを追加したり、/ を使用してワークフロー(保存されたプロンプト)を参照したりできます。

95c5a6d31d771748.png

会話モードは Fast または Planning の 2 つから選択できます。

d3d1449f12510e3e.png

Fast は簡単なタスクにおすすめです。Planning は、エージェントが作成したプランを承認できる複雑なタスクにおすすめです。

会話に別のモデルを選択することもできます。

af709bcc03c1e21e.png

説明と修正

エージェントをトリガーする別の方法として、問題にカーソルを合わせて Explain and fix を選択する方法もあります。

e45cbe02ed76b9c1.png

問題をエージェントに送信する

Problems セクションに移動して Send all to Agent を選択し、エージェントに問題の解決を試みさせることもできます。

e4992d14708005d0.png

ターミナル出力をエージェントに送信する

ターミナル出力の一部を選択して、Cmd + L でエージェントに送信することもできます。

c40293bab474c9b1.png

エディタとエージェント マネージャーの切り替え

エディタ モードでは右上の Open Agent Manager ボタンをクリックすると、いつでもエディタ モードとエージェント マネージャー モードを切り替えることができます。エージェント マネージャー モードでは右上の Open Editor ボタンをクリックすると、エディタ モードに戻ります。

また、Cmd + E キーボード ショートカットを使用して 2 つのモードを切り替えることもできます。

8. フィードバックを送信する

Antigravity の中心となるのは、エクスペリエンスのあらゆる段階でフィードバックを簡単に収集できる機能です。エージェントがタスクを処理する過程で、さまざまなアーティファクトが作成されます。

  • 実装計画とタスクリスト(コーディング前)
  • コードの差分(コードの生成時)
  • 結果を確認する手順(コーディング後)

これらのアーティファクトは、Antigravity が計画と進捗状況を伝えるための手段です。また、Google ドキュメントのコメント形式でエージェントにフィードバックを提供することもできます。これは、エージェントを効果的に誘導するうえで非常に役立ちます。

簡単な ToDo リスト アプリケーションを作成しながら、Antigravity にフィードバックを送信する方法を見てみましょう。

プランニング モード

まず、Antigravity が Fast モードではなく Planning モードになっていることを確認します。これは、エージェントのサイドパネル チャットで選択できます。これにより、Antigravity はコードに飛び込む前に実装計画とタスクリストを作成します。次に、Create a todo list web app using Python のようなプロンプトを試します。これにより、エージェントが起動し、計画の作成と実装計画の作成が開始されます。

導入計画

実装計画は、Antigravity が何を行う予定か、どの技術スタックを使用するか、提案された変更の概要を説明したものです。

Implementation Plan - Python Todo App
Goal
Create a simple, functional, and aesthetically pleasing Todo List web application using Python (Flask).

Tech Stack
Backend: Python with Flask
Frontend: HTML5, CSS3 (Vanilla), Jinja2 templates
...

また、フィードバックを送信できる最初の場所でもあります。このケースでは、エージェントは Python ウェブ フレームワークとして Flask を使用したいと考えています。実装計画にコメントを追加して、代わりに FastAPI を使用できます。コメントを追加したら、コメントを送信するか、Antigravity に更新された実装プランを Proceed するよう依頼します。

タスクリスト

実装計画が更新されると、Antigravity によってタスクリストが作成されます。これは、Antigravity がアプリの作成と検証を行うための具体的な手順のリストです。

Task Plan
 Create requirements.txt
 Create directory structure (static/css, templates)
 Create static/css/style.css
 Create templates/index.html
 Create main.py with FastAPI setup and Database logic
 Verify application

フィードバックを送信できる場所は、他にもあります。

たとえば、このユースケースでは、次のコメントを追加して、より詳細な確認手順を追加できます。Verify application by adding, editing, and deleting a todo item and taking a screenshot.

コード変更

この時点で、Antigravity は新しいファイルにコードを生成します。エージェント チャットのサイドパネルで、詳細を確認せずにこれらの変更を Accept all または Reject all できます。

Review changes をクリックして変更の詳細を確認し、コードに関する詳細なコメントを追加することもできます。たとえば、main.py に次のコメントを追加できます。Add basic comments to all methods

これは、Antigravity を使用してコードを反復処理する優れた方法です。

チュートリアル

Antigravity はコーディングが完了すると、サーバーを起動し、ブラウザを開いてアプリを検証します。タスクの追加や更新などの手動テストも実行します。これらはすべて Antigravity ブラウザ拡張機能のおかげです。最後に、アプリの検証のために行った処理をまとめたウォークスルー ファイルが作成されます。これには、スクリーンショットや、ブラウザの録画を含む検証フローが含まれます。

ウォークスルーでは、スクリーンショットやブラウザの録画にコメントすることもできます。たとえば、コメント Change the blue theme to orange theme を追加して送信します。コメントが送信されると、Antigravity が変更を行い、結果を確認して、ウォークスルーを更新します。

変更を元に戻す

最後に、各ステップの後に変更に満足できない場合は、チャットから変更を元に戻すことができます。チャットで ↩️ Undo changes up to this point を選択するだけです。

9. ルールとワークフロー

Antigravity には、ルールワークフローの 2 つのカスタマイズ オプションがあります。

エディタモードで、右上隅の ... をクリックして Customizations を選択すると、RulesWorkflows が表示されます。

ff8babd8d8bcfa83.png

ルールは、エージェントの動作をガイドするのに役立ちます。これらは、エージェントがコードとテストを生成する際に従うように指定できるガイドラインです。たとえば、エージェントに特定のコードスタイルに従うことや、メソッドを常に文書化することを求めることができます。これらをルールとして追加すると、エージェントが考慮します。

ワークフローは、エージェントとのやり取り中に / でオンデマンドでトリガーできる保存済みのプロンプトです。また、エージェントの動作をガイドしますが、ユーザーのオンデマンドでトリガーされます。

ルールはシステムの手順に近く、ワークフローはオンデマンドで選択できる保存済みプロンプトに近いと考えるとわかりやすいでしょう。

ルールワークフローは、グローバルまたはワークスペースごとに適用でき、次の場所に保存できます。

  • グローバル ルール: ~/.gemini/GEMINI.md
  • グローバル ワークフロー: ~/.gemini/antigravity/global_workflows/global-workflow.md
  • ワークスペース ルール: your-workspace/.agent/rules/
  • Workspace ワークフロー: your-workspace/.agent/workflows/

ワークスペースにルールとワークフローを追加しましょう。

ルールを追加

まず、コード スタイル ルールを追加しましょう。Rules に移動し、+Workspace ボタンを選択します。次のコード スタイル ルールを使用して、code-style-guide などの名前を付けます。

* Make sure all the code is styled with PEP 8 style guide
* Make sure all the code is properly commented

次に、コードがモジュール方式で生成されるように別のルールを追加します。code-generation-guide ルールの例を次に示します。

* The main method in main.py is the entry point to showcase functionality.
* Do not generate code in the main method. Instead generate distinct functionality in a new file (eg. feature_x.py)
* Then, generate example code to show the new functionality in a new method in main.py (eg. example_feature_x) and simply call that method from the main method.

2 つのルールが保存され、準備が整いました。

bfd179dfef6b2355.png

ワークフローを追加する

単体テストを生成するワークフローも定義しましょう。これにより、コードに満足したら単体テストをトリガーできます(エージェントが常に単体テストを生成するのではなく)。

Workflows に移動し、+Workspace ボタンを選択します。次のように、generate-unit-tests などの名前を付けます。

* Generate unit tests for each file and each method
* Make sure the unit tests are named similar to files but with test_ prefix

ワークフローも実行できるようになりました。

d22059258592f0e1.png

試してみる

では、ルールとワークフローの動作を見てみましょう。ワークスペースにスケルトン main.py ファイルを作成します。

def main():
    pass

if __name__ == "__main__":
    main()

エージェントのチャット ウィンドウに移動し、エージェントに「Implement binary search and bubble sort.」と質問します。

1 ~ 2 分後に、ワークスペースに main.pybubble_sort.pybinary_search.py の 3 つのファイルが作成されます。また、すべてのルールが実装されていることにも気づくでしょう。メインファイルは整理されており、サンプルコードが含まれています。各機能は独自のファイルに実装されています。すべてのコードがドキュメント化され、適切なスタイルで記述されています。

from binary_search import binary_search, binary_search_recursive
from bubble_sort import bubble_sort, bubble_sort_descending


def example_binary_search():
    """
    Demonstrate binary search algorithm with various test cases.
    """
    ...

def example_bubble_sort():
    """
    Demonstrate bubble sort algorithm with various test cases.
    """
    ...

def main():
    """
    Main entry point to showcase functionality.
    """
    example_binary_search()
    example_bubble_sort()
    print("\n" + "=" * 60)


if __name__ == "__main__":
    main()

コードに問題がないことを確認できたので、単体テストの生成ワークフローをトリガーできるかどうかを確認しましょう。

チャットに移動して /generate と入力すると、Antigravity はワークフローを認識しています。

8a3efd9e3be7eb6f.png

generate-unit-tests を選択して Enter キーを押します。数秒後に、ワークスペースに新しいファイル(test_binary_search.pytest_bubble_sort.py)が作成されます。これらのファイルには、すでに実装されているテストがいくつか含まれています。

11febd7940ef8199.png

すばらしいですね!

10. スキル

Antigravity の基盤となるモデル(Gemini など)は強力な汎用モデルですが、特定のプロジェクトのコンテキストやチームの標準を把握しているわけではありません。すべてのルールやツールをエージェントのコンテキスト ウィンドウに読み込むと、ツールの肥大化、コストの増加、レイテンシの増加、混乱が生じます。

Antigravity Skills は、漸進的開示によってこの問題を解決します。スキルは、必要になるまで休眠状態にある専門知識のパッケージです。特定のリクエストがスキルの説明と一致した場合にのみ、エージェントのコンテキストに読み込まれます。

構造とスコープ

スキルはディレクトリ ベースのパッケージです。必要に応じて、次の 2 つのスコープで定義できます。

  • グローバル スコープ(~/.gemini/antigravity/skills/): すべてのプロジェクトで使用できます(例: 「Format JSON」、「General Code Review」)。
  • ワークスペース スコープ(<workspace-root>/.agent/skills/): 特定のプロジェクト内でのみ使用できます(例: 「Deploy to this app's staging」、「Generate boilerplate for this specific framework」など)。

スキルの構造

一般的なスキル ディレクトリは次のようになります。

my-skill/
├── SKILL.md    #(Required) metadata & instructions.
├── scripts/    # (Optional) Python or Bash scripts for execution.
├── references/ # (Optional) text, documentation, or templates.
└── assets/     # (Optional) Images or logos.

スキルを追加しましょう。

コードレビュー スキル

これは指示のみのスキルです。つまり、メタデータとスキルの指示を含む SKILL.md ファイルを作成するだけで済みます。エージェントがバグ、スタイルの問題、ベスト プラクティスについてコード変更をレビューするための詳細情報を提供するグローバル スキルを作成しましょう。

まず、このグローバル スキルを格納するディレクトリを作成します。

mkdir -p ~/.gemini/antigravity/skills/code-review

上記のディレクトリに、次の内容の SKILL.md ファイルを作成します。

---
name: code-review
description: Reviews code changes for bugs, style issues, and best practices. Use when reviewing PRs or checking code quality.
---

# Code Review Skill

When reviewing code, follow these steps:

## Review checklist

1. **Correctness**: Does the code do what it's supposed to?
2. **Edge cases**: Are error conditions handled?
3. **Style**: Does it follow project conventions?
4. **Performance**: Are there obvious inefficiencies?

## How to provide feedback

- Be specific about what needs to change
- Explain why, not just what
- Suggest alternatives when possible

上記の SKILL.md ファイルには、上部にメタデータ(名前と説明)があり、その後に手順が記載されています。エージェントは、読み込み時に構成したスキルのメタデータのみを読み取り、必要に応じてスキルの手順を読み込みます。

試してみる

次の内容のファイルを demo_bad_code.py という名前で作成します。

import time

def get_user_data(users, id):
   # Find user by ID
   for u in users:
       if u['id'] == id:
            return u
   return None

def process_payments(items):
   total = 0
   for i in items:
       # Calculate tax
       tax = i['price'] * 0.1
       total = total + i['price'] + tax
       time.sleep(0.1) # Simulate slow network call
  
   return total

def run_batch():
   users = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
   items = [{'price': 10}, {'price': 20}, {'price': 100}]
  
   u = get_user_data(users, 3)
   print("User found: " + u['name']) # Will crash if None
  
   print("Total: " + str(process_payments(items)))

if __name__ == "__main__":
   run_batch()

エージェントに review the @demo_bad_code.py file を尋ねます。エージェントは code-review スキルを特定し、詳細を読み込んでから、code-review/SKILL.md ファイルに記載されている指示に従ってアクションを実行する必要があります。

出力例を以下に示します。

d90a989f4555e2fc.png

コード ヘッダー テンプレート スキル

スキルで静的テキストの大きなブロック(ライセンス ヘッダーなど)を使用する必要がある場合があります。このテキストをプロンプトに直接入力するのは無駄です。代わりに、resources/ フォルダに配置し、必要な場合にのみ読み取るようエージェントに指示します。

まず、このワークスペース スキルを格納するディレクトリを作成します。

mkdir -p .agent/skills/license-header-adder/resources

ライセンス テキストを含む .agent/skills/license-header-adder/resources/HEADER.txt を作成します。

/*
 * Copyright (c) 2026 YOUR_COMPANY_NAME LLC.
 * All rights reserved.
 * This code is proprietary and confidential.
 */

次の内容の .agent/skills/license-header-adder/SKILL.md ファイルを作成します。

---
name: license-header-adder
description: Adds the standard corporate license header to new source files.
---

# License Header Adder

This skill ensures that all new source files have the correct copyright header.

## Instructions
1. **Read the Template**: Read the content of `resources/HEADER.txt`.
2. **Apply to File**: When creating a new file, prepend this exact content.
3. **Adapt Syntax**: 
   - For C-style languages (Java, TS), keep the `/* */` block.
   - For Python/Shell, convert to `#` comments.

試してみる

エージェントに次の質問をします。Create a new Python script named data_processor.py that prints 'Hello World'.

エージェントはテンプレートを読み取り、C スタイルのコメントを Python スタイルに変換して、新しいファイルの先頭に自動的に追加します。

これらのスキルを作成することで、汎用的な Gemini モデルをプロジェクトのスペシャリストに効果的に変えることができます。コードレビューのガイドラインやライセンス ヘッダーなど、ベスト プラクティスを成文化している。「ライセンスを追加して」や「コミット形式を修正して」と AI に繰り返し指示する代わりに、エージェントがチームでの作業方法を本能的に理解するようになりました。

11. エージェントの保護

AI エージェントにターミナルとブラウザへのアクセス権を付与することは、両刃の剣です。自律的なデバッグとデプロイが可能になりますが、プロンプト インジェクションとデータ漏洩のベクトルも開きます。

Antigravity は、ターミナル コマンドの自動実行ポリシー、許可リスト、拒否リストを中心としたきめ細かい権限システムを通じて、この問題に対処します。

Antigravity を初めて構成するとき、または設定メニューから、Terminal Command Auto Execution ポリシーを選択する必要があります。この設定は、シェル コマンドに関するエージェントの自律性を決定します。

現在の設定を確認するには、Antigravity — Settings に移動し、Advanced Settings を選択します。エージェントの設定の Terminal セクションが表示されます。この設定を変更する場合は、次の表を参考にしてください。

ポリシー モード

説明

オフ

エージェントは、明示的に許可されない限り、ターミナル コマンドを自動的に実行することはありません。

自動

エージェントは、内部の安全性モデルに基づいて実行するかどうかを決定します。リスクの高いコマンドの権限を求めます。

ターボ

エージェントは、明示的に拒否されない限り、常にコマンドを自動的に実行します。

許可リストの構成

許可リストは、主に [オフ] ポリシーで使用されます。これは、明示的に許可されていない限り、すべてが禁止されるというポジティブ セキュリティ モデルを表します。これが最も安全な構成です。

構成の詳細手順

  1. [ターミナル コマンドの自動実行] 設定を [オフ] に設定します。
  2. [許可リストのターミナル コマンド] に、横の [追加] ボタンをクリックして、コマンド ls -al を追加します。必要に応じて、他のターミナル コマンドを追加することもできます。

許可リストをテストする

  • エージェントに List the files in this directory を尋ねます。
  • エージェントは ls を自動的に実行します。
  • エージェントに次の質問をします。Delete the <some file>
  • エージェントは rm <filepath> を試みますが、rm が許可リストにないため、Antigravity がブロックしてユーザー レビューを強制します。Antigravity は、コマンドを実行する前に権限を求める必要があります。

拒否リストの構成

拒否リストは、ターボ(および場合によっては自動)ポリシーの保護機能です。これは、明示的に禁止されていない限り、すべてが許可されるという否定的なセキュリティ モデルを表します。これは、デベロッパーが考えられるすべての危険を予測することに依存しており、リスクの高い提案ですが、最大限のスピードを実現できます。

構成の詳細手順

  1. [ターミナル コマンドの自動実行] 設定を [ターボ] に設定します。
  2. [Deny List Terminal Commands] に次のコマンドを追加します。追加するには、横にある [Add] ボタンをクリックします。
  3. rm
  4. sudo
  5. curl
  6. wget

拒否リストのテスト

  • エージェントに Check the version of python を尋ねます。
  • エージェントは python --version を自動的に実行します。
  • エージェントに次の質問をします。Download www.google.com home page
  • エージェントは curl を試みます。Antigravity は、拒否リスト内の curl を検出し、実行をブロックして、手動承認を求めます。

ブラウザのセキュリティ

Antigravity のウェブ閲覧機能はスーパーパワーですが、脆弱性でもあります。侵害されたドキュメント サイトにアクセスしたエージェントが、プロンプト インジェクション攻撃を受ける可能性があります。

これを防ぐには、ブラウザ エージェントにブラウザ URL 許可リストを実装します。

現在の設定を確認するには、Antigravity — SettingsAdvanced Settings の順に移動します。以下のように、ブラウザ設定の [ブラウザ URL 許可リスト] セクションが表示されます。

5ed231150122ecc5.png

[Open Allowlist File] をクリックすると、フォルダ HOME/.gemini/antigravity/browserAllowlist.txt. でファイルが開きます。ここで、信頼できるドメインのみが入力されていることを確認できます。

12. まとめと次のステップ

おめでとうございます!これで、Antigravity のインストール、環境の構成、エージェントの制御方法を習得できました。

次のステップAntigravity を使用して実際のアプリケーションを構築する例については、次の Codelab をご覧ください。

リファレンス ドキュメント