首頁 / 部落格 / 2026 DeepSeek Ha
ENGINEERING_BLOG · 2026.08.18

2026 DeepSeek Harness 後台任務驗收指南

最後更新於 2026 年 8 月 18 日;資料核實自公開 jobs 文件、操作員契約、持久化說明、Apple 官方背景服務文件及目前可查閱的版本資料。

後台任務能啟動,不代表可以上線;本週你應先用一個可重現的長任務,逐項驗收所有權隔離、狀態可觀察性、取消與超時、完成通知,以及瀏覽器關閉、連線中斷、程式異常和作業系統重啟後的恢復證據,未完成其中任何一項,就不要把它交給無人值守環境。

這篇文章適合三類人:準備把耗時任務交給 DeepSeek Harness 的開發者、負責持續 AI Agent 環境交付與值守的運維人員,以及需要判斷是否擴容或拆分任務環境的項目負責人。

SECTION 01 先把「可啟動」和「可交付」分開

公開文件顯示,DeepSeek Harness 的批次與大量工作流程包含任務提交、狀態查看、結果取得、成本記錄、審核資料及可恢復的工作流程;其本地實作亦採用 SQLite 儲存狀態,並將工作區、執行紀錄與產物分開管理。jobs 與批次功能說明 可以作為契約核對起點。

但這些能力不能直接推導出「關閉瀏覽器後一定繼續」、「Harness 程式重啟後一定接續」或「遠端 Mac 重啟後一定不丟工作」。後台執行、跨進程持續、跨主機恢復,是不同層級的問題。macOS 本身也把系統層級 daemon、使用者層級 agent 及 GUI 應用程式分開管理;Apple 對這些背景進程的啟動與生命週期有不同定義,不能把一種進程的行為套用到另一種進程。Apple 背景服務與 daemon 生命週期說明

你至少要把以下限制列入驗收範圍:

  • 所有權限制:任務 ID 能被另一個會話看見,不等於另一個會話有權讀取、等待或取消該任務。
  • 工作區限制:多個 Agent 若共用目錄、鎖檔或輸出路徑,可能出現檔案競爭、依賴污染及產物歸屬不清。
  • 狀態限制:畫面顯示「執行中」不等於子程式仍在工作;沒有工作區、輸入摘要及產物索引的狀態,無法作為交付證據。
  • 資源限制:長時間建置會持續佔用 CPU、記憶體、硬碟空間及 API 預算;多個 background jobs 同時運行時,互相影響可能先表現在回應變慢,而不是立即報錯。
  • 恢復限制:瀏覽器關閉、遠端連線斷開、Harness 程式退出及 Mac 重啟,必須分開測試,因為它們影響的進程、檔案鎖和工作目錄不一樣。

SECTION 02 用兩個受控會話驗收所有權隔離

不要只建立一個任務,再把任務 ID 複製給另一個操作員測試。這只能證明 ID 可以傳遞,不能證明權限邊界成立。

建議使用會話 A 和會話 B,並準備兩個不同工作區:

  1. 會話 A 建立長任務,記錄任務識別、執行者、工作區、輸入摘要及預期產物。
  2. 會話 B 嘗試列出、查看、等待及取消會話 A 的任務。
  3. 會話 A 再建立第二個任務,確認會話 B 看見的列表是否只包含被授權的範圍。
  4. 將每次操作的命令、時間、回應內容及退出結果保存成驗收附件。
  5. 檢查產物路徑、日誌及鎖檔是否包含正確的工作區識別,而不是只依賴任務 ID。

多個 Agent 的後台任務會不會互相影響?

會,至少在工作區、共享資源及取消權限三個層面可能互相影響。即使任務引擎能辨識不同所有者,只要兩個 Agent 寫入同一個專案目錄,仍可能由檔案競爭造成錯誤。因此,隔離測試必須同時驗證「誰能操作」和「誰能碰到哪些檔案」。

官方契約與本站實測要分開記錄:官方文件只能用來確認功能承諾;實際隔離結果則應由你的版本、權限設定及執行環境測試得出。操作員可參考批次工作安全契約,不要把 README 的功能列表當成完整的生產權限模型。若任務由 macOS 背景服務承載,也要確認它究竟運行於系統會話還是登入使用者會話;Apple 說明不同會話之間的進程通訊與權限邊界並不相同。Apple 使用者與系統會話說明

SECTION 03 把狀態觀察做成可定位的證據鏈

驗收時,至少要保存建立、執行、完成、失敗、取消五個階段的證據。每一份狀態快照都應能回答四個問題:哪個執行者建立、在哪個工作區執行、使用了哪份輸入、產物是否已經完整落盤。

可照以下步驟執行:

  1. 使用固定輸入建立基準任務,輸入檔先計算雜湊或保存唯一路徑。
  2. 在任務開始後記錄狀態輸出、工作區位置及目前產物清單。
  3. 任務結束時保存完成訊號、退出結果、日誌尾端及產物清單。
  4. 重新查詢同一任務,確認狀態仍能與原始輸入及工作區關聯。
  5. 人為製造失敗,例如讓測試命令回傳錯誤,確認失敗結果不是停留在模糊的「未完成」。
  6. 檢查重複查詢是否會改寫狀態,或造成同一任務被錯誤重新執行。

如果狀態頁面只能顯示一個短 ID,而無法連回執行對象、工作區、輸入及產物,該任務不應判定為交付通過。這不是介面美觀問題,而是故障發生後能否定位責任與重現結果的基本條件。

SECTION 04 取消、超時與殘留進程要分開測試

「取消」按鈕改變了畫面狀態,不代表相關工作已停止。你要分別測試正常取消、任務無響應,以及子進程殘留。Apple 對 XPC 服務的文件也提醒,受管理的背景服務可能被重新啟動或突然終止,因此需要明確處理狀態保存與連線失效,而不能只依賴前端畫面。Apple XPC 服務生命週期說明

後台任務卡住後應如何安全取消?

先保存取消前的狀態和進程清單,再執行取消;取消後檢查主進程、子進程、檔案鎖、暫存檔及 API 請求是否停止。若只清除前端狀態,卻留下編譯器、測試器或 Shell 子程式,下一個任務可能繼續受到資源或鎖檔影響。

建議採用這套順序:

  • 正常取消:任務正在輸出日誌時執行取消,確認狀態變化、進程結束及工作區收尾。
  • 無響應取消:讓任務等待外部輸入或進入長時間無輸出的階段,測試取消是否仍能回收控制權。
  • 殘留檢查:取消後列出相關進程、開啟檔案及工作區鎖,確認沒有孤兒進程。
  • 超時處理:先記錄超時判定依據,再確認超時後是取消、重試、標記失敗,還是只發出提醒。
  • 重試保護:重新提交時確認不會重複寫入已完成產物,也不會把上一輪的鎖檔當成新任務狀態。

任何時間數據都必須標明來源、版本及測試日期;若你尚未取得官方固定定義,就不要自行填入「幾分鐘後必定取消」之類的數字。

SECTION 05 完成通知必須晚於產物落盤

無人值守最容易出錯的地方,是通知先到、產物後到。你應驗證完成、失敗及被取消三種結果,而且要分別確認 AI Agent 和操作人員收到的訊號。

驗收時可加入一個「完成標記」檔案或可檢查的產物清單,要求任務只有在檔案完整寫入後才進入完成狀態。通知到達時,立即核對:

  • 工作區是否仍然存在;
  • 主要產物能否讀取;
  • 產物大小或雜湊是否完整;
  • 日誌是否包含最後一個成功步驟;
  • 操作人員是否能知道任務是完成、失敗還是被取消。

若通知缺失,人工巡檢路徑應包括任務列表、狀態查詢、日誌目錄、工作區產物及進程清單。對長期運作的團隊,這套巡檢方式應寫入值守文件,而不是依賴某一位開發者記得如何手動查找。

SECTION 06 斷線測試要按事件類型分開執行

DeepSeek Harness 關閉瀏覽器後後台任務還會運行嗎?

不能只用「瀏覽器關閉後我再打開,畫面還看得到任務」來判斷。你要比較關閉前後的進程、日誌時間線、狀態及產物變化,才能知道任務是真的持續執行,還是重新開頁後才重新整理到舊資料。

遠端 Mac 重啟後未完成任務能否繼續?

不能從本地 SQLite、工作區檔案或會話持久化直接推論跨重啟續跑。公開文件提到會話持久化、批次狀態及可恢復的大量工作流程,但這些能力與作業系統重啟後自動恢復不是同一件事。會話與持久化相關說明 只能作為核對入口,最終仍要在你的版本上實測。

若你希望把 Harness 進程納入 macOS 的啟動與管理機制,必須另外驗證其 launchd 設定、執行上下文、日誌位置及啟動後是否能重新接管未完成任務;Apple 文件說明 launchd 可按需求啟動及管理 daemon,但這不等同於應用程式自身具備工作狀態恢復能力。Apple launchd 工作管理說明

請依序測試:

  1. 關閉瀏覽器,保留遠端主機及 Harness 程式。
  2. 中斷 SSH、VNC 或其他遠端連線,稍後重新連線。
  3. 結束 Harness 程式,觀察任務、日誌及鎖檔。
  4. 重啟 Mac,確認啟動後是否有自動恢復機制。
  5. 每次事件都保存事件前後的狀態快照與產物差異。

若只有瀏覽器關閉仍能完成,而程式退出或 Mac 重啟後無法接續,你的結論應是「適合短暫離開互動介面」,而不是「適合跨故障無人值守」。

提醒:雲端或遠端環境不會天然免於中斷。穩定性取決於進程管理、持久化位置、重啟策略、工作區設計及人工接手流程,不能只看連線是否方便。

SECTION 07 用容量與交付指標形成三類結論

容量驗收不要先套用通用 CPU 或記憶體門檻,因為建置、測試、程式碼分析及批次推理的資源曲線不同。你應使用代表性任務,逐步增加同時執行數,記錄 CPU、記憶體、硬碟剩餘空間、工作區鎖、任務回應性及產物完整性。

若任務包含大量檔案處理,可參考大量工作流程文件,但不要直接把文件中的範例設定當成你的生產容量。

在正式簽收前,先建立一份版本化驗收包,包含:

  • 基準任務輸入與預期產物;
  • Harness、作業系統及相關依賴版本;
  • 測試日期、執行環境及責任人;
  • 每次中斷事件前後的狀態、日誌與進程記錄;
  • 取消、失敗、通知及恢復結果;
  • 同時執行任務數增加後的資源觀察。

最後的判定只有三類:所有關鍵指標都有證據,可上線;隔離或容量不足,需要拆分環境;恢復或交付證據不完整,暫不適合持續執行。

SECTION 08 上線前的三張簽收表

第一張表用來判斷任務是否具備基本生命週期控制能力:

驗收指標 必做檢查 合格證據 判定
所有權隔離 以兩個受控會話交叉查看、等待、取消 操作記錄與回應結果 允許或拒絕邊界清楚
狀態可觀察 保存建立、執行、完成、失敗、取消快照 狀態、工作區、輸入及產物可互相對應 可定位
取消與超時 測試正常取消、無響應及子進程殘留 進程、鎖檔及日誌前後差異 真正止損
完成通知 測試完成、失敗及取消三種訊號 通知時間與產物落盤證據 通知不早於交付
異常恢復 分別測試瀏覽器、連線、程式及系統事件 每種事件的狀態與產物記錄 恢復邊界明確

第二張表用來選擇執行方案,不把「能跑」誤當成「應該長期跑」:

方案 適合情況 主要風險 決策
互動工作區 短任務、需要頻繁確認及人工介入 關閉介面或離線後可觀察性不足 不作關鍵無人值守
獨立遠端 Mac 工作區需隔離、任務需持續運作及可回訪 仍需驗收程式退出與系統重啟 通過恢復測試後採用
拆分多個環境 多 Agent 互相搶資源或共用鎖檔 管理成本及交付紀錄增加 以責任邊界拆分
暫停上線 取消、通知或恢復證據不完整 失敗後難以定位及重跑 先修正再簽收

第三張表放在交付文件最後,確保未來復測時不會失去基準:

簽收項目 必填內容
基準任務 輸入、預期產物、成功條件
版本資料 Harness、作業系統、依賴及設定版本
復測條件 執行時間、同時任務數、工作區配置
責任分工 開發者、運維人員、項目負責人
例外處理 取消、通知缺失、斷線及重啟後的人工步驟
最終結論 可上線、需拆分環境或暫不適合持續執行

如果你目前的方案是個人 Mac、短期雲端工作區或共用遠端主機,常見缺點通常不是啟動失敗,而是工作區互相污染、離線後缺乏可觀察性,以及重啟後沒有明確的接續責任;這些問題會在任務變長、Agent 增加或需要夜間執行時放大。當驗收表顯示現有環境無法穩定承載長任務,你可以按任務占用窗口與隔離邊界評估獨立的遠端 Mac 方案,再用同一份基準任務先做試運行,而不是直接把未驗收的環境投入生產。

若你需要比較租用週期、資源配置與任務分工,可先查看VPSNIX 的方案與價格說明;但長期穩定重負載、必須使用特定實體介面,或需要完全自行控制硬體的場景,仍應如實比較自購 Mac、本地執行及其他環境。租用的價值在於快速取得隔離且可回訪的測試環境,前提是你仍然用上述驗收表確認它真的符合 DeepSeek Harness 的長任務邊界。

延伸閱讀