長時域機器人任務結合了許多技能,其結果改變了世界。因此,可靠性更多依賴於驗證每個後期條件、保持有效部分進展以及從目前狀態中選擇恢復方案,而非僅僅一次生成長列表。
語言上下文或計劃的文字記錄不足以作為足夠的記憶體。操作需要結構化的事實、資源、副作用、證據、時間戳和來源,以便重啟能夠區分已完成的工作與未被觀察到的不確定命令。
本指南應與 Nav2 恢復指南 及 故障挖掘指南一起使用。將每一個外部操作視為狀態轉換,並附有可審計的收據。
將任務表示為閉環狀態機
建模目標、前提條件、技能、預期效果、禁止狀態和完成條件。每完成一項技能後,觀察世界,並從目前證據中選擇下一個過渡,而不是假設計劃中的效果已經發生。
保持規劃、執行、驗證和恢復作為明確狀態。這使得超時、中斷和人工接管行為可測試,而非隱藏在對話歷史中。

建立一個帶有受保護進展的任務圖
子目標圖辨識依賴關係,並在重新規劃過程中必須保留哪些已完成的效果。移動物體、開門或分發材料即使整體任務未完成,也可能成本高昂或不可逆。
標記賠償行動和不可重複的過渡。新計劃必須尊重受保護狀態,除非授權追償故意更改。
| 戰績 | 示例 | 生平 | 缺席則為失敗 |
|---|---|---|---|
| 事實 | 物體位於 B 箱 | 直到被反駁 | 計劃錯了 |
| 資源 | 工具預留 | 直到釋出 | 衝突 |
| 收據 | 指揮與結果 | 審計壽命 | 重複動作 |
| 檢查站 | 已驗證任務狀態 | 恢復壽命 | 重啟損失 |
| 判決 | 為什麼選擇分支 | 審計壽命 | 無法追蹤的行為 |
技能回報與觀察到的後期狀態分離
控制者可以報告成功,因為其軌跡終止時物體隨後滑動。定義後事條件,如物體姿態、門狀態、庫存計數或導航到達,並在可行的情況下透過獨立觀察進行驗證。
將證據和新鮮度與結果一起儲存。未經驗證的成功應成為不確定狀態,而非完成的事實。
為每個副作用寫一個執行收據
收據記錄命令辨識符號、參數、嘗試、開始和結束時間、控制器結果、觀察到的影響、證據、資源變更及恢復狀態。它將高層次計劃與物理後果聯絡起來。
重啟時,在發出下達下一個命令前,先與世界對帳。當機器人行動後但確認到來之前,通訊中斷時,這一點尤為重要。
儘可能讓物理指令成為冪等的
冪零性金鑰允許下游服務辨識重複請求並返回先前結果,而無需重複操作。物理操作並不總是數學上冪等,因此執行者還必須檢查目前狀態和動作歷史。
保護髮藥、付款、門開、物品轉移及其他副作用,並賦予其獨特的操作身份。切勿推斷超時意味著什麼都沒發生。

保留部分成功作為新的初始狀態
如果五項中的三項已排序,從原始計劃重新開始可能會再次移動它們或失去計數。提交已驗證的子目標,並在保持安全和任務約束的前提下從新狀態重新規劃。
衡量有用的進展,而不僅僅是二元任務的成功。跟蹤已完成的受保護子目標、受損資源和剩餘可行目標。
在重試前先對失敗進行分類
區分感知、定位、規劃、抓握、控制、環境、資源和通訊失敗。重試應改變相關參數、視角、掌握、路徑或技能,而非盲目重複相同條件。
為每個故障類別設定重試預算、冷卻時間和升級。當狀態惡化、不確定性增加或下一次嘗試會重複不安全的機制時,就停止重試。
用事實和限制重新規劃,而不僅僅是摘要
自然語言摘要壓縮上下文,但可能省略來源、時間戳和例外。為規劃器提供結構化的目前事實、未解決的矛盾、可用技能、受保護的進展和禁止行為。
SayCan 專案在其報告的移動操作實驗中結合了語言模型技能的實用性與技能可供性評分。其專案頁面還指出目前階段環境回饋的限制,促使明確的閉環狀態更新。
每項技能後都要利用環境回饋
內在獨白論文研究了在評估環境中利用環境回饋進行規劃。操作經驗是將成功探測器、場景描述和人工回饋輸入用於下一步決策,而不僅僅是附加行動名稱。
回饋來源可能會有不同看法。保留原始證據,應用置信和衝突規則,而不是讓最新文字靜默覆蓋已驗證狀態。
中斷和軟體重啟檢查點
檢查點應包含任務圖版本、目前狀態、已驗證事實、待處理收據、資源鎖定、受保護進度、機器人姿態上下文、模型版本和恢復授權。在提交效果後和風險轉移前儲存。
測試冷重啟時,出現網路丟失、程式崩潰和感測器過期。系統必須在從序列狀態恢復前對物理現實進行調和。
評估完工度、一致性和恢復成本
報告全部和部分完成、經過驗證的後期病症率、重複副作用、矛盾數量、重複嘗試、恢復成功率、人工介入、時間和資源成本。單純按技能成功率匯聚不良,掩蓋國家腐敗。
Code as Policy 在其 報告任務中展示了語言模型生成的機器人程式。任何部署仍需有限制工具、狀態驗證、回復和針對特定目標的失敗測試。
| 測試 | 斷層 | 預期行為 | 度規 |
|---|---|---|---|
| 結果不確定 | 失落的致謝 | 先調和再重複 | 重複率 |
| 部分成功 | 任務中途失敗 | 保持有效的進展 | 保留子目標 |
| 感知漂移 | 矛盾事實 | 請求新證據 | 一致性 |
| 程式崩潰 | 冷啟動 | 載入並驗證檢查點 | 履歷的成功 |
| 重試疲勞 | 反覆失敗 | 安全切換 | 升級時間 |
釋放可恢復的任務合約
版本任務圖、技能模式、後期條件、收據儲存、重試規則、檢查點、衝突解決和人工交接狀態。保留完整的事件跟蹤,將每個計劃變更與觀察到的證據連線起來。
關閉釋出審查,需進行以下檢查。
評估“長時域機器人任務的記憶與恢復”時,還應儲存模型版本、機器人設定、校正檔案、測試日期和全部試驗記錄。
只有把這些持續投入與單位成功任務的價值比較,才能判斷方案是否適合擴大。
上線後仍要持續檢查分佈變化、感測器漂移、機械磨損和人工接管原因。
實際專案還應指定資料、模型、控制器和安全流程的負責人,並預先定義回復條件。責任邊界、審批記錄與變更紀錄越清楚,故障發生後越容易停止擴散、定位原因並安全恢復。
把任務拆成感知、決策、動作執行和結果確認,可以更準確地定位瓶頸。每一階段都應有獨立指標與失敗示例,避免用端對端成功率掩蓋偶發但嚴重的風險。
引用的產品規格、論文結果和監管要求需要記錄釋出日期與適用版本。資料更新後應重新核對關鍵結論;無法從一手來源確認的內容,應明確標註為待驗證資訊。
小規模試點的價值在於提前暴露介面、人員協作和異常處理問題。試點結束後應依據預設門檻決定擴大、修改或停止,而不是因為已經投入資源就預設繼續。
所有結論都應能夠追溯到原始記錄,並可複核。
介面定義變化時,舊資料和舊控制參數不能在未經驗證的情況下直接複用。
異常測試應覆蓋斷電、通訊丟失、感測器失真、物件滑移和人員進入工作區等情形。系統不僅要發現異常,還應以可預測的方式減速、停止或請求人工確認。
- 代表前提條件、影響和禁止州。
- 從世界確認帖子條件。
- 使用收據和重複保護來應對副作用。
- 保留部分成功並分類重試。
- 演習中斷、檢查點和人工交接。
常見問題
更大的 LLM 背景能否解決長期機器人任務?
不行。上下文有助於規劃,但可靠的執行仍然需要結構化的狀態、後置條件證據和恢復語意。
行為樹與任務記憶有什麼關係?
行為樹組織控制流;持久記憶體儲存事實、收據、檢查點和跨執行使用的證據。
失敗後從頭開始最安全嗎?
當之前的行動改變了世界;在決定之前,調和並保持有效的進展。
一個技能應該有多少次重試?
根據風險、狀態變化和獲得的資訊設定一個按故障類別設定的預算,當重複不再有用時再逐步升級。
部分成功如何衡量?
跟蹤已驗證的受保護子目標、剩餘可行目標、副作用和康復成本,與完全完成分開。
驗證狀態與續航邊界
長時域機器人的可靠性來自驗證的狀態轉換、持久收據和可恢復的檢查點。較長的計劃或上下文視窗無法替代關於物理世界的證據。