iT邦幫忙

2026 iThome 鐵人賽

DAY 18
0

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


在上篇我們介紹了 Antigravity CLI (agy),讓神童 Agent 能夠直接走進 Terminal 讀取檔案,並在我們的審查下自動完成改 Code、Commit、發 PR,但如果想要更謹慎一點呢?像是希望豬吃完飯後料槽能自動清洗,程式碼撰寫後也能夠自動排版和修復基本錯誤。

現在你的 AI 豬不僅聰明、能進 Terminal,還能自己拿工具幹活了。但很快你又會發現一個新問題:豬吃完飯,誰來檢查與清理食槽?

在傳統養豬場裡,如果豬吃完飯沒有自動清槽與檢查環境,殘留的飼料很快就會發霉變質;在寫 Code 時也是一樣,如果 Agent 每次改完 Code,你都還要手動去敲 npm run lintnpm test,那只要你一時疏忽,壞掉的 Code 就會直接溜進 codebase!

我們需要的是一個**「只要豬一吃完飯,不用人下指令,自動引發連鎖反應」**的機制——這就是 agy Hooks


生活化理解 Hooks:反射動作與事件驅動

什麼是 Hook(鉤子)?

簡單來說,Hook 就是一種「事件觸發器」。就像是你在養豬場食槽邊裝了一個感應器:

  • 事件發生:豬吃完飯(Agent 完成程式碼修改)。
  • 自動鉤住並觸發:感應器立刻啟動噴水洗槽與品質檢測(自動執行 Lint / Test)。

你不需要盯著豬看,也不需要每次手動按下開關。只要特定的動作一結束,Hook 就會像人體的「膝跳反射」一樣,自動執行預先設定好的防護動作!


agy Hooks 工作流:寫 Code 後的自動連鎖防線

agy 中,透過設定 Hooks,我們可以讓 Agent 的每一次改動都必須強制通過自動化卡關驗證:

agy Agent 修改 Code
       ↓
[ Trigger: post-edit Hook ]
       ↓
   1. Lint 檢查 (自動掃描語法與風格)
       ↓
   2. Test 驗證 (自動執行單元測試)
       ↓
   3. Auto-Review (自動比對變更邊界)
       ↓
 綠燈通過 ➔ 允許進入 Commit / PR 階段

具體執行的連鎖反應:

  1. 修改 Codeagy 收到任務,修改了 src/components/UserCard.tsx
  2. Hook 瞬間鉤住:觸發 post-edit 事件,系統直接接管。
  3. Lint 掃描:自動跑 eslint,確保排版與語法規範 100% 符合團隊標準。
  4. Test 驗證:自動呼叫 vitestjest,確保剛改的 Code 沒有把旁邊的模組用到壞掉。
  5. Review 自動報告:檢查通過後才回報給場長(工程師),若有失敗則 Hook 會直接擋下並要求 Agent 自行修正!

靈魂核心:agy Hooks 設定實戰範例

在 Antigravity 中,Hooks 可以配置在專案根目錄的 .agy/config.json.agy/hooks.json 中 [cite: 10, 13]。你可以監聽不同生命週期事件(例如 post-editpre-commit),並指定自動執行的 Shell 指令:

1. 軟體工程實戰:.agy/hooks.json

這是一份真實可用的 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 流程!

2. 智慧養豬場自動洗槽:.agy/pig-farm-hooks.json(對照組)

如果把這套 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]。

養豬場 vs 軟體工程:Hooks 機制大對照

比較維度 智慧養豬場 (Smart Farming) agy Hooks 自動化防線 (Software Pipeline)
觸發時機 (Trigger) 豬隻進食完畢 (post-meal) Agent 完成檔案修改 (post-edit / pre-commit) [cite: 10]
自動觸發動作 高壓自動沖洗與水質檢測 [cite: 10] 自動執行 ESLint --fixtsc 型別檢查 [cite: 10]
品質阻擋 水質不達標 ➔ 鎖定區域並通報警報 [cite: 10] 測試失敗 ➔ 阻擋變更並退回要求 Agent 自行修正 [cite: 10]
效益 零人工介入,確保豬舍環境永遠清潔 防止垃圾程式碼與潛在 Bug 溜進專案
  • 以前:改完 Code 要自己手動敲 Lint、手動跑測試,經常忘記就直接 Push 上去壞掉。
  • 現在:把關全交給 agy Hooks,改完瞬間自動檢查,讓自動化形成真正的閉環!

結語:用 Hooks 打造不流於人治的自動化品質防線

擁有了 agy CLI 的執行力、Agent Skills 的 SOP、Hooks 的自動品質防衛門禁,你的 AI 工作流才算真正具備了「自我修正與品質把關」的能力。

工程師不再需要當整天盯著細節的校對員,而是成為訂立規則與 Hook 機制的系統設計師!

📝 本日實作作業:

嘗試在專案中設定一個簡單的 .agy/hooks.json,讓它在 post-edit 時自動執行 npx eslint --fix ${FILE_PATH} [cite: 10],體驗改完 Code 瞬間自動觸發連鎖檢查的順暢感!

雖然但是,AI 很方便了我們卻還是要常常交辦同樣的任務,明天 Day 19,我們來看看怎麼樣做才可以更偷懶,我們明天見!


上一篇
豬會吃會跑但不會開 GitHub!MCP 讓 AI 長出雙手
系列文
前端三分鐘 X 要轉職養豬還是做被取代的工程師?用 Google AI 打造我的 AI 雙刀流自動化工作流18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言