開始使用 Google Antigravity

1. 簡介

在本程式碼研究室中,您將瞭解 Google Antigravity (本文後續簡稱 Antigravity),這個代理開發平台可將 IDE 帶往首重代理的紀元。

與僅能自動完成程式碼行的標準程式碼助理不同,Antigravity 提供「任務控制中心」,可管理自動代理程式,這些代理程式能規劃、編寫程式碼,甚至瀏覽網路,協助您建構內容。

Antigravity 平台以代理程式為優先,這項技術的前提是,AI 不只是編寫程式碼的工具,而是能夠自主規劃、執行、驗證及反覆處理複雜工程工作的角色,且幾乎不需要人為介入。

課程內容

  • 安裝及設定 Antigravity。
  • 探索 Antigravity 的重要概念,例如代理程式管理員、編輯器、瀏覽器等。
  • 自訂 Antigravity 的規則和工作流程,以及安全考量。

軟硬體需求

目前 Antigravity 僅適用於個人 Gmail 帳戶的預先發布版。並提供免費配額,供您使用頂尖模型。

您必須在本機系統上安裝 Antigravity。這項產品適用於 Mac、Windows 和特定 Linux 發行版本。除了自己的電腦,您還需要下列項目:

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

本程式碼研究室適合各種程度的使用者和開發人員 (包括初學者) 參加。

回報問題

在逐步完成程式碼研究室和使用 Antigravity 時,您可能會遇到問題。

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

b06b582bcd847f6d.png

如要回報 Antigravity 相關錯誤或要求功能,請在 Antigravity 中回報問題。您可以在 Agent Manager 中執行這項操作,方法是點選左下角的 Provide Feedback 連結:

281ac826fb44d427.png

你也可以點選個人資料圖示下方的 Report Issue 連結,前往編輯器:

e8afd782a8f92129.png

2. 安裝

首先,請安裝 Antigravity。目前這項產品提供預覽版,您可以使用個人 Gmail 帳戶開始使用。

前往下載頁面,然後點選適用於您情況的作業系統版本。啟動應用程式安裝程式,並在電腦上安裝。安裝完成後,請啟動 Antigravity 應用程式。畫面應會顯示類似下方的內容:

29fada39721093c.png

請每次都點選 Next。主要步驟如下:

  • 選擇設定流程:系統會顯示選項,讓您從現有的 VS Code 或 Cursor 設定匯入。我們將重新開始。
  • 選擇編輯器主題類型:我們將選擇深色主題,但完全由您決定。
  • 您想如何使用 Antigravity 代理程式?

7ca55560ec377130.png

讓我們來深入瞭解。請注意,您隨時可以透過 Antigravity 使用者設定 (Cmd + ,) 變更設定。

深入瞭解選項前,我們先看看一些特定屬性 (對話方塊右側顯示的屬性)。

終端機執行政策

這項功能可讓 Agent 在終端機中執行指令 (應用程式/工具):

  • 一律繼續:一律自動執行終端機指令 (可設定拒絕清單中的指令除外)。
  • 要求審查:執行終端機指令前,要求使用者審查並核准。

查看政策

代理程式執行工作時,會建立各種構件 (工作計畫、實作計畫等)。審查政策的設定方式可讓您決定由誰判斷是否需要審查。你是否一律要審查,或是讓代理程式決定。因此,這裡也有三種做法。

  • 一律繼續:代理程式絕不會要求審查。
  • 代理程式決定:代理程式會決定何時要求審查。
  • 要求審查:代理程式一律會要求審查。

JavaScript 執行政策

啟用後,智慧代理程式就能使用瀏覽器工具開啟網址、閱讀網頁,以及與瀏覽器內容互動。這項政策可控管瀏覽器執行 JavaScript 的方式。

  • 一律繼續:代理程式不會停止,也不會要求在瀏覽器中執行 JavaScript 的權限。這可讓代理程式在瀏覽器中執行複雜動作和驗證時,享有最大自主權,但同時也最容易受到安全漏洞影響。
  • 要求審查:代理程式一律會停止運作,並要求授權才能在瀏覽器中執行 JavaScript 程式碼。
  • 已停用:代理程式絕不會在瀏覽器中執行 JavaScript 程式碼。

我們已瞭解各種政策,現在左側的 4 個選項只是終端機執行、檢閱和 JavaScript 執行政策的特定設定,其中 3 個選項是這樣,第 4 個選項則可完全自訂控制。我們提供這 4 個選項,讓您選擇要授予 Agent 多少自主權,以便在終端機中執行指令及取得審查的構件,然後再繼續執行工作。

這 4 個選項分別是:

  • 安全模式:安全模式可為 Agent 提供更完善的安全控管機制,讓您限制 Agent 存取外部資源和執行敏感作業。啟用安全模式後,系統會強制執行多項安全措施,保護您的環境。
  • 以審查為導向的開發 (建議):代理程式會經常要求審查。
  • 代理程式主導的開發:代理程式絕不會要求審查。
  • 自訂設定

「以審查為導向的開發」選項是個不錯的平衡點,也是建議的選項,因為代理程式可以做出決策,並返回給使用者以取得核准。

接著會進入「設定編輯器」設定頁面,您可以在這裡選擇下列偏好設定:

  • 按鍵繫結:設定按鍵繫結。
  • 擴充功能:安裝熱門語言和其他建議的擴充功能。
  • 指令列:安裝指令列工具,使用 agy 開啟 Antigravity。

現在,您已準備好登入 Google 帳戶。如先前所述,如果您有個人 Gmail 帳戶,即可免費使用 Antigravity 的預覽模式。立即使用帳戶登入。瀏覽器隨即會開啟,方便你登入。驗證成功後,您會看到類似下方的訊息,並返回 Antigravity 應用程式。隨波逐流。

最後是使用條款。你可以決定是否要啟用這項功能,然後按一下 Next

這會帶您來到關鍵時刻,Antigravity 將等候與您合作。

3. 代理商管理員

我們準備好開始了!

Antigravity 是以開放原始碼的 Visual Studio Code (VS Code) 為基礎,但大幅改變使用者體驗,將重點從文字編輯轉移至代理程式管理。介面會分成兩個主要視窗:EditorAgent Manager。這種關注點分離反映了個人貢獻與工程管理之間的區別。

代理程式管理員:任務控管

啟動 Antigravity 後,使用者通常不會看到檔案樹狀結構,而是看到 Agent Manager,如下所示:

d5ae91fc746e1bba.png

這個介面是 Mission Control 資訊主頁。這項工具專為高階協調作業而設計,可讓開發人員在不同工作區或工作生成、監控及與多個非同步運作的代理互動。

在這個檢視畫面中,開發人員扮演架構師的角色。他們會定義高階目標,例如:

  • 重構驗證模組
  • 更新依附元件樹狀結構
  • 為結帳 API 產生測試套件

如上圖所示,每個要求都會產生專屬的代理程式執行個體。使用者介面會以視覺化方式呈現這些平行工作流程,顯示每個代理程式的狀態、產生的構件 (計畫、結果、差異) 和任何待處理的人工核准要求。

先前的 IDE 較偏向聊天機器人體驗,屬於線性且同步,而這項架構解決了這項主要限制。在傳統的聊天介面中,開發人員必須等待 AI 生成程式碼,才能提出下一個問題。在 Antigravity 的管理員檢視畫面中,開發人員可以同時派遣五個不同的代理處理五個不同的錯誤,有效提高處理量。

點選 Next 後,您可以選擇開啟工作區。

ec72712ea24bf6d5.png

只要將工作區視為 VS Code 中的工作區,即可完成設定。因此,我們可以點按按鈕開啟本機資料夾,然後選取要開始使用的資料夾。以我為例,我在主資料夾中有名為 my-agy-projects 的資料夾,並選取該資料夾。你可以使用完全不同的資料夾。請注意,您也可以完全略過這個步驟,日後再開啟工作區。

完成這個步驟後,您會進入「Agent Manager」視窗,如下所示:

156224e223eeda36.png

你會發現應用程式已準備就緒,可立即在所選工作區資料夾 (my-agy-projects) 中開始新的對話。您可以使用現有的其他 AI 應用程式 (Cursor、Gemini CLI) 操作知識,並使用 @ 和其他方式,在提示中加入額外背景資訊。

請務必查看「Planning」和「Model Selection」下拉式選單。您可以透過「模型選取」下拉式選單,為代理程式選擇目前可用的模型。清單如下所示:

fb0744dc43911365.png

同樣地,我們發現 Agent 會處於預設的 Planning 模式。但我們也可以選擇 Fast 模式。

f403e40ad480efc9.png

讓我們看看說明文件對此的說明:

  • Planning:代理程式可以在執行工作前進行規劃。適用於深入研究、複雜工作或協作。在此模式下,代理程式會將工作歸類為工作群組、產生構件,並採取其他步驟,徹底研究、思考及規劃工作,以達到最佳品質。您會在這裡看到更多輸出內容。
  • Fast:Agent 會直接執行工作。適用於可快速完成的簡單工作,例如重新命名變數、啟動幾個 Bash 指令,或其他較小型的本機工作。如果速度是重要因素,且工作簡單到不必擔心品質變差,這項功能就非常實用。

如果您熟悉代理程式中的思考預算和類似詞彙,可以將這項功能視為控制代理程式思考的能力,進而直接影響思考預算。我們目前會使用預設值,但請注意,在推出時,Gemini 3 Pro 模型會為每位使用者提供有限的配額,因此如果免費配額用完,系統會顯示適當的訊息。

現在讓我們花一點時間瞭解 Agent Manager (視窗),並釐清一些事項,以便清楚瞭解基本建構區塊、如何在 Antigravity 中瀏覽等。Agent Manager 視窗如下所示:

22f6dcf7b3edc583.png

請參考上圖中的數字:

  1. Inbox:這項功能可讓您集中追蹤所有對話。指派工作給 Agent 後,這些工作會顯示在收件匣中,點選收件匣即可查看所有目前的對話清單。輕觸任一對話即可查看所有來回訊息、工作狀態、Agent 生成的內容,甚至是工作是否等待您核准。這樣一來,您之後就能返回先前處理的工作。這項功能非常實用。
  2. Start Conversation:按一下即可開始新對話。系統會直接將你帶往顯示 Ask anything 的輸入欄位。
  3. Workspaces:我們提到工作區,以及您可以在任何工作區中工作。你隨時可以新增更多工作區,並在開始對話時選取任何工作區。
  4. Playground:這是個很棒的方法,您只要與代理程式開始對話,然後視需要將對話轉換為工作區,即可嚴格控管檔案等項目。您可以將這個區域視為草稿區。
  5. Editor View:目前我們位於 Agent Manager 檢視畫面。如要切換回編輯器檢視畫面,隨時都可以。這會顯示工作區資料夾和產生的任何檔案。您可以直接編輯檔案,甚至在編輯器中提供內嵌指引和指令,讓 Agent 根據您修改後的建議/指示執行動作或進行變更。我們會在後續章節中詳細說明編輯器檢視畫面。
  6. Browser:最後,我們來談談 Antigravity 的其中一項明顯差異化特點,也就是與 Chrome 瀏覽器的緊密整合。請參閱下一節,瞭解如何設定瀏覽器。

4. Antigravity 瀏覽器

文件所述,當代理程式想與瀏覽器互動時,會叫用瀏覽器子代理程式來處理手邊的工作。瀏覽器子代理程式會執行專門的模型,在 Antigravity 管理的瀏覽器中開啟的頁面上運作,這與您為主要代理程式選取的模型不同。

這個子代理程式有權存取各種控制瀏覽器所需的工具,包括點選、捲動、輸入、讀取控制台記錄等。Gemini 也能透過 DOM 擷取、螢幕截圖或 Markdown 剖析功能讀取開啟的網頁,以及錄製影片。

也就是說,我們需要啟動並安裝 Antigravity 瀏覽器擴充功能。我們將在 Playground 中發起對話,並逐步完成相關步驟。

選取 Playground,然後將下列工作 go to antigravity.google 指派給 Agent,如下所示:

51a373d3da23db56.png

提交工作。你會看到代理程式分析工作,並可檢查思考過程。在某個時間點,系統會正確繼續執行,並提及需要設定瀏覽器代理程式,如下所示。按一下 Setup

e7119f40e093afd2.png

系統會開啟瀏覽器並顯示訊息,提示您安裝擴充功能,如下所示:

82fb87d7d75b4a6c.png

繼續操作,系統會引導您安裝 Chrome 擴充功能。

f3468f0e5f3bb075.png

成功安裝擴充功能後,Antigravity Agent 就會開始運作,並顯示訊息,要求您授權執行工作。開啟的瀏覽器視窗應該會顯示一些活動:

7f0367e00ac36d5a.png

切換回「Agent Manager」檢視畫面,您應該會看到以下內容:

b9d89e1ebefcfd76.png

我們要求 Agent 前往 antigravity.google 網站,因此這正是我們預期的結果。授予權限後,您會發現系統已安全地導向該網站,如下所示:

77fcc38b5fb4ca7c.png

5. 構件

Antigravity 會在規劃及完成工作時建立「構件」,藉此傳達工作內容並取得人類使用者的意見回饋。例如豐富的 Markdown 檔案、架構圖、圖片、瀏覽器錄影、程式碼差異等。

構件可解決「信任差距」,如果代理程式聲稱「我已修正錯誤」,開發人員先前必須閱讀程式碼才能驗證。在 Antigravity 中,代理程式會產生證明這項事實的構件。

Antigravity 主要產生的構件如下:

  • Task Lists:在編寫程式碼之前,代理程式會生成結構化計畫。您通常不需要編輯這項計畫,但可以查看,並視需要新增留言來變更計畫。
  • Implementation Plan:用於在程式碼庫中設計變更,以完成工作。這些計畫包含必要修訂內容的技術詳細資料,除非您將構件審查政策設為「一律繼續」,否則使用者必須審查這些計畫。
  • Walkthrough:代理程式完成工作實作後,就會建立這份文件,當中會摘要說明變更內容和測試方式。
  • Code diffs:雖然嚴格來說並非構件,但 Antigravity 也會產生程式碼差異,供您審查及加上註解。
  • Screenshots:代理程式會擷取變更前後的 UI 狀態。
  • Browser Recordings:適用於動態互動 (例如 「按一下登入按鈕、等待微調器、確認資訊主頁載入」,代理程式會錄製工作階段影片。開發人員可以觀看這部影片,確認應用程式符合功能需求,不必自行執行應用程式。

系統會產生構件,並顯示在代理程式管理員和編輯器檢視畫面中。

在「編輯器」檢視畫面中,按一下右下角的 Artifacts 即可:

5deff47fe0a93aa1.png

在「代理程式管理員」檢視畫面中,右上方 Review changes 旁邊應該會顯示切換構件的按鈕,如果已切換,則會顯示產生的構件清單:

5320f447471c43eb.png

您應該會看到如下所示的構件檢視畫面。在本例中,我們指示 Agent 瀏覽 antigravity.google 頁面,因此 Agent 擷取了該頁面的螢幕截圖,並製作了相關影片:

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

編輯者

自動完成

在編輯器中輸入程式碼時,系統會啟動智慧自動完成功能,只要按下 Tab 鍵即可:

e90825ed7a009350.png

按 Tab 鍵匯入

系統會顯示匯入分頁建議,協助您新增缺少的依附元件:

bcab60794caa0aec.png

按 Tab 鍵跳轉

您會收到Tab 鍵跳轉建議,將游標移至程式碼中的下一個邏輯位置:

8610ae5217be7fe5.png

指令

您可以在編輯器或終端機中輸入 Cmd + I,以自然語言觸發指令,取得內嵌完成建議。

在編輯器中,您可以要求計算費波那契數的方法,然後接受或拒絕:

13a615e515cea100.png

在終端機中,你可以取得終端機指令建議:

5a75e560f998cedc.png

代理程式側邊面板

在編輯器中,你可以透過多種方式切換代理程式側邊面板。

手動開啟

您可以使用 Cmd + L 快速鍵,手動切換右側的代理程式面板。

你可以開始提問、使用 @ 納入更多背景資訊 (例如檔案、目錄、MCP 伺服器),或使用 / 參照工作流程 (已儲存的提示):

95c5a6d31d771748.png

你也可以選擇兩種對話模式:FastPlanning

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 鍵盤快速鍵,在兩種模式之間切換。

8. 提供意見

Antigravity 的核心功能是在體驗的每個階段輕鬆收集意見回饋。代理程式在處理工作時,會建立不同的構件:

  • 導入計畫和工作清單 (編碼前)
  • 程式碼差異 (生成程式碼時)
  • 逐步驗證結果 (編碼後)

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

讓我們試著建立簡單的待辦事項應用程式,並瞭解如何在此過程中向 Antigravity 提供意見。

規劃模式

首先,請確認 Antigravity 處於 Planning 模式 (而非 Fast 模式)。您可以在代理程式側邊面板的對話中選取此模式。這樣一來,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
...

你也可以在這裡提供意見回饋。在本範例中,代理程式想使用 Flask 做為 Python 網頁架構。我們可以在實作計畫中新增註解,改用 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 allReject 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 提供幾種自訂選項:「規則」和「工作流程」

按一下右上角的 ...,然後選擇 Customizations,您會看到 RulesWorkflows

ff8babd8d8bcfa83.png

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

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

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

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

  • 全域規則:~/.gemini/GEMINI.md
  • 全域工作流程:~/.gemini/antigravity/global_workflows/global-workflow.md
  • 工作區規則:your-workspace/.agent/rules/
  • 工作區工作流程: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.

這兩項規則會儲存並準備就緒:

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.

過一兩分鐘後,工作區中應該會出現三個檔案:main.pybubble_sort.pybinary_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 就會瞭解我們的工作流程:

8a3efd9e3be7eb6f.png

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

11febd7940ef8199.png

太棒了!

10. 技能

雖然 Antigravity 的基礎模型 (例如 Gemini) 是功能強大的通才,但不知道您的具體專案背景或團隊標準。將所有規則或工具載入代理程式的內容視窗,會導致「工具膨脹」、成本增加、延遲和混淆。

Antigravity Skills 會透過漸進式揭露解決這個問題。技能是專業知識的特殊套件,在需要時才會啟動。只有在特定要求符合技能說明時,才會載入代理程式的情境。

結構和範圍

技能是以目錄為基礎的套件。您可以視需求在兩個範圍中定義這些變數:

  • 全域範圍 (~/.gemini/antigravity/skills/):適用於所有專案 (例如 「Format JSON」(格式化 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。Agent 應找出 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 政策。這項設定會決定代理程式在 Shell 指令方面的自主性。

如要查看目前的設定,請前往 Antigravity — Settings,然後點選 Advanced Settings。您應該會看到「代理程式設定」的 Terminal 部分。如要將這項設定變更為其他值,請參考下表:

政策模式

說明

關閉

除非明確允許,否則代理程式絕不會自動執行終端機指令。

自動

代理程式會根據內部安全模型,決定是否執行。並要求危險指令的權限。

強化型

除非明確拒絕,否則代理程式一律會自動執行指令。

設定許可清單

允許清單主要與「關閉」政策搭配使用。這代表正向安全模式,也就是除非明確允許,否則一切都會遭到禁止。這是最安全的設定。

逐步設定

  1. 將「Terminal Command Auto Execution」(終端機指令自動執行) 設定設為「Off」(關閉)
  2. 點選「Allow List Terminal Commands」(允許的終端機指令清單) 旁的「Add」(新增) 按鈕,在該清單中新增下列指令:ls -al你也可以視需要新增其他終端機指令。

測試許可清單

  • 詢問虛擬服務專員:List the files in this directory
  • 代理程式會ls自動執行。
  • 詢問虛擬服務專員:Delete the <some file>
  • 代理程式會嘗試 rm <filepath>,但 Antigravity 會封鎖該要求,並強制進行使用者審查,因為 rm 不在允許清單中。Antigravity 應該會在執行指令前要求權限。

設定拒絕清單

拒絕清單是 Turbo (有時也包括自動) 政策的保障措施。這代表負面安全模型,也就是允許所有項目,除非明確禁止。這類做法需要開發人員預測所有可能的危險,雖然風險較高,但速度最快。

逐步設定

  1. 將「Terminal Command Auto Execution」(終端機指令自動執行) 設定設為「Turbo」(渦輪)
  2. 點選「拒絕清單終端機指令」旁的「新增」按鈕,在該欄位中新增下列指令。
  3. rm
  4. rmdir
  5. sudo
  6. curl
  7. wget

測試拒絕清單

  • 詢問虛擬服務專員:Check the version of python
  • 代理程式會python --version自動執行。
  • 詢問虛擬服務專員:Download www.google.com home page
  • 代理程式會嘗試curl。Antigravity 會偵測 denylist 中的 curl 並封鎖執行作業,同時提示您手動核准。

瀏覽器安全性

Antigravity 的網路瀏覽能力是超能力,但也是弱點。如果服務專員造訪遭入侵的文件網站,可能會遇到提示詞注入式攻擊。

為防範這種情況,您可以為瀏覽器代理程式導入瀏覽器網址許可清單

如要查看目前的設定,請前往 Antigravity — Settings,然後點選 Advanced Settings。您應該會看到「瀏覽器網址許可清單」部分,如下所示:

5ed231150122ecc5.png

按一下「Open Allowlist File」,即可在資料夾中開啟檔案 HOME/.gemini/antigravity/browserAllowlist.txt. 您可以確保只在此處輸入信任的網域。

12. 結論與後續步驟

恭喜!您已成功安裝 Antigravity、設定環境,並瞭解如何控制代理程式。

後續步驟 如要瞭解 Antigravity 如何建構實際應用程式,包括動態會議網站和生產力應用程式,請前往下一個程式碼研究室:「使用 Google Antigravity 建構應用程式」。

參考文件