前端三分鐘 X 要轉職養豬還是做被取代的工程師?用 Google AI 打造我的 AI 雙刀流自動化工作流系列
之前我們靠著 MCP 幫 Agent 裝上了全自動 PR 的雙手,又透過 Hooks 設好了改完 Code 自動清槽的連鎖防線。
但隨著 AI 幫你處理的需求越來越多,你一定會碰上一種極度心累的狀況:
每次叫 AI 寫 Code,你都得在 Prompt 裡重複唸經:「記得型別不要寫 any 喔!」、「元件命名要用 PascalCase 喔!」、「記得補測試喔!」
養一兩隻豬的時候,靠你每天站在豬舍門口口頭叮嚀還可以;但當你要管理 1,000 隻豬的時候,你總不能每一隻豬跑過來,你就重複背一次養豬注意事項吧?
我們需要的不是每一次都重複交代,而是建立一份永續執行的「豬場規章制度」——這就是 Antigravity Rules!
這是本篇最重要的一句話,也是現代 AI 軟體工程的關鍵轉變:
「Prompt 是一次性的,Rules 是制度化的。」
以前(Prompt 碎碎念時代):
「請幫我修改這個 React Component,記得不要使用 any,要遵守我們的命名規則,要補測試,不要亂改其他檔案...」
每次指派任務都要重新傳送一大串教條,只要漏講一次,AI 就開始放飛自我亂寫。
現在(Rules 制度化時代):
你只需要對 Agent 說:「幫我完成這個 Feature。」
剩下的所有防禦規範、型別邊界與程式碼風格,全部交給背景靜靜運作的 Rules 制度來自動約束!
不是努力讓 AI 變聰明,而是打造一個**「讓 AI 想做壞事都做不到」的被管理環境**。
很多工程師會問:我們前面不是已經寫過 AGENT.md 了嗎?這跟 Rules 有什麼不同?
這可以用智慧養豬場的架構做一個極其漂亮的對比:
| 評比維度 | 智慧養豬場管理體系 | Antigravity AI 系統架構 | 運作職責與角色 |
|---|---|---|---|
| 頂級上下文 | 豬場總體管理手冊 | AGENT.md |
介紹專案全貌、目錄結構、商業邏輯與核心技術棧 |
| 規章制度 | 豬場規章與卡關條例 | Antigravity Rules | 規範開發邊界、語法風格、卡關邏輯與安全防線 |
AGENT.md 告訴 Agent 「這是一家什麼樣的養豬場」,而 Rules 則是明確規範 「你在這裡幹活必須遵守哪些鐵律」。
Antigravity 提供了靈活的 Rules 分流機制,就像養豬場不同區域有不同的管理強度:
[ Global Rules ] ➔ 全公司/所有豬場通用鐵律 (~/.agy/rules/)
↓
[ Workspace Rules ] ➔ 特定專案/整個豬場專用 (.agy/rules/)
↓
┌─────────────────────────────────────────┐
│ 觸發與啟用方式 │
├───────────────┬───────────────┬─────────┤
│ Always On │ Glob Match │ Model / │
│ 強制全時生效 │ 符合檔案觸發 │ Manual │
└───────────────┴───────────────┴─────────┘
~/.agy/rules/,不論開哪個專案都必須遵守(例如:禁止在 Commit 中寫入任何 API Key 或 Secret)。.agy/rules/ 目錄下,僅對當前 Repo 生效。.agy/rules/react-components.md (Glob 條件觸發)想像一下,你希望 AI 只要改動到 UI 元件,就自動套用最嚴格的 React SOP。我們可以使用 glob 前言(Frontmatter)來精準卡關:
---
name: react-component-rules
description: React 元件開發與型別卡關規範
globs: "src/**/*.tsx"
alwaysOn: false
---
# React Component Development Rules
只要修改或新增 `src/**/*.tsx` 下的任何檔案,必須嚴格遵守以下守則:
### 1. 型別與介面 (Type Safety)
- 嚴禁使用 `any` 或 `unknown`!所有 Props 必須建立專屬的 `interface` 或 `type`。
- Event Handler 必須標註明確 Event 型別 (如 `React.MouseEvent<HTMLButtonElement>`)。
### 2. 效能與狀態 (Performance)
- 嚴禁在 Component 頂點直接定義複雜的物件或陣列 initializer,避免每一次 re-render 重建。
- 複雜計算必須使用 `useMemo` 包覆,跨傳父元件的 Callback 必須使用 `useCallback`。
### 3. 單元測試對齊 (Testing Alignment)
- 修改 Component 檔時,必須同步確認 `src/**/*.test.tsx` 是否需要補上相對應的渲染測試。
這就像:只有進到母豬舍的豬,才自動套用「母豬營養配給規則」!
.agy/rules/maternity-barn.md(對照組)若搬回智慧養豬場的自動化控制台,規章就會長這樣:
---
name: maternity-barn-rules
description: 母豬與哺乳區自動化照護條例
globs: "barns/maternity/*.json"
alwaysOn: false
---
# Maternity Barn Inspection Rules
當自動化機器人進入 `barns/maternity/*.json` (母豬舍區) 執行任務時,強制啟動以下規範:
### 1. 溫濕度嚴格防線
- 保溫燈溫度必須恆定維持在 `30°C ~ 32°C`,低於 `29°C` 自動啟動二段式暖風機。
### 2. 靜音操作守則
- 機器人移動速度調降 50%,警報音頻切換為靜音閃燈模式,避免母豬產生應激反應。
| 規則維度 | 智慧養豬場 (Smart Farming) | Antigravity Rules (Software Development) |
|---|---|---|
| Global 級 | 「全農場員工進出必須消毒」 | 所有專案嚴禁 Hardcode 敏感金鑰或 Token |
| Workspace 級 | 「A 號養豬場每週三集體量體重」 | 當前專案統一採用 TypeScript Strict 模式 |
| Glob 條件級 | 只有進入「母豬舍區」才啟動溫控與靜音模式 | 只有編輯 src/**/*.tsx 才動態載入 React Component Rules |
| 核心目標 | 脫離場長口頭咆哮,用自動化制度維護環境 | 脫離 Prompt 碎碎念,建立永遠可被管理的 CI/CD AI 生產線 |
從 agy CLI、Agent Skills SOP、Hooks 自動連鎖檢查、MCP 的雙手,到今天的 Antigravity Rules 規章制度,我們終於拼上了自動化地圖的最關鍵拼圖。
你不再是每天追著 AI 後面收拾殘局的工頭,而是訂立豬場制度、設計自動化產線的最高架構師!
嘗試在專案的 .agy/rules/ 底下建立一份 typescript.md,設定 globs: "src/**/*.ts",寫入「禁止使用 any」的規則,體驗一下只講一句「幫我改 Code」,Agent 就會自動乖乖守規矩的爽快感!
說了很多很方便的做法,老闆突然說那我們再開一間養豬場如何?天啊,難道前幾天說過的東西都要重新再來一次嗎?感覺需要也好像不需要?那該怎麼做呢?我們明天見!