讓 Codex 在你睡覺時自己寫代碼 (Let Codex write code while you sleep)

原始來源與檔名:2026-05-19T092702+0800-让 Codex 在你睡觉时自己写代码.md


NAPKIN | 餐巾纸

餐巾紙公式

夜間自動化成功率 = 清晰的輸入邊界 + 限定的寫入範圍 + 明確的驗收命令

一句話

不要把 AI 當作能獨立思考產品的資深工程師,而是把它當成一個不知疲倦、但需要你發派精確「夜班工單」的底層執行者。

餐巾紙草圖

[錯誤的許願] "幫我優化專案" -> AI 猜測邊界 -> 隔天充滿 Bug 與衝突 (失敗)
[正確的派工] 定義範圍 + 定義約束 + 指定驗證命令 -> AI 嚴格執行 -> 隔天收穫確定的產出 (成功)

ROUND 1: SKELETON | 骨架掃描

章節骨架

  1. 睡前任務的致命傷: 模糊的「幫我優化」會導致 AI 無限發散。
  2. 三類最佳夜間任務: 唯讀掃描產出報告、小範圍針對性補測試、文檔與工程衛生維護。
  3. 三類絕對禁止的任務: 產品判斷過重、跨前後端的大重構、需要真實生產環境權限的操作。
  4. 實踐工具: 標準化的「夜班工單範本」與 AGENTS.md (AI 的員工手冊)。
  5. 隔日驗收紀律: 先看 Diff 範圍與測試結果,最後才看 AI 的自我總結。

ROUND 2: DISSECTION | 血肉解剖

ROUND 3: SOUL | 靈魂提取


讓 Codex 在你睡覺時自己寫代碼 (Architectural Deep Dive)

前言/背景

隨著 AI Agent 的能力提升,許多開發者幻想能實現「睡前丟需求,醒來收 PR」的完全自動化。然而,本文作者基於半年的實戰經驗指出:如果把 Agent 當作能自主決策的工程師來「許願」,只會引發災難。真正的夜間自動化需要極致的邊界管理與工程紀律,將 AI 視為一個需要明確「夜班工單」的執行者。

章節詳細總結

夜間自動化的核心條件 (睡前任务,最怕一句“帮我优化一下”)

在無人值守 (Unattended) 的狀態下,AI 一旦遇到模糊地帶就會開始「幻覺式猜測」。 架構師原則:睡前交接任務必須滿足三個絕對條件:

  1. 輸入清楚
  2. 寫入範圍清楚 (明確指定可讀與可寫的檔案清單)
  3. 驗收命令清楚 (如 npm run check)

三類高 ROI 的夜班任務 (夜间自动化的 3 类好任务)

  1. 唯讀掃描 (Read-only Scans):最安全、成功率最高。例如掃描 TODOs、風險端點、未覆蓋測試的邊界。隔日產出優先級報告供人類決策。
  2. 窄範圍補測試 (Small-scope Testing):禁止下達「提高覆蓋率」這種大而化之的指令,這會讓 AI 產出大量低價值測試。必須指定行為,例如「只針對未付費無法產生公開報告這條路徑補測試」。
  3. 文檔與工程衛生 (Documentation):例如更新 README.md 中的環境變數或啟動指令。這類任務不影響線上邏輯,隔日極易 Review。

絕對禁止無人值守的三大雷區 (3 类任务,不要睡前交给它)

  1. 產品決策過重:如「提升轉換率」。AI 無法在夜間自主進行視覺取捨與商業策略評估。
  2. 跨前後端的架構大重構:牽一髮動全身的狀態欄位修改,容易導致第二天發生毀滅性的合併衝突 (Merge Conflicts)。
  3. 涉及真實生產權限:絕對禁止夜間觸碰生產資料庫或發送真實信件。權限管理應遵循最小權限原則 (Least Privilege)。

實踐框架:夜班工單與 AGENTS.md (员工手册)

隔日驗收的標準作業程序 (第二天早上怎么验收)

人類工程師早上的驗收順序必須是防禦性的:

  1. git diff --stat:首先確認修改範圍是否失控。
  2. 檢查驗證日誌:確認自動化測試是否真實跑完且通過。
  3. 閱讀關鍵 Diff:審查具體的程式碼邏輯。
  4. 最後才看 AI 總結:AI 的總結是線索,不是事實 (Summaries are clues, not facts)。若 AI 未執行測試卻宣告完成,該任務視為無效。

總結與結論