iT邦幫忙

2026 iThome 鐵人賽

DAY 19
0

前端三分鐘 X 要轉職養豬還是做被取代的工程師?用 Google AI 打造我的 AI 雙刀流自動化工作流系列


之前我們靠著 MCP 幫 Agent 裝上了全自動 PR 的雙手,又透過 Hooks 設好了改完 Code 自動清槽的連鎖防線。

但隨著 AI 幫你處理的需求越來越多,你一定會碰上一種極度心累的狀況:
每次叫 AI 寫 Code,你都得在 Prompt 裡重複唸經:「記得型別不要寫 any 喔!」、「元件命名要用 PascalCase 喔!」、「記得補測試喔!」

養一兩隻豬的時候,靠你每天站在豬舍門口口頭叮嚀還可以;但當你要管理 1,000 隻豬的時候,你總不能每一隻豬跑過來,你就重複背一次養豬注意事項吧?

我們需要的不是每一次都重複交代,而是建立一份永續執行的「豬場規章制度」——這就是 Antigravity Rules


核心靈魂:Prompt 是一次性的,Rules 是制度化的

這是本篇最重要的一句話,也是現代 AI 軟體工程的關鍵轉變:

「Prompt 是一次性的,Rules 是制度化的。」

  • 以前(Prompt 碎碎念時代)

    「請幫我修改這個 React Component,記得不要使用 any,要遵守我們的命名規則,要補測試,不要亂改其他檔案...」
    每次指派任務都要重新傳送一大串教條,只要漏講一次,AI 就開始放飛自我亂寫。

  • 現在(Rules 制度化時代)

    你只需要對 Agent 說:「幫我完成這個 Feature。」
    剩下的所有防禦規範、型別邊界與程式碼風格,全部交給背景靜靜運作的 Rules 制度來自動約束!

不是努力讓 AI 變聰明,而是打造一個**「讓 AI 想做壞事都做不到」的被管理環境**。


AGENT.md vs Antigravity Rules:豬場手冊與規章制度

很多工程師會問:我們前面不是已經寫過 AGENT.md 了嗎?這跟 Rules 有什麼不同?

這可以用智慧養豬場的架構做一個極其漂亮的對比:

評比維度 智慧養豬場管理體系 Antigravity AI 系統架構 運作職責與角色
頂級上下文 豬場總體管理手冊 AGENT.md 介紹專案全貌、目錄結構、商業邏輯與核心技術棧
規章制度 豬場規章與卡關條例 Antigravity Rules 規範開發邊界、語法風格、卡關邏輯與安全防線

AGENT.md 告訴 Agent 「這是一家什麼樣的養豬場」,而 Rules 則是明確規範 「你在這裡幹活必須遵守哪些鐵律」


Rules 的四種生效層級與觸發機制

Antigravity 提供了靈活的 Rules 分流機制,就像養豬場不同區域有不同的管理強度:

[ Global Rules ]  ➔ 全公司/所有豬場通用鐵律 (~/.agy/rules/)
      ↓
[ Workspace Rules ] ➔ 特定專案/整個豬場專用 (.agy/rules/)
      ↓
┌─────────────────────────────────────────┐
│              觸發與啟用方式              │
├───────────────┬───────────────┬─────────┤
│ Always On     │ Glob Match    │ Model / │
│ 強制全時生效  │  符合檔案觸發  │ Manual  │
└───────────────┴───────────────┴─────────┘
  1. Global Rules (總場通用規定):放在 ~/.agy/rules/,不論開哪個專案都必須遵守(例如:禁止在 Commit 中寫入任何 API Key 或 Secret)。
  2. Workspace Rules (專案專用規定):放在專案 .agy/rules/ 目錄下,僅對當前 Repo 生效。
  3. Always On (全時段強制生效):每次與 Agent 對話、每次 Agent 讀檔時自動載入。
  4. Glob Pattern Match (條件限定啟用):只在 Agent 觸發特定副檔名或目錄時才動態載入(超實用!)。
  5. Model Decision / Manual (智慧判斷與點名啟用):由 Agent 視任務類型自動判斷,或由工程師指定呼叫。

靈魂實戰:Markdown Rules 設定檔範例

1. 軟體工程實戰:.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` 是否需要補上相對應的渲染測試。

這就像:只有進到母豬舍的豬,才自動套用「母豬營養配給規則」!


2. 養豬場精密管理:.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%,警報音頻切換為靜音閃燈模式,避免母豬產生應激反應。

養豬場 vs 軟體工程:Rules 制度大對照

規則維度 智慧養豬場 (Smart Farming) Antigravity Rules (Software Development)
Global 級 「全農場員工進出必須消毒」 所有專案嚴禁 Hardcode 敏感金鑰或 Token
Workspace 級 「A 號養豬場每週三集體量體重」 當前專案統一採用 TypeScript Strict 模式
Glob 條件級 只有進入「母豬舍區」才啟動溫控與靜音模式 只有編輯 src/**/*.tsx 才動態載入 React Component Rules
核心目標 脫離場長口頭咆哮,用自動化制度維護環境 脫離 Prompt 碎碎念,建立永遠可被管理的 CI/CD AI 生產線

結語:打造一個「可被管理」的 AI 工作環境

agy CLI、Agent Skills SOP、Hooks 自動連鎖檢查、MCP 的雙手,到今天的 Antigravity Rules 規章制度,我們終於拼上了自動化地圖的最關鍵拼圖。

你不再是每天追著 AI 後面收拾殘局的工頭,而是訂立豬場制度、設計自動化產線的最高架構師

📝 本日實作作業:

嘗試在專案的 .agy/rules/ 底下建立一份 typescript.md,設定 globs: "src/**/*.ts",寫入「禁止使用 any」的規則,體驗一下只講一句「幫我改 Code」,Agent 就會自動乖乖守規矩的爽快感!

說了很多很方便的做法,老闆突然說那我們再開一間養豬場如何?天啊,難道前幾天說過的東西都要重新再來一次嗎?感覺需要也好像不需要?那該怎麼做呢?我們明天見!


上一篇
豬吃完飯,誰來檢查與清理食槽
下一篇
老闆突然叫我再開一間豬場
系列文
前端三分鐘 X 要轉職養豬還是做被取代的工程師?用 Google AI 打造我的 AI 雙刀流自動化工作流20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言