前端三分鐘 X 要轉職養豬還是做被取代的工程師?用 Google AI 打造我的 AI 雙刀流自動化工作流系列
在上篇我們介紹了 Antigravity CLI (agy),讓神童 Agent 能夠直接走進 Terminal 讀取檔案,並在我們的審查下自動完成改 Code、Commit、發 PR,但如果想要更謹慎一點呢?像是希望豬吃完飯後料槽能自動清洗,程式碼撰寫後也能夠自動排版和修復基本錯誤。
現在你的 AI 豬不僅聰明、能進 Terminal,還能自己拿工具幹活了。但很快你又會發現一個新問題:豬吃完飯,誰來檢查與清理食槽?
在傳統養豬場裡,如果豬吃完飯沒有自動清槽與檢查環境,殘留的飼料很快就會發霉變質;在寫 Code 時也是一樣,如果 Agent 每次改完 Code,你都還要手動去敲 npm run lint 或 npm test,那只要你一時疏忽,壞掉的 Code 就會直接溜進 codebase!
我們需要的是一個**「只要豬一吃完飯,不用人下指令,自動引發連鎖反應」**的機制——這就是 agy Hooks!
什麼是 Hook(鉤子)?
簡單來說,Hook 就是一種「事件觸發器」。就像是你在養豬場食槽邊裝了一個感應器:
你不需要盯著豬看,也不需要每次手動按下開關。只要特定的動作一結束,Hook 就會像人體的「膝跳反射」一樣,自動執行預先設定好的防護動作!
在 agy 中,透過設定 Hooks,我們可以讓 Agent 的每一次改動都必須強制通過自動化卡關驗證:
agy Agent 修改 Code
↓
[ Trigger: post-edit Hook ]
↓
1. Lint 檢查 (自動掃描語法與風格)
↓
2. Test 驗證 (自動執行單元測試)
↓
3. Auto-Review (自動比對變更邊界)
↓
綠燈通過 ➔ 允許進入 Commit / PR 階段
agy 收到任務,修改了 src/components/UserCard.tsx。post-edit 事件,系統直接接管。eslint,確保排版與語法規範 100% 符合團隊標準。vitest 或 jest,確保剛改的 Code 沒有把旁邊的模組用到壞掉。agy Hooks 設定實戰範例在 Antigravity 中,Hooks 可以配置在專案根目錄的 .agy/config.json 或 .agy/hooks.json 中 [cite: 10, 13]。你可以監聽不同生命週期事件(例如 post-edit、pre-commit),並指定自動執行的 Shell 指令:
這是一份真實可用的 agy Hooks 設定檔,當 Agent 每次修改完檔案後,會自動引發自動化校對連鎖反應:
{
"hooks": {
"post-edit": [
{
"name": "Auto Linting",
"command": "npx eslint --fix ${FILE_PATH}",
"on_failure": "block_and_notify"
},
{
"name": "Run Affected Unit Tests",
"command": "npm run test -- --findRelatedTests ${FILE_PATH}",
"on_failure": "retry_agent"
}
],
"pre-commit": [
{
"name": "TypeScript Type Check",
"command": "npx tsc --noEmit",
"on_failure": "abort"
}
]
}
}
post-edit:Agent 修改完某個檔案瞬間觸發 [cite: 10],自動替該檔案跑 eslint --fix [cite: 10],並只跑受影響的單元測試 [cite: 10]。若測試失敗,直接要求 Agent 繼續修正!pre-commit:在 Agent 打包 Commit 前進行全局型別檢查 [cite: 10, 13],失敗直接中止 Commit 流程!如果把這套 Hook 搬到智慧養豬場的自動化控制台,設定檔就會長這樣:
{
"hooks": {
"post-meal": [
{
"name": "Auto Trough Flushing",
"command": "smart-farm-cli flush-trough --trough-id ${TROUGH_ID} --water-pressure high",
"on_failure": "alert_manager"
},
{
"name": "Water Quality Inspection",
"command": "smart-farm-cli check-ph --trough-id ${TROUGH_ID} --min-ph 6.5 --max-ph 7.5",
"on_failure": "lock_trough"
}
]
}
}
post-meal:感應器偵測到豬隻離槽,自動觸發高壓水槍洗槽 [cite: 10]。check-ph:自動檢測水質,pH 值不達標立刻鎖定食槽並報警 [cite: 10]。| 比較維度 | 智慧養豬場 (Smart Farming) | agy Hooks 自動化防線 (Software Pipeline) |
|---|---|---|
| 觸發時機 (Trigger) | 豬隻進食完畢 (post-meal) |
Agent 完成檔案修改 (post-edit / pre-commit) [cite: 10] |
| 自動觸發動作 | 高壓自動沖洗與水質檢測 [cite: 10] | 自動執行 ESLint --fix 與 tsc 型別檢查 [cite: 10] |
| 品質阻擋 | 水質不達標 ➔ 鎖定區域並通報警報 [cite: 10] | 測試失敗 ➔ 阻擋變更並退回要求 Agent 自行修正 [cite: 10] |
| 效益 | 零人工介入,確保豬舍環境永遠清潔 | 防止垃圾程式碼與潛在 Bug 溜進專案 |
擁有了 agy CLI 的執行力、Agent Skills 的 SOP、Hooks 的自動品質防衛門禁,你的 AI 工作流才算真正具備了「自我修正與品質把關」的能力。
工程師不再需要當整天盯著細節的校對員,而是成為訂立規則與 Hook 機制的系統設計師!
嘗試在專案中設定一個簡單的 .agy/hooks.json,讓它在 post-edit 時自動執行 npx eslint --fix ${FILE_PATH} [cite: 10],體驗改完 Code 瞬間自動觸發連鎖檢查的順暢感!
雖然但是,AI 很方便了我們卻還是要常常交辦同樣的任務,明天 Day 19,我們來看看怎麼樣做才可以更偷懶,我們明天見!