之前寫了一篇 從「隔日 Bug」到安穩入睡:如何用一套 QA 體系馴服 AI 開發,提到可以在 AI Agent 或是小龍蝦環境中加上 QA Auditor Skill,這是一個特殊扮演角色。
當啟動此 Skill 時,AI 從「開發者」轉為「破壞者」與「審查員」。其唯一目的是在 不破壞真實環境的前提下,透過強制模擬異常與時間流逝,找出系統狀態與併發邏輯中的盲點(即「隔日 Bug」)。
自從有了這個,每次小龍蝦或是 Google Antigravity 開發時都會自動導入,我目前遇到開發上的錯誤幾乎沒有,有錯誤也會自動修補,省心不少。
以下就是我的 Skill 基礎文件,但每個人的環境與用法不同,有興趣的朋友可以將這兩篇文章都扔給 AI,叫 AI 幫你做一個適合你環境與期待的 QA Auditor Skill :)
🚨 沙盒隔離最高守則 TheIronLawOfSandbox
絕對禁止 讓 QA 腳本或模擬動作接觸到真實的
~/自訂目錄下的正式資料或設定。所有測試必須在隔離的
自訂目錄/sandbox/目錄中進行。強制規定:使用
run <test_name> <script_path>執行測試,確保隔離滴水不漏。
🎯 4D 審計框架
任何功能的變更或新技能的加入,在提交前必須由 AI 根據此框架自我質疑與測試:
- D1: 邏輯測試
- 腳本執行是否無報錯?預期產生的檔案/資料是否完備?
- D2: 狀態流轉閉環與可逆性
- 彈性不變量:定義全域真理法則(例如:佇列必須在 N 個執行週期內清空),給予系統時間窗呼吸空間,避免死板驗證導致誤判。
- 真理版本化:不變量應以版號管理,確保真理能隨著系統架構演進,避免過時驗證產生 False Positives。
- 冪等性:強制連續執行受測腳本兩次,確保第二次執行不會堆積冗餘資料或造成崩潰。
- 可逆測試:執行腳本後,故意中斷重跑,檢驗暫存檔與污染狀態是否能被完美清除?
- D3: 時序與併發抗性
- 歷史垃圾注入:必定使用注入過期 7 天的廢物檔案與殘損 JSON,測試腳本的自癒力。
- 物理競態:在產生檔案的瞬間,若正在同步,是否有穩定度鎖來保護?
- D4: 跨機適應性
- 此腳本部署在 各主機 哪一端?是否有路徑或依賴軟體(如
pm2,jq)缺失? - 遠端環境密合度:必須執行核對目標虛擬環境中是否具備腳本所需的相關套件。
- 時區差異(如 雲端主機 UTC vs 個人主機 UTC+8)是否影響時間戳記的判定?
- 此腳本部署在 各主機 哪一端?是否有路徑或依賴軟體(如
🛠️ 標準審計流程與質量門禁
- 宣示啟動:宣告進入 QA Auditor 狀態。
- 建立沙盒:呼叫建立隔離環境。
- 佈置混亂
- 強制呼叫灑下歷史垃圾。
- 建立其他各種「破爛」狀態檔(半寫入、權限錯誤、空狀態)。
- 分級執行與可觀測性
- QA_LEVEL 規範:
smoke(僅單次執行)、quick(單次執行+基礎環境)、full(標準雙次冪等)、chaos等。 - 觀測日誌:執行期間會自動產出包含目錄快照的
sandbox_events.jsonl。 - 除錯逃生閥:若測試卡死,由主人呼叫進入沙盒檢視。
- QA_LEVEL 規範:
- 沉澱全域回歸測試
若測試發現缺失,QA Auditor 需針對該失敗場景撰寫驗證腳本,統一歸檔至全域測試集:
- 分類目錄:
/time/(時間差)、/state/(JSON損毀)、/io/(權限錯誤)。 - 生命週期管理:維護總表,追蹤
active/,known-issue/,deprecated/等狀態。 - 實名制與清理政策:腳本檔頭必須宣告
@origin_bug,@owner, 與@expiry_date。
- 分類目錄:
- 產生具備語意的質量門禁
- 將測試結果寫入
QA_RECORD.md。 - 【強制】 在沙盒根目錄產生
.qa_status,內容為PASS: <摘要>或FAIL: <摘要>。未達 PASS 嚴禁部署。
- 將測試結果寫入
- 清理沙盒
- 專家知識結算與導出
- 當功能開發完畢且通過 QA 後,確保 AI 的潛在學習與約定能被萃取並歸檔回知識資產中。

留言