Agent 能連續工作數小時,但成功任務仍可能需要人工介入;最快解法不是讓研究人員逐步盯住畫面,而是把只讀、可逆寫入與高風險外部操作分級,於關鍵工具呼叫前暫停,保存持久狀態,再在隔離工作區完成審批後續跑。

這篇部署指南適合誰

如果你正讓 Codex 執行實驗程式碼、資料分析或長時間工具任務,這篇文章用來減少人工等待與重複執行。
如果你負責 Agent 平台、任務佇列或遠端 Mac,本文則聚焦可暫停、可轉交、可恢復,而不是重新介紹自動研究願景。

截至 2026 年 9 月 8 日,OpenAI 公開的研究披露確認,較複雜的成功任務仍經常需要人工引導;這是 OpenAI 內部研究與其測量方法的結果,不能直接當成一般團隊的成功率或效率承諾。OpenAI 研究披露 也沒有宣稱已存在一套適用所有研究 Agent 的統一接管架構。下文是根據官方 SDK 能力整理的工程實施框架。

提醒: 人工審批人只應判斷可觀察的工具名稱、參數、目標環境和影響範圍,不應被要求審查模型的隱藏推理過程。你要治理的是工具行為與外部副作用,不是猜測 Agent 沒有公開的思考內容。

動手前先把「自動」和「等待」分開

研究任務不要一開始就只分成「Agent 自己做」和「人全部批准」兩種。先把流程拆成五類可觀察動作:

  • 模型產生計畫或分析文字;
  • 修改檔案、產生程式碼補丁和暫存檔;
  • 執行 Shell、測試、資料查詢或實驗指令;
  • 提交長時間實驗、改動共享分支或消耗外部資源;
  • 向第三方系統、發布管道或團隊共用資料寫入。

接著建立三層規則,這是本文的部署設計,而不是 OpenAI 對所有團隊發布的統一政策。

自動執行: 只讀查詢、無外部寫入的分析,以及可以在一次性工作區刪除的暫存檔生成。
條件審批: 修改限制在指定工作區、可以回滾,且檔案範圍與指令符合白名單時才放行。
強制人工批准: 刪除資料、寫入共享資源、提交外部實驗、改動憑證權限或造成不可逆副作用的工具呼叫。

這樣做的好處是,審批佇列不會被低風險讀取塞滿,高風險操作也不會因為 Agent 前面幾步表現正常而被默認放行。每個審批事件至少要展示工具名稱、參數摘要、工作區、目標主機、倉庫版本、預計寫入範圍和外部副作用。

第一小時:用 OpenAI Agents SDK 建立可暫停狀態

第一小時的目標不是讓任務跑得更快,而是證明它可以在工具執行前停下來。OpenAI Agents SDK 的人工介入文件提供 interruption 相關機制,RunState 文件則說明如何保存和恢復 Agent 執行狀態;你應以當前文件為準核對介面,而不要把網路範例當成永遠不變的 API。OpenAI Agents SDK 人工審批文件 與 RunState 參考文件 可作為實作依據。

狀態物件應至少包含:

  • 待批准工具呼叫及其參數摘要;
  • 任務版本、提示版本和工具 Schema 版本;
  • 程式碼工作區識別碼與目標執行環境;
  • 已完成步驟、最近一次可驗證的結果和下一個預定動作;
  • 審批狀態、審批人、拒絕原因與恢復結果。

不要把整個狀態只放在研究人員的終端機、瀏覽器分頁或聊天會話。應寫入應用程式資料庫或持久佇列,並把 API 金鑰、倉庫 Token、短期憑證和不應跨任務傳遞的敏感資料排除在外。SDK 的 Context、Results 與執行文件可協助你區分執行上下文、結果和任務本身,避免把秘密資料誤當成可恢復的業務狀態。Context 文件 和 Results 文件 都應在這一層一併核對。

停止條件: 只要服務重啟後找不到待審批工具呼叫,或恢復時無法確認工作區版本,就不要擴大任務權限。先修復狀態持久化,再進入試運行。

首次試運行:只接入能回滾的工作

首批任務選擇程式碼補丁、暫存檔生成或只讀實驗查詢,不要直接連接共享分支、正式資料庫或會產生長期費用的外部系統。試運行要刻意測試三條路徑:

  1. 批准:工具在審批完成後才執行,結果回到原任務狀態。
  2. 拒絕:任務安全結束,或由 Agent 重新規劃較低風險方案。
  3. 長時間無人處理:佇列保留待辦狀態,不重複呼叫工具,也不因逾時自行升級權限。

每次測試保存工具名稱、參數摘要、工作區識別碼、審批身份、決定時間與恢復結果。拒絕不能被包裝成一般網路錯誤,否則重試策略可能把原本被禁止的副作用重做多次。對於可重試工具,也要區分「未執行」「已執行但未回傳結果」和「結果已寫入」三種狀態,避免恢復時重複提交實驗。

這裡的驗收重點不是 Agent 是否說出合理的自然語言,而是工具是否真的在批准前保持未執行。OpenAI 的執行與串流文件可用來核對事件順序、執行結果與串流輸出如何被應用層接收,但不能據此推論外部系統一定具備冪等性。執行 Agent 文件 提供的是 SDK 執行方法,不是外部副作用的自動消除方案。

首日:把審批佇列接到隔離工作區

多個 Codex 任務並行時,最危險的錯誤不是審批人看不懂說明,而是他在錯誤的主機、分支或工作區上放行。每個任務都要有唯一可識別的工作區與執行環境,審批介面不能只顯示 Agent 生成的自然語言摘要。

你可以按任務特性分流:

  • 一般資料整理、測試和短期實驗:使用一次性工作區,完成後清理產物與憑證。
  • 需要 macOS、Xcode、桌面工具或實際螢幕互動:進入隔離的雲端 Mac 工作區,將主機識別碼、macOS 狀態、專案版本和清理責任綁定到任務。
  • 需要共享資料或長期保存結果:使用獨立持久環境,但把寫入共享資源的動作提升至強制人工批准。

若你正在設計研究 Agent 的隔離執行層,可以參考 AI Agent 與 Mac 裝置或節點的配置思路;如果任務還會同時執行容器和原生工具,則應先區分工作區邊界,而不是把所有程式都堆在同一台主機上。

審批前顯示的內容至少包括:目標環境、倉庫或資料版本、即將寫入的路徑、指令參數、預計外部副作用及清理方式。批准之後仍要由執行層再次核對這些欄位,不能只相信前端傳回的一個「已批准」布林值。

四十八小時:驗證轉交、逾時與跨機恢復

到了四十八小時,測試重點從「能不能暫停」轉成「換人、換機、換版本後還能不能安全接手」。至少模擬以下情況:

  • 原審批人離線,另一名授權人接管;
  • Agent 程序重啟,待審批事件仍存在;
  • 任務狀態從一台主機恢復到另一台主機;
  • 工具定義、提示版本或工作區內容在等待期間發生變化。

審批等待期間應凍結關鍵輸入版本。恢復時重新比對模型、提示、工具 Schema、工作區識別碼和倉庫版本;只要其中一項發生漂移,就重新規劃或重新審批,不要直接套用舊決定。RunState 能保存執行狀態,不代表它能判斷外部檔案、遠端 Mac 或第三方服務是否已被其他流程改動。

任務轉交也要有責任邊界:接管人看到的是尚未執行的工具動作、已完成的證據和待確認的影響範圍,而不是一段無法驗證的長篇摘要。若你需要長時間保持遠端環境,先閱讀 雲端 Mac 上的 AI Agent 工作區部署文章,再決定要用一次性工作區還是持久環境。

部署驗收清單:先通過阻斷,再增加並發

以下清單適合在首週逐項留下證據;每一項都應能由日誌、審批紀錄或恢復結果驗證,而不是由 Agent 自己宣稱完成。

  • [ ] 已將模型推理、檔案修改、Shell、實驗提交和外部寫入分開建模。
  • [ ] 已為只讀、可逆寫入和高風險操作建立不同的批准規則。
  • [ ] 已證明高風險工具在批准前沒有執行。
  • [ ] 已把待審批工具呼叫、任務版本、工作區識別碼和已完成步驟寫入持久層。
  • [ ] 已排除 API 金鑰、倉庫 Token 和短期憑證等敏感資料。
  • [ ] 已測試批准、拒絕與長時間無人處理三條路徑。
  • [ ] 已讓拒絕導向安全結束或重新規劃,而不是無限重試。
  • [ ] 已將每個並行任務綁定到正確的程式碼工作區和執行環境。
  • [ ] 已測試原審批人離線、Agent 重啟與跨機恢復。
  • [ ] 已在模型、提示、工具 Schema 或工作區漂移時要求重新審批。
  • [ ] 已記錄介入原因、等待時間、拒絕結果、重複副作用和獨立復測結論。
  • [ ] 只有在狀態恢復、權限阻斷、工作區隔離和結果複核同時通過後,才擴大任務長度或並行數。

第一週不要用 OpenAI 內部研究資料替你的團隊設定成功率目標。你應該按任務類型觀察哪些操作最常需要介入、哪些拒絕會造成重新規劃、哪些工作區清理不完整,再決定維持人工審批、加入規則化自動批准,或增設獨立遠端執行環境。

FAQ:接管責任與恢復邊界

研究 Agent 哪些工具操作先等人工批准?
只讀查詢通常可自動執行;限制在指定工作區、可回滾的修改可採條件審批。刪除資料、寫入共享分支、提交外部實驗、修改權限或呼叫具有不可逆副作用的工具,應在執行前強制批准。審批人只看工具參數和影響範圍,不需要接觸隱藏推理。

Agent 暫停後怎樣從原任務繼續?
把待審批呼叫、任務與提示版本、工作區識別碼、已完成步驟和執行結果保存至資料庫或持久佇列。恢復時重新核對工具 Schema、目標環境和工作區內容;若版本已漂移,就重新規劃或建立新審批事件,而不是盲目重播舊呼叫。

多個 Codex 任務如何安排人工接管?
不要讓所有任務共用一個無責任人的審批頻道。每個任務應帶有風險等級、工作區、目標環境和目前負責人;低風險任務可由值班人員批次處理,高風險任務則分派給具備相應權限的人員,並留下轉交、批准和拒絕紀錄。

遠端 Mac 任務遭拒絕後是否能安全恢復?
可以,但前提是拒絕前沒有產生不可逆副作用,且工作區和工具輸入仍然一致。先保存拒絕原因與參數摘要,讓任務安全結束或重新規劃;若主機狀態、程式碼版本、提示或工具定義改變,必須重新審批。拒絕不應觸發無限自動重試。

你現有的開發機,未必適合長時間接管

直接在現有開發機上跑研究 Agent,初期看似省事,但通常有幾個實際缺點:多個任務會爭用同一個工作區,審批人難以確認到底是哪個程序在寫檔;研究人員關閉終端機或離開後,狀態與接管責任容易中斷;需要 macOS、Xcode 或桌面工具的任務又會和日常開發互相干擾,清理不完整時還可能把憑證與暫存資料留在共用環境。

因此,完成首輪暫停、拒絕和恢復測試後,你可以按任務類型盤點隔離工作區需求:短期可逆試驗保留一次性環境,需長時間執行或使用 Xcode 的任務則考慮雲端 Mac。若本地設備無法長期保留獨立工作區,先參考 MacPull 的服務入口,再按實際任務決定是否建立按需試驗池;對需要固定高負載、實體介面或長期穩定運行的團隊,自購設備仍可能比租用更合適。

最後更新於 2026 年 9 月 8 日;研究範圍與人工介入表述核實自 OpenAI 研究文章,SDK 的 interruption、審批與 RunState 能力核實自 OpenAI Agents SDK 文件。若 SDK 介面、官方測量報告或統一接管框架更新,應重新檢查本文的恢復與審批假設。

常見問題

研究 Agent 哪些動作應先停下來等人批准?

只讀查詢通常可以自動執行;可回滾的檔案修改可在工具參數符合規則時進入條件審批。會寫入共享分支、刪除資料、提交外部實驗、呼叫付費服務或改變遠端環境的操作,應在工具執行前要求授權人批准,審批內容只需涵蓋參數、目標與副作用。

Agent 在審批暫停後,怎樣接續原本的工作?

不要依賴聊天視窗或研究人員的終端機。應把待批准的工具呼叫、任務版本、工作區識別碼、已完成步驟和必要執行結果保存到持久化資料庫或佇列;恢復時重新核對模型、提示、工具 Schema 和工作區版本,確認沒有漂移後才繼續。

多個 Codex 任務怎樣分配人工接管責任?

每個任務都要有明確的工作區、目標環境、風險等級和目前審批人,不能只用一個共享聊天頻道排隊。低風險查詢可由值班人員批次處理;涉及共享資源或外部寫入的任務則指定具備相應權限的接管人,並保留轉交和拒絕紀錄。

遠端 Mac 上的長任務被拒絕後,還能安全恢復嗎?

可以,但拒絕不能被當成一般網路錯誤重試。先保存拒絕原因和當時的工具參數,再讓 Agent 安全結束或重新規劃;若工作區、提示、工具定義或目標環境已改變,必須產生新的審批事件。只有確認未產生不可逆副作用,才可從持久狀態恢復。

延伸閱讀