Codex, Behind the Harness — Dominik Kundel, OpenAI
三句話摘要
Codex Harness 的架構設計與代理執行框架——從協議層到自動化決策。 即使選擇不同的 Harness 實現,響應 API 所暴露的工具搜尋、apply patch、WebSocket 和伺服器端壓縮等特性都能直接移植到自己的代理系統中,成為提升效能與可控性的通用工具集。 開放生態的雙層通訊架構。 應用伺服器協議連接 UI 與 Harness,響應 API 負責 Harness 與推理模型的通訊。這套設計讓第三方開發者可以基於同一協議構建自己的代理介面,Codex 本身、Cloud Code 外掛、甚至 Doom 遊戲都建立在這個基礎上。同時與 Ollama、LM Studio、NVIDIA 等夥伴共同制定開放響應模式規範,使生態不被單一提供者綁定。
重點整理
重點- 1
開放生態的雙層通訊架構。 應用伺服器協議連接 UI 與 Harness,響應 API 負責 Harness 與推理模型的通訊。這套設計讓第三方開發者可以基於同一協議構建自己的代理介面,Codex 本身、Cloud Code 外掛、甚至 Doom 遊戲都建立在這個基礎上。同時與 Ollama、LM Studio、NVIDIA 等夥伴共同制定開放響應模式規範,使生態不被單一提供者綁定。
- 2
成本與效能的上下文優化策略。 延遲工具(deferred tools)將不常用工具排除於初始上下文外,透過工具搜尋按需載入;技能清單硬上限設在最大上下文窗口的 2%,超過時自動縮減描述長度。這種分層策略既防止 token 預算超支,又避免過多資訊對模型造成的邏輯混亂。
- 3
三層行動系統兼顧靈活性與安全邊界。 異步任務允許代理委派工作後繼續運作(如生成子代理);電腦使用從單一操作進化到代理自寫腳本(Playwright JavaScript),加速複雜互動;檔案系統操作透過 Seatbelt(macOS)、Bubblewrap(Linux)、自開發沙箱(Windows)隔離執行。
- 4
自動審查模式平衡代理自主性與風險控制。 當代理嘗試刪除檔案等高危操作時,獨立的自動審查子代理會評估使用者授權層級、操作風險程度與必要性,在無須人工干預的情況下核准合理操作(如刪除 .git),拒絕非預期行為(如無故刪除歷史)。
實用技巧與重點
乾貨- 協議與架構
- 應用伺服器協議(app server):UI ↔ Harness
- 響應 API(responses API):Harness ↔ 推理模型
- 開源授權:Apache 2
- 程式語言:Rust(Harness 核心)、TypeScript(Nano Codex 演示版)
- 上下文優化機制
- 延遲工具:標記為 deferred 的工具在工具搜尋時按需載入
- 技能清單上限:最大上下文窗口的 2%
- GPT-5.4 起支持延遲工具標記功能
- 三類代理行動
- 異步任務:spawn agent tool、send input tool、等待機制
- 背景終端:新建背景終端,持續透過 stdin 互動
- 電腦使用:從單一操作進化為代理寫程式碼(JavaScript/Python),Node REPL 持久化整個對話週期
- 瀏覽器使用:Chromium + Playwright JavaScript 腳本
- 檔案系統互動
- apply patch tool:編輯檔案(diff)、建立新檔
- shell tool:檔案搜尋、目錄導覽
- 預建 ripgrep 工具隨 Harness 發行(若使用者未安裝)
- Windows 原生 PowerShell 支持
- 沙箱隔離:macOS Seatbelt、Linux Bubblewrap、Windows 自開發沙箱
- 自動審查子代理
- 讀權限專用(無法生成其他子代理)
- 評估項目:使用者授權層級、操作風險分類、行動必要性
- 自動核准低風險操作,拒絕資料外洩行為
- 效能優化
- GPT-5.3 Codex Spark @ Cerebras:1,000 tokens/sec
- 瓶頸轉移:推理速率 → 網路延遲
- WebSocket 模式:持久連接、只傳送變更資料(增量更新)
- 示例對比:HTTP 模式回傳 9 項資料,WebSocket 模式回傳 1 項
- 目標循環(/slash goal)
- 注入延續提示語:包含使用者設定的目標
- 循環條件:代理調用 update goal tool 宣告目標達成
- 最佳實踐:設定具體可驗證的目標,避免模糊的長文本
- 自動壓縮(auto compaction)
- 觸發時機:手動或自動(推薦長時間運行任務使用自動模式)
- 機制:將前序上下文轉換為新上下文,內含壓縮項目保留必要資訊
- 模型訓練支持:保持多輪對話效能穩定
- 生態整合案例
- 第三方客戶端:Tost3 Code、RemoteX
- IDE 外掛:Cloud Code 整合 Codex
- 遊戲:Doom 遊戲內整合(同應用伺服器協議)
- 開放標準夥伴:Ollama、LM Studio、NVIDIA
結論
結論“即使選擇不同的 Harness 實現,響應 API 所暴露的工具搜尋、apply patch、WebSocket 和伺服器端壓縮等特性都能直接移植到自己的代理系統中,成為提升效能與可控性的通用工具集。”
完整解析
詳細Codex Harness 是一個開源的代理執行框架,採用兩層通訊設計來支持不同場景的需求。底層是應用伺服器協議,負責使用者介面與 Harness 的通訊,允許任何第三方開發者構建自己的前端應用;上層是響應 API,定義 Harness 與推理模型之間的互動規範。這套雙層架構的關鍵優勢在於開放性——Codex 官方應用、Cloud Code IDE 外掛、甚至社群專案都基於同一套協議構建,而且講者團隊與產業夥伴共同維護開放的響應模式規範,確保生態不會被單一提供者綁定。
在代理實際執行任務前,系統必須構建適當的上下文。這是三個維度的平衡:大小(避免 token 超支和邏輯混亂)、靈活性(適應不同數量的技能與 MCP 外掛)、成本控制。講者展示的 Nano Codex 演示版本揭示了具體做法——使用延遲工具機制將不頻繁使用的工具排除於初始上下文,改為透過工具搜尋按需載入;對於使用者安裝的所有技能,系統設定硬上限為最大上下文窗口的 2%,超過時自動縮減描述文本而非簡單截斷。這些細節看似瑣碎,但對長期執行的複雜任務至關重要。
代理的價值在於能執行三類不同的行動。異步任務允許代理在後台生成子代理處理特定工作,同時主代理繼續推進其他邏輯;電腦使用的進化歷程特別值得注意,從早期的單一操作限制演進到代理自寫 JavaScript 或 Python 腳本,使其能像真人一樣先查看頁面結構再批量操作,顯著加速複雜互動。檔案系統操作則透過多層沙箱隔離——macOS 用 Seatbelt、Linux 用 Bubblewrap、Windows 需要自開發沙箱(因為平台限制)——確保代理行為不會無意間破壞系統。
最有趣的創新是自動審查模式。當代理嘗試執行高風險操作(如刪除檔案)時,系統會自動生成一個獨立的審查子代理,它只有讀權限、無法再生成其他子代理。這個審查代理會評估三個關鍵維度:使用者是否明確授權了這個操作、操作本身的風險程度、以及完整的任務上下文。藉著這些資訊,審查代理能夠在大多數情況下自動核准合理的操作(例如使用者明確要求刪除專案檔案時,刪除 .git 資料夾是有道理的),同時拒絕可疑行為(如在沒有明確指示下刪除歷史紀錄)。這個設計巧妙地解決了完全自動化帶來的風險,又避免了頻繁打斷使用者進行人工審核的困境。
隨著模型推理速度加快(GPT-5.3 Codex Spark 在 Cerebras 上達到 1,000 tokens/sec),性能瓶頸從推理轉移到了網路延遲。為此,講者團隊引入了 WebSocket 模式替代傳統的 HTTP 伺服器發送事件。關鍵改進是增量更新——系統只傳送發生變化的資料(如一個工具調用的結果),而非每次都回傳整個資訊集。演示中的對比清晰可見:HTTP 模式在某些情況下需要回傳九項資料,而 WebSocket 模式只需回傳一項,這種積累效應在長時間對話中能顯著改善使用者體驗。
對於需要持續運行數小時或數天的長期任務,系統支持自動壓縮機制。不同於傳統方式需要人工逐一審核上下文,自動壓縮會在適當時機將整個對話歷史轉換為精簡的摘要上下文,包含一個壓縮項目來保留所有必要資訊,而且模型已經在這種壓縮格式上接受訓練,所以多輪對話的性能保持穩定。最後,講者提到的目標循環(/slash goal)機制讓代理能自動尋求目標達成,只要目標定義具體可驗證(而非含糊的長文本),系統就能透過自動注入延續提示語來驅動代理直到自己宣告完成。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


