看到 OpenAI 這篇 Harness engineering,覺得非常精彩。這是 OpenAI 內部一個團隊的實戰經驗分享: 他們用 Codex agent 從空的 git repo 開始開發一個內部軟體產品(沒有說是什麼產品),有真實的內部日常用戶和外部 alpha tester。而且是一個極端實驗: 所有程式碼都由 Codex agent 寫,人類工程師一行 code 都不碰。

五個月下來,百萬行程式碼、1,500 個 PR。三個工程師起步,平均每人每天 3.5 個 PR。他們估計這比手寫快了 10 倍。文章的重點不是產品本身,而是他們在這過程中學到的 agent-first 開發方法論 — 怎麼設計環境、管理 context、執行架構品味、處理技術債,讓 coding agent 能可靠地工作。

以下摘一些我覺得最有洞察力的重點:

1. 工程師的角色徹底改變

早期進度比預期慢,不是因為 Codex 不行,而是因為環境沒準備好。Agent 缺少必要的工具、抽象層和內部結構。所以工程師的主要工作變成: 讓 agent 能做有用的事

當任務失敗時,解法幾乎不是「再試一次」,而是問「缺了什麼能力?怎麼讓 agent 看得懂、做得到?」這個思維轉換很關鍵。

2. 讓應用對 Agent 可讀

隨著程式碼產出量暴增,瓶頸變成人類的 QA 能力。他們的做法是讓更多東西對 agent「可讀」:

  • 每個 git worktree 都能獨立啟動 app,Codex 可以自己跑起來測試
  • 把 Chrome DevTools Protocol 接進 agent runtime,讓 Codex 能操作 DOM、截圖、導航
  • Logs、metrics、traces 都透過 ephemeral 的 observability stack 暴露給 agent

結果是單一 Codex 任務可以連續跑六小時以上,通常是人類在睡覺的時候。

3. AGENTS.md 是目錄,不是百科全書

這點實在心有戚戚焉。他們學到 context 管理的核心原則: 給 agent 一張地圖,不是一本千頁手冊

  • Context 是稀缺資源,塞太多反而讓 agent 抓不到重點
  • 太多指導等於沒有指導,agent 會變成在局部 pattern matching
  • 大型指令文件會快速過時,變成「有吸引力的麻煩製造器」

所以 AGENTS.md 控制在 100 行左右,只當目錄用,指向 repo 裡的 docs/ 結構化知識庫。設計文件、架構文件、品質追蹤、執行計畫都版本化放在 repo 裡。還有專門的 linter 和 CI 來驗證文件是否過時,甚至有個「doc-gardening」agent 定期掃描修正。

4. Agent 可讀性是第一優先

因為整個 repo 都是 agent 生成的,所以優化目標是 agent 的可讀性,不是人類的。

一個很實際的觀點: agent 在 context 裡看不到的東西,等於不存在。Slack 討論、Google Docs、人腦裡的知識,對 agent 來說都是黑洞。所以團隊持續把更多 context 推進 repo。

他們傾向選擇「無聊」的技術 — 組合性好、API 穩定、在訓練集裡有大量代表的。有時候甚至讓 agent 自己重寫一個簡化版的 library,而不是用外部套件,因為這樣 agent 能完全理解和控制行為。

5. 用機械化規則執行架構品味

每個業務 domain 被切成固定的分層架構 (Types → Config → Repo → Service → Runtime → UI),依賴方向嚴格驗證。這些規則全部用 custom linter 和結構測試強制執行。

有趣的是,這種通常要等到幾百人團隊才會做的架構治理,在 agent-first 的世界裡反而是早期必備: 因為約束才是讓速度不帶來腐化的關鍵。

核心哲學是: 中央強制邊界,局部允許自由。只要產出正確、可維護、對未來的 agent 可讀,就算不符合人類的風格偏好也無所謂。

6. 垃圾回收機制

Agent 會複製 repo 裡已有的 pattern,包括不好的。一開始團隊每週五花 20% 時間清理「AI slop」,但這不 scale。

後來改成把「golden principles」寫進 repo,讓背景 Codex 任務定期掃描偏差、更新品質等級、開 refactoring PR。大部分一分鐘內就能 review 完並自動 merge。

這就像 GC: 技術債是高利貸,持續小額還款比累積到痛苦爆發好得多。


以上,這篇文章最讓我有感的是工程師角色的重新定義。寫程式碼不再是核心工作,取而代之的是設計環境、制定約束、建立回饋迴路。某種程度上,這更像是在做 engineering manager 或 platform engineer 的事。

原文很長但寫得很好,推薦完整讀一遍: Harness engineering: leveraging Codex in an agent-first world