開始使用 Antigravity IDE

1. 簡介

Antigravity 是代理式開發平台,旨在協助任何人在代理優先時代進行建構。這項服務包含四項主要產品:Antigravity、Antigravity IDE、Antigravity CLI 和 Antigravity SDK。

在本程式碼研究室中,我們只會著重於開發人員適用的 Antigravity IDE。

課程內容

  • 瞭解 Antigravity 平台。
  • 安裝 Antigravity IDE。
  • 探索 Antigravity 編輯器和代理程式面板。
  • 斜線指令。
  • 自訂項目、MCP 伺服器和技能。

軟硬體需求

您必須在本機系統 (Mac、Windows 和特定 Linux 發行版本) 安裝 Antigravity IDE。此外,您還需要下列項目:

  • Chrome 網路瀏覽器。
  • Gmail 帳戶 (個人 Gmail 帳戶)。

報表問題

在完成程式碼研究室和使用 Antigravity 的過程中,您可能會遇到問題。

如要回報程式碼研究室相關問題 (錯字、錯誤的操作說明),請點選本程式碼研究室左下角的「Report a mistake」按鈕開啟錯誤:

e7d8a6055a16a773.png

如要回報 Antigravity 相關錯誤或要求功能,請在 Antigravity 中回報問題。如要回報產品意見,請點選 Antigravity 產品左下角的「設定」。然後選擇 Provide Feedback 選項。

2. Antigravity Platform

在著重介紹 Antigravity IDE 之前,我們先來瞭解 Antigravity 平台。

Antigravity 包含 4 項獨立產品:

  • Antigravity:旗艦獨立應用程式,也是管理多個平行運作本機代理的指令中心。
  • Antigravity IDE:功能齊全的代理式 IDE,適合開發人員使用。
  • Antigravity CLI:指令列介面,可透過終端機與代理互動。
  • Antigravity SDK:開發人員工具,可透過程式輔助方式將 Antigravity 整合至自家系統。

雖然所有產品都提供相同的 Antigravity 基礎代理程式存取權,但互動程度不同。

在 Antigravity 中,您會與代理程式進行更高層級的互動。在與代理程式的對話中,您只需說明想建構的內容,程式碼相關事宜就交給代理程式處理。您會看到生成的程式碼,但不一定需要自行深入瞭解程式碼。

在 Antigravity IDE 中,您處於較低的程式碼層級。你還是可以透過代理程式面板與代理程式交談,但也能完整查看程式碼,並在生成及編輯程式碼時取得代理程式的協助。

在 Antigravity CLI 中,您會透過指令列介面使用代理。同樣地,您還是可以與代理程式對話,並要求生成及編輯程式碼,但所有作業都會在終端機中進行。

你可以自行選擇要加入的等級。一般來說,您會在 Antigravity 中以較高層級開始建構,隨著複雜度增加,您會切換至 Antigravity IDE 進行程式設計,或使用 Antigravity CLI 執行更多終端機友善的工作。

3. 安裝

如果已安裝 Antigravity 應用程式,但尚未安裝 Antigravity IDE,右上角會顯示「安裝 IDE」按鈕:

a3afce2c797f070c.png

您可以點選該按鈕,或直接前往 Antigravity IDE 下載頁面,下載並安裝適用於您作業系統 (macOS、Windows、Linux) 的 Antigravity IDE。

安裝完成後,您應該會看到歡迎畫面:

a7bda49c67b4d971.png

登入 Google 帳戶,然後選擇主題,繼續安裝程序。

系統會詢問您要如何使用 Antigravity IDE 代理。在這個畫面中,你可以調整代理程式的終端執行政策、審查政策和 JavaScript 執行政策。目前請選擇「審查導向開發」。

923299763a029330.png

在後續畫面中,您可以設定擴充功能和 agy-ide 指令列工具。建議只安裝需要的擴充功能。

c4e8005b3042b401.png

Antigravity IDE 也提供外掛程式,內含技能和 MCP 的封裝集合,可協助代理程式使用 Google 開發人員產品。選擇您認為對工作有幫助的課程:

195da4a9d7b5a075.png

現在可以使用 Antigravity IDE 了。

4. Antigravity IDE 介面

首次啟動 Antigravity IDE 時,應該會看到 Antigravity IDE 主要介面。

4a3bd4e0483365d9.png

你可以先開啟本機資料夾。建議您也透過 Terminal 開啟新終端機,然後選取 New Terminal 選單項目。

現在您已準備好編輯器、終端機和代理:

d1465bea8316f991.png

在編輯器中,您輸入程式碼時,Antigravity 會提供 AI 輔助功能。您可以在代理程式面板與代理程式對話、選擇不同模型,以及參閱檔案和指令。終端機預設不會提供 AI 輔助功能,但如果您安裝 Antigravity CLI,即可使用 agy 指令啟動,並在終端機中取得 AI 輔助。

Antigravity 設定

建議查看右下角的 Antigravity 設定。當中包含代理的基本設定:

14201a391e0d5955.png

「進階設定」提供更多設定,例如代理程式安全模式:

9c2939aafa9724b5.png

您可以指定代理在終端機指令、檔案系統存取權等方面的自由度。請務必查看這些設定,並為專案選擇合適的設定。

5. 編輯者

我們來看看編輯器。建立 Python 檔案 hello.py,探索編輯器功能。

在編輯器的 hello.py 中輸入程式碼時,系統會啟動智慧自動完成功能,按下 Tab 鍵即可接受建議:

b34cd085032c2d5f.png

你可以按 Tab 鍵跳轉建議,將游標移至程式碼中的下一個邏輯位置。舉例來說,當您完成輸入 main() 時,編輯器會要求您跳至 main 方法:

2dd69707af98c677.png

您也會看到匯入分頁建議,可新增缺少的依附元件:

5ce8b0b5b9fdfdcc.png

6. 服務專員面板

右側會顯示服務專員側邊面板。如果沒有顯示,你可以使用 Cmd + L 快速鍵切換。

您可以選擇不同模型類型,使用 @ 納入更多內容,例如檔案、目錄、終端機、MCP 伺服器,或使用 / 執行指令 (後續步驟會說明)。

ae98a3c19c2a8fc7.png

與代理互動最簡單的方式是在對話中提問,但您也可以透過其他方式與代理互動。

如果您已安裝靜態 Linter (例如 Pylint),發生錯誤時,程式碼中會顯示語法錯誤。將游標懸停在編輯器中的問題上,然後選取 Explain and fix。系統會開啟代理面板,提供說明和代理可能提供的修正方式:

db123f692200e653.png

您也可以前往 IDE 的 Problems 分頁,然後選取 Send to Agent,讓代理程式嘗試修正這些問題:

2f95dba053a09dd5.png

您也可以選取終端機輸出內容中含有錯誤的部分,然後按一下 Cmd + L,將該部分傳送至代理程式對話:

b1a29237e8efd11a.png

與服務專員對話時,輸入視窗頂端會顯示一些圖示:

3b17223d6d2e7bea.png

包括「變更總覽」(查看程式碼變更)、「終端機」(背景程序)、「構件」和「瀏覽器」。

7. 構件

Antigravity 的核心功能是在開發的每個階段輕鬆收集意見回饋。代理執行工作時,會建立不同的構件:

  • 編碼前:實作計畫和工作清單。
  • 生成程式碼時:程式碼差異。
  • 程式碼編寫完成後:逐步說明程式碼的用途,並驗證結果。

Antigravity 會透過這些構件傳達計畫和進度。更重要的是,您也可以透過 Google 文件風格的註解,向代理程式提供意見回饋。這項功能非常實用,可有效引導代理程式朝您希望的方向發展。

讓我們試著建構簡單的應用程式,並瞭解如何在此過程中向 Antigravity 提供意見回饋。

在代理程式側邊面板中,嘗試使用下列提示:

Build a TODO list application with Python Flask, SQlite DB, and a CRUD frontend. Keep the application simple

這項操作會啟動代理程式,開始規劃及製作實作計畫。

實作計畫

實作計畫會概略說明 Antigravity 的意圖、使用的技術堆疊,以及建議變更的概略說明。

幾秒後,您應該會在對話中看到實作計畫:

935372be9721a21c.png

如果滿意,可以點選 Proceed 按鈕。如要提供意見回饋,請開啟導入計畫,然後在提交前新增 Google 文件樣式的註解。

工作清單

更新實施計畫後,Antigravity 會建立工作清單。這是 Antigravity 建立及驗證應用程式時會遵循的具體步驟清單,也是 Antigravity 傳達進度的管道:

5eb1f122174855a8.png

程式碼變更難追蹤

此時,Antigravity 會在新檔案中產生一些程式碼。你可以在代理程式對話側邊面板中 Accept all 或 Reject all 這些變更,不必查看詳細資料。您也可以點按 Review changes 查看變更詳細資料,並在程式碼中新增詳細註解。

逐步操作說明

Antigravity 完成編碼後,會啟動伺服器,並可能開啟瀏覽器來驗證應用程式。接著會進行一些手動測試,例如新增工作、更新工作等。最後,Antigravity 會建立逐步解說檔案,總結驗證應用程式的過程,其中可能包含螢幕截圖或驗證流程,以及瀏覽器錄影。

你也可以在導覽中對螢幕截圖或瀏覽器錄製內容加上註解。舉例來說,我們可以新增註解 Change the blue theme to orange theme 並提交。提交註解後,Antigravity 會進行變更、驗證結果,並更新逐步解說

復原變更

最後,如果對變更不滿意,可以在每次變更後從對話中復原。只要在對話中選擇 ↩️ Undo changes up to this point 即可。

8. 斜線指令

Antigravity IDE 提供內建斜線 / 指令。在代理程式側邊面板中輸入 /,應該會看到指令清單:

c0b121133b3191ca.png

/goal 會指示代理執行工作直到完成,/schedule 則可將工作排定為週期性或一次性工作。/grill-me 可用於與代理程式討論計畫,/learn 則可從對話中擷取可重複使用的技能或規則。

請試用這些指令,瞭解如何運用在日常生活中。

9. 自訂項目

Antigravity IDE 提供幾種自訂選項:「規則」和「工作流程」。

按一下右上角的 ...,然後選擇 Customizations,您會看到 Rules 和 Workflows:

3415bdfa2f263b08.png

規則可引導代理的行為。您可以提供這些指引,確保代理程式在生成程式碼和測試時遵循指引。舉例來說,您可能希望代理程式遵循特定程式碼樣式,或一律記錄方法。您可以將這些資訊新增為規則,代理程式就會將其納入考量。

工作流程是儲存的提示,與代理互動時,您可以視需要使用 / 觸發工作流程。這些工具也會引導代理程式的行為,但會由使用者視需要觸發。

舉例來說,規則比較像是系統指令,而工作流程則比較像是可依需求選擇的已儲存提示。

「規則」和「工作流程」都可以套用至全域或每個工作區,並儲存至下列位置:

  • 全域規則:~/.gemini/GEMINI.md
  • 全球工作流程:~/.gemini/config/global_workflows/
  • 工作區規則:.agents/rules/
  • 工作區工作流程:.agents/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.

這兩項規則已儲存並可供使用

新增工作流程

我們也來定義生成單元測試的工作流程。這樣一來,我們就能在對程式碼感到滿意時觸發單元測試 (而不是讓代理程式一直生成單元測試)。

前往 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

工作流程也已準備就緒。

試試看

現在來看看規則和工作流程的實際運作方式。在工作區中建立架構 main.py 檔案:

def main():
    pass

if __name__ == "__main__":
    main()

現在,請前往代理側邊面板,然後詢問代理:Implement binary search and bubble sort.

一兩分鐘後,工作區中應該會出現三個檔案:main.py、bubble_sort.py、binary_search.py。您也會發現所有規則都已實作:主要檔案不會雜亂,且包含範例程式碼;每個功能都在各自的檔案中實作;所有程式碼都已記錄,且風格良好:

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 就會瞭解我們的工作流程:

1b5120e06e55e98.png

選取 generate-unit-tests 並輸入。幾秒後,工作區就會出現新檔案:test_binary_search.py 和 test_bubble_sort.py,其中已實作多項測試!

10. MCP 伺服器

Model Context Protocol (MCP) 已成為將代理程式連結至外部系統的標準。這類工具可確保代理程式在資料和整合方面保持根據。

Antigravity IDE 支援本機和遠端 MCP 伺服器。此外,這項服務還整合了多個 MCP 伺服器,可與 Google Cloud 服務搭配使用,只要按一下滑鼠並提供一些設定資料,即可安裝這些伺服器。

按一下右上角的 ...,然後選擇 MCP Servers。這時會顯示對話方塊,其中列出 MCP 伺服器:

3fed0fbf1daa6df0.png

例如,您可以點選「Cloud Run」安裝 MCP 伺服器。

按一下右上方的 Manage MCP Servers,您也可以在 ~/.gemini/config/mcp_config.json 中查看原始 MCP 伺服器設定。您也可以在這個檔案中新增其他自訂 MCP 伺服器,然後按下重新整理按鈕,在 Antigravity IDE 中查看這些伺服器。

如要使用已設定的 MCP 伺服器,您可以向 Antigravity 提出需要 MCP 伺服器的要求。舉例來說,您可以啟用 cloudrun-mcp 伺服器,然後向 Antigravity 提出下列要求:Build and deploy a Cloud Run service。這會提示 Antigravity 尋找並使用 cloudrun-mcp 伺服器,設定及部署 Cloud Run 服務。

11. 技能

雖然 Antigravity 的基礎模型功能強大且用途廣泛,但並不瞭解您的特定專案背景或團隊標準。將所有規則或工具載入代理程式的脈絡視窗,會導致工具膨脹、成本提高、延遲和混淆。

技能會透過漸進式揭露技術解決這個問題。技能是專門的知識套件,在需要時才會啟動。只有在您的特定要求符合技能說明時,才會載入至代理程式的脈絡。

結構和範圍

技能是目錄式套裝組合,您可以視需求在兩個範圍中定義這些項目:

  • 全域範圍 (~/.gemini/config/skills/):適用於所有 Antigravity 產品 (Antigravity、Antigravity IDE、Antigravity CLI) 和專案。
  • 專案/工作區範圍 (<project-root>/.agents/skills/):這項設定會將技能限制在特定專案內。

典型的技能目錄如下所示:

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 .agents/skills/code-review

在專案資料夾 (例如我們剛建立的 .agents/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 檔案頂端包含中繼資料 (名稱和說明),接著是指令。代理程式載入時只會讀取技能的中繼資料,且只會在需要時載入完整的技能指令。

我們會驗證這項技能。與 Antigravity 展開新對話,詢問已安裝哪些技能。您應該會看到 code-review 技能:

61d2f8a77a133c46.png

試試看

在 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()

在 Antigravity 中開啟特定專案的新對話,然後輸入下列提示:review the @demo_bad_code.py file。

Agent 應找出 code-review 技能、載入詳細資料,然後根據 code-review/SKILL.md 檔案中的指示執行動作。

輸出範例如下所示:

dfbef714c00db3a7.png

12. 結語

恭喜!您已成功安裝、設定及瞭解 Antigravity IDE 的主要功能!

如要進一步瞭解 Antigravity 平台,請參閱下列 Codelabs 和參考文件。

其他程式碼實驗室

參考文件