【手把手】把 Agent Loop 寫成能自跑的檢查流程

作者:竇竇的AI工具庫
日期:2026年6月16日 下午10:38
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

用目標、檢查、退出、輪數四要素建立自動化Agent Loop,讓Claude CodeCodex自行運行檢查並停在明確結果。

整理版摘要

呢篇文章係作者分享點樣將agent loop寫成可以自動運行嘅檢查流程,用喺Claude CodeCodex呢啲AI工具。作者想解決嘅問題係每次都要臨場寫一大段指令,效率好低。而家只需要填四個要素:目標、檢查命令、退出條件、輪數上限,就可以整出一張任務卡。整體結論係呢個loop可以大幅節省時間,關鍵係CheckExit要寫得具體,同時要有Max loops做安全閥。

文章介紹咗幾個常見場景模板,例如Ship PR Until Green,流程包括拎spec、改code、跑測試、開PR、監察CI至全綠。CI Failure Watcher係每5分鐘查一次CI,紅咗就自動修復。Guardrails Learning Loop更加聰明,同一種失敗出現兩次就會寫入guardrails文件,避免重複錯路。Pre-Commit Guard係hook-based,每次提交前自動檢查,紅咗就攔住。呢啲模板覆蓋咗唔同使用場景。

最後作者建議由一個最煩嘅重複任務開始,先用最小模板跑通一次,確認效能提升之後先擴展到其他場景。重點唔係模板本身,而係背後嘅四行要素:目標、檢查、退出、輪數。只要掌握呢個結構,就可以適應各種自動化需求。

  • 結論Agent Loop嘅核心係「目標、檢查、退出、輪數」四要素,Check同Exit要具體可執行。
  • 方法:先揀一個有明確結果嘅任務(例如修到npm test通過),再寫本機可執行嘅檢查命令,最後定退出條件同失敗規則。
  • 差異:傳統prompt靠AI自己理解「完成」,loop用機器命令判斷進度,減少模糊空間。
  • 啟發Guardrails Learning Loop會記錄失敗模式,避免重複錯路,係提升效率嘅關鍵一步。
  • 可行動點:由一個最煩嘅重複任務開始,用最小模板跑通一次,再複製去其他場景。
值得記低
Prompt

Agent Loop 最小模板

Goal: 實現用戶資料頁的頭像上傳功能 Check: npm test && npm run lint Exit: 所有檢查通過,並說明改了哪些文件 Max loops: 10 Rules: 每輪失敗後先讀錯誤日誌,不要重複同一種修法

整理重點

Agent Loop 嘅四要素:目標、檢查、退出、輪數

呢個寫法可以令 Claude CodeCodex 自己改 code、自己跑檢查、自己停喺明確結果。以前每次都要臨場寫一大段,而家只需要填四個嘢:目標、檢查命令、退出條件、輪數上限。呢個就係 agent loop,其實係一張任務卡。

四個嘢:目標、檢查命令、退出條件、輪數上限

最小模板 text
Goal: 實現用戶資料頁的頭像上傳功能
Check: npm test && npm run lint
Exit: 所有檢查通過,並說明改了哪些文件
Max loops: 10
Rules: 每輪失敗後先讀錯誤日誌,不要重複同一種修法

重點唔係「請你努力完成」,而係 Check 同 Exit。Check 係機器能跑嘅命令,例如測試、lint、typecheck、構建、CI 查詢。Exit 係停下來嘅標準,例如「測試通過」「PR checks 全綠」。Max loops 係安全閥,10 輪仲唔得就停,睇日誌或者俾人接手。

CheckExit

Max loops 係安全閥

整理重點

常見場景模板,直接套用省時間

例如 Ship PR Until Green。呢個 loop 嘅流程係:拎 feature spec,改 code,跑測試,推分支,開 PR,再用 gh pr checks 睇 CI。如果紅咗,讀失敗項,繼續修,最多 10 輪。適合已經有測試同 CI 嘅項目。

Ship PR Until Green

  • CI Failure Watcher:每 5 分鐘查一次 CI,若某個 run 紅咗就去讀日誌,本地修復再推上去。適合長期分支或團隊趕版本時用。
  • Guardrails Learning Loop:如果同一個檢查連續失敗兩次,會將失敗模式寫入 guardrails 文件,下一輪先讀文件。呢步別省,好多 agent 因為反覆行同一條錯路而失敗。
  • Pre-Commit Guard:係 hook-based,每次提交前自動跑檢查,紅咗就攔住提交。適合放 project root,一次裝好以後唔使再提醒 agent。

呢啲模板覆蓋咗唔同場景,由 CI 監控到預提交檢查,都可以直接用或者改少少。

整理重點

自己寫 loop 嘅步驟同注意事項

自己寫 loop 時,可以按呢個順序來。先揀一個有明確結果嘅任務。唔好由「幫我優化項目」開始,太大。揀「修到 npm test 通過」「將 PR checks 修綠」「提交前跑完 lint」呢類。再寫檢查命令。命令必須能在本機跑。唔好寫「檢查一下有冇問題」,要寫 npm test、npm run lint 等。然後寫退出條件。越具體越好。最後寫失敗規則。

呢個順序

有明確結果嘅任務

檢查命令

退出條件

失敗規則

  1. 1 先揀一個有明確結果嘅任務。唔好由「幫我優化項目」開始,太大。揀「修到 npm test 通過」「將 PR checks 修綠」「提交前跑完 lint」呢類。
  2. 2 寫檢查命令。命令必須能在本機跑。唔好寫「檢查一下有冇問題」,要寫 npm test、npm run lint、npm run typecheck、gh pr checks。
  3. 3 寫退出條件。越具體越好,例如「所有命令退出碼為 0,並列出修改文件」。如果要開 PR,就寫「PR 已創建,checks 全綠」。
  4. 4 寫失敗規則。例如:同一種錯誤出現兩次,就寫入 guardrails.md;每輪開始前先讀 guardrails.md;唔好修改無關文件;如果需要密鑰或登錄,停低並說明卡點。

寫到呢度基本就能跑。先唔好急住套 40 個模板,揀一個你最煩嘅重複任務,跑通一次。

整理重點

由一個任務開始,擴展成自動化習慣

真正有用的是那四行:目標、檢查、退出、輪數

記住,核心唔係模板而係四要素。先從一件小事開始,跑通一次循環,你就會發現 agent loop 嘅威力。之後自然可以應用到更多場景。

用呢個寫法,你可以俾 Claude Code 或者 Codex 自己改、自己跑檢查、自己停喺明確結果度。

原來每次都要臨場寫一大段。而家只係填四個嘢:目標、檢查命令、退出條件、輪數上限。

呢個就係 agent loop。個名聽落好大,其實係任務卡。

呢張卡會要求 agent 一輪一輪咁執行,直到檢查通過,或者達到上限。

一個最細嘅模板係咁樣:

Goal: 實現用戶資料頁的頭像上傳功能
Check: npm test && npm run lint
Exit: 所有檢查通過,並說明改了哪些文件
Max loops: 10
Rules: 每輪失敗後先讀錯誤日誌,不要重複同一種修法

圖片

你睇,重點唔係「請你努力完成」。重點係 Check 同 Exit。

Check 係機器可以執行嘅命令。例如測試、lint、typecheck、構建、CI查詢。

Exit 係停低嘅標準。例如「測試通過」「PR checks 全綠」「提交前檢查冇紅項」。

Max loops 係安全閥。唔好俾 agent 無限修落去。10 輪都唔得,就應該停低讀日誌,或者俾人接手。

呢類網站真正省事嘅地方,係將常見場景都寫成現成模板。你唔使每次重新諗。

例如 Ship PR Until Green。

呢個 loop 嘅流程係:拎 feature spec,改代碼,跑測試,推分支,開 PR,再用 gh pr checks 睇 CI。如果紅咗,讀失敗項,繼續修。最多 10 輪。

啱咩時候用?

圖片

適合你已經有測試同 CI 嘅項目。冇測試都可以跑,但效果會差好多,因為佢冇辦法判斷自己係咪修啱咗。

再睇 CI Failure Watcher。

佢每 5 分鐘查一次 CI。只要某個 run 紅咗,就去讀日誌,揾原因,本地修復,再推上去。

呢個思路適合長期分支,或者團隊正在趕一個版本嘅時候用。你唔使一直睇實個頁面。

Guardrails Learning Loop 更加有意思。

如果同一個檢查連續失敗兩次,佢唔係只係繼續試。佢會將呢個失敗模式寫入 guardrails 文件。下一輪先讀呢個文件。

呢一步唔好慳。好多 agent 失敗,唔係因為唔識改,而係因為重複行同一條錯路。你叫佢寫低「唔好再咁做」,下一輪就少啲浪費時間。

Pre-Commit Guard 係另一類。

佢唔係 prompt-only,而係 hook-based。裝好之後,每次提交前自動跑檢查。紅咗就攔住提交。

呢類適合放入項目根目錄。一次裝好,以後唔使每次提 agent。

圖片

你自己寫 loop 嘅時候,可以跟呢個順序做。

先揀一個有明確結果嘅任務。

唔好從「幫我優化項目」開始。太大咗。揀「修到 npm test 通過」「將 PR checks 修綠」「提交前跑完 lint」呢類任務。

再寫檢查命令。

命令必須可以喺本機跑。唔好寫「檢查一下有冇問題」。要寫:

npm test
npm run lint
npm run typecheck
gh pr checks

然後寫退出條件。

退出條件越具體越好。例如「所有命令退出碼係 0,仲要列出修改文件」。如果要開 PR,就寫「PR 已經創建,checks 全綠」。

最後寫失敗規則。

比如:

如果同一種錯誤出現兩次,把它寫入 guardrails.md。
每輪開始前先讀 guardrails.md。
不要修改無關文件。
如果需要密鑰或登錄,停止並說明卡點。

寫到呢度,基本上就可以跑。

先唔好急住套 40 個模板。揀一個你最煩嘅重複任務,成功跑一次。等你確認呢個 loop 真係可以慳時間,再將佢複製到其他場景。

圖片


模板只係起點。真正有用嘅係嗰四行:目標、檢查、退出、輪數。

用這個寫法,你可以讓 Claude Code 或 Codex 自己改、自己跑檢查、自己停在明確結果上。

原來每次都要臨場寫一大段。現在只填四個東西:目標、檢查命令、退出條件、輪數上限。

這就是 agent loop。名字聽着大,其實是任務卡。

這張卡會要求 agent 一輪一輪執行,直到檢查通過,或者達到上限。

一個最小模板長這樣:

Goal: 實現用戶資料頁的頭像上傳功能
Check: npm test && npm run lint
Exit: 所有檢查通過,並說明改了哪些文件
Max loops: 10
Rules: 每輪失敗後先讀錯誤日誌,不要重複同一種修法

圖片

你看,重點不在「請你努力完成」。重點是 Check 和 Exit。

Check 是機器能跑的命令。比如測試、lint、typecheck、構建、CI 查詢。

Exit 是停下來的標準。比如「測試通過」「PR checks 全綠」「提交前檢查沒有紅項」。

Max loops 是安全閥。別讓 agent 無限修下去。10 輪還不行,就該停下來讀日誌,或者讓人接手。

這類網站真正省事的地方,是把常見場景都寫成現成模板。你不用每次重新想。

比如 Ship PR Until Green。

這個 loop 的流程是:拿到 feature spec,改代碼,跑測試,推分支,開 PR,再用 gh pr checks 看 CI。如果紅了,讀失敗項,繼續修。最多 10 輪。

適合什麼時候用?

圖片

適合你已經有測試和 CI 的項目。沒有測試也能跑,但效果會差很多,因為它沒法判斷自己是不是修對了。

再看 CI Failure Watcher。

它每 5 分鐘查一次 CI。只要某個 run 紅了,就去讀日誌,找原因,本地修復,再推上去。

這個思路適合長期分支,或者團隊正在趕一個版本時用。你不用一直盯頁面。

Guardrails Learning Loop 更有意思。

如果同一個檢查連續失敗兩次,它不只是繼續試。它會把這個失敗模式寫進 guardrails 文件。下一輪先讀這個文件。

這一步別省。很多 agent 失敗,不是因為不會改,而是因為反覆走同一條錯路。你讓它寫下「別再這麼做」,下一輪就少浪費時間。

Pre-Commit Guard 是另一類。

它不是 prompt-only,而是 hook-based。裝好之後,每次提交前自動跑檢查。紅了就攔住提交。

這類適合放進項目根目錄。一次裝好,以後不用每次提醒 agent。

圖片

你自己寫 loop 時,可以按這個順序來。

先選一個有明確結果的任務。

不要從「幫我優化項目」開始。太大了。選「修到 npm test 通過」「把 PR checks 修綠」「提交前跑完 lint」這種任務。

再寫檢查命令。

命令必須能在本機跑。不要寫「檢查一下有沒有問題」。要寫:

npm test
npm run lint
npm run typecheck
gh pr checks

然後寫退出條件。

退出條件越具體越好。比如「所有命令退出碼為 0,並列出修改文件」。如果要開 PR,就寫「PR 已創建,checks 全綠」。

最後寫失敗規則。

比如:

如果同一種錯誤出現兩次,把它寫入 guardrails.md。
每輪開始前先讀 guardrails.md。
不要修改無關文件。
如果需要密鑰或登錄,停止並說明卡點。

寫到這裏,基本就能跑。

先不要急着套 40 個模板。挑一個你最煩的重複任務,跑通一次。等你確認這個 loop 真的能省時間,再把它複製到其他場景。

圖片


模板只是起點。真正有用的是那四行:目標、檢查、退出、輪數。