上一篇談的是為什麼工程工作愈來愈常往 Codex 移。再往下問一步,問題會變得更實際:同樣一句「把這個登入測試修到過」,丟進一般聊天視窗和交給 Codex,工作過程為什麼差這麼多?
如果聊天視窗沒有直接接上你的 repo 和執行環境,模型一樣可以幫忙讀錯誤、看程式碼、推測原因;只是檔案要人貼進去,修改要人套回 repo,測試也要人自己跑,再把新的結果搬回對話。那個循環主要靠人在搬。
Codex 把其中很多接縫接了起來。它可以自己找檔案、讀 repo、執行 terminal、改 code、拿到測試結果,再根據新的結果往下一步走。模型仍然負責判斷,但它不再孤零零地只吐出一段文字。
OpenAI 把模型外面這套東西叫做 Agent Harness。
本文的知識截止日是 2026 年 5 月 20 日。5 月 21 日之後出現的 Codex 功能,不放回這篇歷史文章裡。
一句「把測試修過」,背後有一整個工作循環
把登入測試這個例子攤開,其實是一串很普通的工程動作:先找到相關檔案,判斷問題,修改,執行測試,看輸出;如果還是失敗,再回頭修。
Codex 的 agent loop 做的,就是把這串動作接成可以反覆走的流程。模型決定下一步,Harness 負責把工具叫起來,工具碰到真正的工作環境,結果再送回模型。OpenAI 在 2026 年 1 月公開的 Unrolling the Codex agent loop 裡,拆的就是這個循環。

圖裡的幾個框不需要背。先抓住關係就夠了:Model 負責判斷,Context 提供題目,Tools 負責動手,Workspace 是事情真的發生的地方,Results 把現實世界的結果送回來。 Permissions 則卡在執行邊界上,決定哪些動作能直接做、哪些必須先停下來。
這也解釋了為什麼只看模型名稱,常常看不出一個 Coding Agent 實際好不好用。模型的 reasoning 和 code quality 當然重要;到了 agent workflow,context 是否正確、工具能不能用、repo 狀態是否清楚、測試能不能跑,會一起影響最後的結果。
2 月 4 日 OpenAI 公開 Codex Harness / App Server 的設計時,還補了一個很有用的角度:Web、CLI、IDE、桌面 App 可以共享同一套 Codex Harness。操作入口可以不同,真正把模型、工具、執行和狀態串起來的那層仍然是同一套系統。
App Server、MCP 和更底層的 protocol 留給後面的專文;要先理解 Harness,沒必要先鑽進架構考古。
多個 Agent 一起動手,Worktree 才會突然變重要
一個 Agent 修登入 bug 沒什麼戲劇性。三個 Agent 同時改同一個 repo,問題就來了。
假設 A 在修登入,B 升級 dependency,C 改設定頁。三個工作如果共用同一份 working directory,A 還沒收尾的檔案可能已經被 B 看見,C 跑出的測試也可能帶著別人的未完成修改。最後留下來的 diff 混在一起,review 會變得很痛苦。
Worktree 做的事情很單純:替平行工作切出各自的施工區。

2026 年 2 月 2 日推出 Codex App 時,OpenAI 就把 multi-agent、parallel work、isolated worktrees、diff review 放在同一個產品設計裡。這幾個功能擺在一起很合理:能同時派很多 Agent 只是第一步,接下來得讓它們不要互踩,還要讓人看得懂每一份修改是怎麼來的。
Skills 和 Automations 也在這個階段一起進到 Codex App。這篇不展開它們的操作細節,只要先知道它們服務的是同一件事:Codex 開始承接一段可以被安排、重複、檢查的工作,而不只是一段 code 回覆。
Git、Branch、Worktree、PR 到底怎麼分,後面會另外拆一篇。現在先把 Worktree 記成「隔離平行施工」就好。
Command Center 把人的注意力往上移
OpenAI 在 2 月推出 Codex App 時用了 command center for agents 這個說法。這個名稱描述得很準:人的注意力開始從每一條 command,往任務、diff、方向和權限移。
原本自己打 command、改檔案、跑測試的那些細節,可以交給 Agent 往下做。人留下來看的是另一層:這個任務要不要繼續、方向有沒有偏、哪一份 diff 值得接受、哪個高風險動作要批准。
於是工作會長成這樣:
- 交代任務
- 讓不同 thread 或 Agent 各自往前跑
- 看 diff、command output、test result
- 中途 steering
- 碰到權限邊界時 approve 或拒絕
這也是 Harness Engineering 那篇文章裡「Humans steer. Agents execute.」最容易落地的地方。人沒有離開流程,只是不需要再當每一步的鍵盤手。
這個分工還會反過來要求 repo 本身更清楚。文件、測試、CI、專案規則如果一團亂,Agent 能拿到的訊號也會很差。OpenAI 在同一篇文章裡把 docs、tests、CI、observability 和 feedback loop 都放進 agent-first engineering 的環境裡,原因就在這裡。
所以長任務也不該只靠模型「記住全部」。規格放在文件裡、狀態留在 repo 裡、驗收寫進測試裡,Agent 需要時重新讀。比起把整個專案永遠塞在 context window 裡,這種 externalised state 更接近正常工程工作的做法。
能做更多事之後,權限和驗收會變得更重要
Harness 把工具接得愈完整,Agent 的手就愈長。能讀寫檔案、跑 shell、用 browser、碰 network,確實能少掉很多人工搬運;同一時間,誤操作的範圍也跟著變大。
權限因此不能只當成設定頁裡的一個選項。OpenAI 5 月 8 日公開 Running Codex safely at OpenAI 時,把 sandbox 和 approval 分開談。Sandbox 劃的是技術邊界,例如可以寫哪裡、network 能不能出去;Approval 處理的是「這一步需不需要人先點頭」。模型知道怎麼執行一個 command,跟系統允許它直接執行,是兩回事。
驗收也是同樣的道理。Agent 回一句 done,對工程工作沒有太大證明力。測試有沒有過、build 有沒有成功、diff 到底改了什麼、scope 外的檔案有沒有被碰到,這些才是可以檢查的東西。
Harness 還負責把 command output、test result、diff 這些回饋接回流程。失敗可以再修,人最後也有 evidence 可以 review。OpenAI 在長任務與 Harness Engineering 的文章裡反覆強調 acceptance criteria、validation command 和 done-when 條件,背後就是這個邏輯。
Hooks 比較像「在固定時機插一個檢查」,不是新的權限層
5 月 14 日 Hooks 進入 GA 後,Codex workflow 多了一個很實際的接點:可以在 lifecycle 的特定時機掛上 validator、secret scan 或其他既有規則。ChatGPT & Codex changelog
例如一個 task 做完後,本來團隊就要求跑 secret scan,那個檢查可以接在固定 lifecycle point,不必每次都靠人記得補一句 prompt。這和 Skill 有點像,都能減少「每次重新提醒」;但 Hook 比較像事件到了就觸發某段檢查或動作,Skill 則是 Agent 在做某類工作時要遵循的一套 procedure。
Hook 也不是安全通行證。某個 validator 被叫起來,只能證明它有執行;要不要接受結果,還是得看那個 validator 實際檢查了什麼、輸出是什麼。它不會因為掛在 lifecycle 上,就自動把 done 變成可信的 completion evidence。
這一點放回 Harness 很好理解:Harness 不只把模型和 tools 接起來,也要讓 repo 裡原本存在的 checks 在對的時機出現。真正的 correctness 仍然要回到 tests、build、diff、validator output 和 acceptance criteria。
到同一個 5 月 14 日,控制面也往外延伸了一點:OpenAI 公開手機端的 Codex preview,可以從手機看 thread、terminal output、diff、test result 並進行 steering。這裡只把 Remote preview 和 Hooks 當成 5 月 20 日以前的里程碑,不往後面的 Goal 或其他功能倒灌。
把 2026 年初排成一條線,方向會清楚很多
單看 release note,1 月到 5 月像是一串互不相干的更新。排在一起之後,脈絡比較明顯:先把 agent loop 接起來,再處理多 Agent、Worktree 和共用 Harness,接著讓 repo、測試、CI 變成 Agent 能利用的工作環境;4 月擴大觀察與操作能力,5 月再把執行邊界、遠端監工和 lifecycle control 補上。

這張圖特別把 May 20 畫成截止線。它不是 Codex 發展的終點,只是這篇文章能使用的知識邊界。5 月 21 日以後的功能,留給後面的文章。
之後再看任何 Coding Agent,可以多問幾個很實際的問題:它拿得到哪些 context?有哪些 tools?工作狀態放在哪裡?多個 Agent 怎麼隔離?權限邊界在哪?它說完成時,能留下什麼 evidence?
模型仍然是整套系統裡最重要的零件之一。Codex 的日常體驗,最後落在模型怎麼跟 repo、工具、權限、驗收接起來。
下一篇會把這張地圖往日常操作拉近:Plan、Steering,以及不同操作 surface 該怎麼選。
參考資料
- OpenAI, Unrolling the Codex agent loop, 2026-01-23.
- OpenAI, Introducing the Codex app, 2026-02-02.
- OpenAI, Unlocking the Codex harness: how we built the App Server, 2026-02-04.
- OpenAI, Harness engineering: leveraging Codex in an agent-first world, 2026-02-11.
- OpenAI, Codex for (almost) everything, 2026-04-16.
- OpenAI, Running Codex safely at OpenAI, 2026-05-08.
- OpenAI, Work with Codex from anywhere, 2026-05-14.
- OpenAI, ChatGPT & Codex changelog: Hooks GA, 2026-05-14.