>_tech-draft
Google Antigravityのアイコン
Google Antigravity
動画公開日
タイトル

Learn the basics of Google Antigravity

再生時間

13分 54秒

Google DeepMind「Anti-gravity」とは?AIエージェントで開発を革新する統合ツール

ポイント

  • Google DeepMindの「Anti-gravity」は、AIエージェントを活用し、ソフトウェア開発プロセスを革新する統合ツールです。
  • エディタ、エージェントマネージャー、ブラウザを統合し、タスクの自動実行、コード生成、自動テストをエージェントが支援します。
  • 開発者はルーティンワークをAIに任せ、より創造的で戦略的なタスクに集中できる新しい開発体験を得られます。

Google DeepMindが開発した新しい開発者向けプロダクト「Anti-gravity」は、AIエージェントの力を活用し、ソフトウェア開発プロセスを根本から変革する可能性を秘めています。この画期的なツールは、エディタ、エージェントマネージャー、オーケストレーションシステム、そしてブラウザを一つの製品表面に統合しており、開発者がより効率的かつインテリジェントに作業を進められるよう設計されています。本記事では、Anti-gravityの主要な機能、ワークフロー、そして開発体験をどのように向上させるかについて、詳細にご紹介します。

Anti-gravityのセットアップと基本概念

Anti-gravityは、シンプルなオンボーディングプロセスを経てすぐに使い始めることができます。アプリを起動後、好みのテーマ(ライトモードまたはダークモード)を選択し、Googleアカウントでサインインするだけで準備は完了です。

ログイン後、Anti-gravityの核となる3つの主要な作業インターフェースが紹介されます。

1. エージェントマネージャー (Agent Manager)

エージェントマネージャーは、すべてのワークスペースにわたってAIエージェントを一元的に管理・作成するための中心的な場所です。ここでは、現在稼働中のエージェントの状態を確認したり、新しいエージェントの設定を行ったりすることができます。開発者は、ここからエージェントの活動を監視し、必要に応じて介入することが可能です。

2. エディタ (Editor)

コードに直接深く関わりたい場合や、エージェントが完了したタスクの最後の10%を仕上げたい場合には、エディタが活躍します。エディタは、command + Eキーを押すか、「Open in Editor」ボタンをクリックすることでいつでも開くことができます。このエディタには、一般的な開発環境と同様に、タブ機能、オートコンプリート、そしてエージェントの状況を示すサイドバーなど、開発者が慣れ親しんだ機能が搭載されており、シームレスなコーディング体験を提供します。

3. ブラウザ (Browser)

Anti-gravityの最も革新的な機能の一つが、このブラウザ統合です。これは、Chromeブラウザ内にAIエージェントを直接組み込むことで実現されています。例えば、「テスト機能」といった指示をエージェントマネージャーやエディタから出すと、エージェントは自動的にブラウザを起動し、画面上でのクリックやスクロールといった操作を通じて、構築中の製品をテストします。これにより、アプリケーションやドキュメントから得られる豊富なコンテキストを直接エージェントに取り込み、より高度で現実的なテストが可能になります。

エージェント支援開発 (Agent Assisted Development) のワークフロー

Anti-gravityは「エージェント支援開発」という新しい働き方を提唱しています。これは、大規模言語モデル(LLM)がタスクの重要性や複雑さを自動的に判断し、開発者の負担を軽減する仕組みです。

  • 簡単なタスクの自動実行: 非常に簡単なタスクの場合、エージェントは自動的にそれを実装し、完了後に結果を報告します。開発者はその間、他の作業に集中できます。
  • 複雑なタスクや質問への介入: より複雑なタスクや、エージェントが解決できない疑問点がある場合、エージェントは開発者に対して「この部分を見てください」「あなたのコードベースに関するいくつか質問があります」といった形で介入を求めます。開発者がこれらの質問に答えることで、エージェントは残りの作業を効率的に実行できます。

この共同作業的なアプローチにより、開発者はより創造的で戦略的なタスクに集中できるようになり、ルーティンワークや試行錯誤の多くをエージェントに任せることが可能になります。

最初のプロジェクト:フライトトラッカーアプリの構築

具体的なプロジェクトを通して、Anti-gravityの能力を見ていきましょう。今回は、ユーザーがフライト番号を入力すると、そのフライトの開始・終了時刻、タイムゾーン、出発・到着地を表示し、Googleカレンダーにフライト情報を追加するNext.js製のフライトトラッカーアプリを構築します。

  1. ワークスペースの準備: まず、Anti-gravityのサイドバーから新しいワークスペースを追加し、ローカル環境で作業するために「Open folder」を選択します。「flight-tracker」という新しいフォルダを作成し、作業ディレクトリとして設定します。

  2. エージェントへの指示: エージェントに次の指示を出します。「Next.jsでフライト番号を入力すると、開始時刻、終了時刻、タイムゾーン、出発地、到着地を表示するフライト検索Webアプリを構築してください。当面は、一致するフライトのリストを返すモックAPIを使用し、検索結果はフォーム入力の下に表示してください。」

  3. エージェントの自動実行と進捗: エージェントは、以前設定した「エージェントが意思決定を行う」というモードに基づいて、自動的にタスクを開始します。この場合、エージェントはNext.jsプロジェクトの作成に必要なcreate-next-appコマンドを、開発者の承認なしに実行します。(ただし、より高度なコマンドやセキュリティに関わる操作の場合には、ユーザーの承認を求める通知が表示されることがあります。) エージェントはバックグラウンドで作業を進めますが、開発者はいつでもその進捗を確認できます。

Artifacts(成果物):エージェントの思考プロセスを可視化

Anti-gravityの非常に強力な機能の一つが「Artifacts(成果物)」です。これは、エージェントが自身の進捗を追跡し、調査を行い、発見を生成するために作成するMarkdownファイル群であり、エディタとエージェントマネージャーの両方の右サイドバーからアクセスできます。

Anti-gravityのエージェントは主に3種類のArtifactsを生成します。

1. タスクリスト (Task List)

これはエージェント自身の進捗を管理するためのリストです。開発者もこれに沿ってエージェントの作業を追うことができます。

2. 実装計画 (Implementation Plan)

エージェントがコードベースに変更を加える前に、行った調査結果と、これから実行する作業内容のレポートを詳細にまとめたものです。開発者はこの計画を確認し、承認することで、エージェントが意図した通りに作業を進めることを保証できます。

3. ウォークスルー (Walkthrough)

エージェントがタスクを完了した際に作成される最終報告書です。何を実行したか、そしてそれが正しく完了したことをどのように検証したか(スクリーンショット、ターミナルコマンドの実行履歴、単体テスト結果、PRの概要など)が記述されます。

実装計画の確認と承認

エージェントがいくつかの調査を終えると、実装計画が提示されます。今回のフライトトラッカーアプリのケースでは、生成された計画には、必要なコンポーネント、スタイリングに関する考慮事項、そして作業の検証方法などが詳細に記述されていました。開発者がこの計画をレビューし、「問題なし」と判断して承認すると、エージェントは実際にファイルの作成と実装を開始します。エージェントはタスクリストで進捗を追跡し、開発者はその間、コーヒーを飲んだり、他の作業に取り組んだりすることができます。

エージェントによる自動テスト

エージェントがコード生成フェーズを完了すると、次に開発サーバーを起動し、ブラウザを立ち上げて作成したアプリをローカルでテストしようとします。ここで、Chromeブラウザ拡張機能のインストールが促され、それを追加することでAnti-gravityのブラウザ統合が最大限に活用されます。

このブラウザ統合により、エージェントは自らが書いたコードを自動的にテストすることができます。例えば、フライトトラッカーアプリの場合、青いカーソルが画面上を動き回り、実際にフライト番号「American Airlines flight 123」を入力して検索を実行したり、無効な入力状態をテストしたりします。このテストの結果は、スクリーンレコーディングやスクリーンショットとしてウォークスルーレポートにまとめられ、開発者は実装された機能と、それが正しく検証されたことを確認できます。

インボックス(ホーム画面)と並行タスク

Anti-gravityのホーム画面は「インボックス」と呼ばれ、ここから新しい会話を開始したり、すべてのエージェントとワークスペースにわたる進捗状況を確認したりできます。

Anti-gravityの大きな利点の一つは、エージェントにバックグラウンドで作業をさせつつ、開発者自身はフォアグラウンドでより複雑なタスクに集中できる点です。動画では、2つの並行タスクが紹介されました。

1. ライブフライトデータ連携のためのAPI調査

エージェントに「Aviation Stacks API」のドキュメントを検索し、Curlレスポンスからインターフェースを取得するよう指示します。これにより、モックAPIから実際のライブデータへの連携に向けた準備が自動で進められます。

2. ロゴデザインの生成

Google DeepMindのエコシステムの一部である画像生成モデル「Nano Banana」に直接アクセスし、エージェントにアプリのロゴモックアップをデザインするよう指示します。ミニマリストなもの、クラシックなもの、カレンダーを明確に示すもの、その他フィットするものを複数提案させ、ファビコンとして利用することを想定します。このタスクは驚くほど迅速に完了し、エージェントの多岐にわたる能力を示しています。

まとめ

Google DeepMindの「Anti-gravity」は、AIエージェントの力を活用し、開発プロセスを劇的に効率化する革新的な統合開発ツールです。エディタ、エージェントマネージャー、ブラウザのシームレスな連携に加え、エージェント支援開発のワークフローや、エージェントの思考を可視化するArtifacts機能により、開発者はこれまで以上に生産的で創造的な作業に集中できるようになります。APIの調査からUIのデザイン、コードの実装から自動テストまで、多岐にわたるタスクをAIエージェントに委任できるAnti-gravityは、ソフトウェア開発の未来を再定義する可能性を秘めていると言えるでしょう。

参考動画

https://www.youtube.com/watch?v=nTOVIGsqCuY