OpenClaw 卡住不動?輸出 Token 上限導致任務靜默中斷完整修復指南
症狀描述:OpenClaw 正在執行複雜任務(寫程式、爬資料、批次操作),突然沒有任何回應,既沒有完成的通知,也沒有錯誤訊息,整個 Session 就這樣靜悄悄地「凍結」了。重新傳訊息也沒用,像是被丟棄的任務,你完全不知道發生了什麼。
這不是你的問題——這是 OpenClaw 已知 Bug
如果你遇到了上述情況,恭喜你,你發現了一個被 OpenClaw 社群記錄在案的重大 Bug(GitHub Issue #28632)。這個問題的技術名稱是:「Agent 在觸及輸出 Token 上限時靜默凍結(stopReason: "length")」。
簡單說,當 Claude 或 GPT 的 API 回應達到輸出 Token 上限(通常是 8,192 個 Token),模型會在內部停下來,並回傳一個特殊狀態:stopReason: "length"。正常的系統應該告訴你「回應被截斷了」,然後讓你繼續操作。但 OpenClaw 的 Agent 生命週期處理器在遇到這個狀態時,既不告訴你,也不自動繼續,就這樣把你丟在黑暗中。
技術背景:stopReason 是什麼?
所有主流 LLM API(Claude、GPT、Gemini)在每次回應時,都會附帶一個 stop_reason 欄位,告訴你為什麼回應在這裡停下:
哪些情況最容易觸發這個 Bug?
不是每個任務都會遇到這個問題。以下場景特別容易觸發輸出 Token 上限:
📝 生成大量程式碼
要求 OpenClaw 一次性寫完一個複雜的功能、完整的類別或多個函數。程式碼本身就很長,很容易超過 8,192 Token。
📊 長文件分析或摘要
讓 Agent 分析一份長 PDF 或大型 JSON,並要求輸出詳細的分析報告。當分析結果本身很長時,就會在中途被截斷。
🔄 設定了「自主模式」
在 soul.md 或指示中設定了「永不詢問,直接行動(never ask, always act)」模式。Agent 會進入超長的思考迴圈,更快觸及 Token 上限。
🧠 啟用了高強度思考模式
使用 /think high 或 /think xhigh 時,模型的思考過程本身就會消耗大量輸出 Token。
如何確認你遇到的是這個 Bug?
OpenClaw 的日誌是確認這個 Bug 的最可靠方法。執行以下指令查看日誌:
# 查看最近的 OpenClaw 日誌
openclaw logs --tail 100
# 或直接查看日誌檔案
tail -100 ~/.openclaw/logs/openclaw.log
# 搜尋 stopReason 相關記錄
grep -i "stopReason\|stop_reason\|length\|truncat" ~/.openclaw/logs/openclaw.log | tail -20
⚠️ 確認 Bug 的關鍵特徵
如果在日誌中看到類似以下任何一行,就可以確認是這個 Bug:
stopReason: "length"
stop_reason: "max_tokens"
"finishReason":"length"
output tokens: 8192 (truncated)
任務卡住了!現在怎麼辦?(臨時應急)
當你發現任務卡住時,不要重新啟動整個 OpenClaw,這樣會丟失當前 Session 的上下文。以下是立即應急的方法:
✅ 方法一:直接傳訊息繼續(最快)
當 Agent 停在輸出 Token 上限時,Session 實際上還是活的,只是在等待你的下一個指令。直接在 Telegram/Discord/WhatsApp 中傳送:
請繼續你剛才說到一半的內容,從你停下來的地方繼續。
大多數情況下,Agent 會從斷點繼續完成任務。
✅ 方法二:使用 /compact 壓縮上下文
如果問題反覆出現,可能是整體 Context 太長導致輸出空間被壓縮。先執行 /compact 壓縮記憶,再重新執行任務:
# 在聊天中直接輸入
/compact
# 等待 Agent 確認後,重新發送任務指令
✅ 方法三:拆分大任務
如果任務本身就很大(例如:寫一個完整的電商後端),把它拆成多個小步驟,每次只要求 Agent 完成一個部分。這樣每次的輸出量都在 Token 上限以內,就不會觸發 Bug。
長期解決方案:限制輸出長度 + 備用模型
除了臨時應急,以下設定可以從根本上降低觸發這個 Bug 的機率:
方法 A:在設定中限制最大輸出 Token
// 在 ~/.openclaw/openclaw.json 中加入
{
"agents": {
"defaults": {
"model": {
"maxOutputTokens": 4096, // 設定為上限的一半,留緩衝空間
"primary": "anthropic/claude-sonnet-4-5"
}
}
}
}
方法 B:在 soul.md 中指示 Agent 分段回應
// 在 soul.md 中加入以下指示
When generating long content (code, documents, analysis):
- Break responses into logical sections
- After each section, ask if I want to continue
- Never try to generate more than 2000 words in a single response
- If a task requires more, explicitly plan the sections first
方法 C:降低思考深度
# 關閉高強度思考模式(節省輸出 Token)
/think off
# 或使用低強度思考
/think minimal
# 查看目前的思考模式設定
/think status
官方修復進展(2026年3月)
OpenClaw 團隊已針對這個 Bug 提交了 PR #28843。修復方案的核心是:
偵測截斷狀態
當回應的 stopReason 為 "length" 或 "max_tokens" 時,Agent 生命週期處理器改為發出 phase: "truncated" 事件,而非 phase: "end"。
通知用戶
修復後,當回應被截斷,用戶會在 Telegram/Discord 收到明確提示:「回應因達到輸出上限而被截斷,請告訴我是否要繼續。」
保持 Session 活躍
截斷後 Session 不會關閉,保持等待狀態,讓用戶可以直接繼續對話。
⚠️ 目前狀態(2026年3月10日)
PR #28843 仍在審核中,尚未合入主線。修復版本預計在 v2026.3.x 的後續版本中發布。在官方修復之前,請使用上方的臨時解決方案。
如何確認你的 OpenClaw 版本?
# 查看目前版本
openclaw --version
# 更新到最新版本(Bug 修復版本發布後)
npm update -g openclaw
# 或
openclaw update
# 確認更新後版本
openclaw --version
相關問題:網路延遲如何加重這個 Bug?
你可能會問:「這不是 Token 問題嗎?跟網路有什麼關係?」事實上,網路狀況會間接加重這個 Bug 的嚴重程度:
🐌 網路慢 → 更多 Token 消耗
當連線至 Claude API 的速度很慢,OpenClaw 的 Agent 有時會多次重試同一個請求,每次重試都消耗額外的輸入 Token,壓縮了可用的輸出空間,更快觸及上限。
⏱️ 超時重試 → 加速 Token 耗盡
不穩定的連線導致部分回應超時,系統重新請求時會附帶更多的重試上下文,讓整個 Token 消耗量滾雪球式增加。
💡 提升連線品質可以緩解問題
使用低延遲、高頻寬的網路加速方案,可以讓 OpenClaw 與 Claude API 的每次通訊都更高效,減少重試消耗,間接降低觸發輸出 Token 上限的頻率。這也是為什麼許多 OpenClaw 台灣用戶在切換到更穩定的連線方案後,卡住問題明顯減少。
常見問題 Q&A
Q:用 GPT-4o 代替 Claude 會不會好一點?
A:GPT-4o 的輸出 Token 上限更高(最高可達 16,384 Token),在相同任務下確實不容易觸發這個 Bug。但這個 Bug 本質上是 OpenClaw 處理 stopReason 的邏輯問題,切換模型只是迴避而非真正修復。官方 Bug 修復發布後,Claude 也不會再有這個問題。
Q:OpenClaw 卡住後,過去的對話記憶還在嗎?
A:在。OpenClaw 的持久記憶存在獨立的記憶系統中,不依賴 Session 的連線狀態。重新開啟 Session 或新建一個 Session,你的 OpenClaw 依然記得你之前告訴它的所有事情。只有當前未完成的任務「上下文」是臨時的。
Q:如何從日誌確認 Bug 是否已經修復?
A:更新到修復版本後,當回應被截斷,你的 Telegram/Discord 應該會收到明確提示訊息(而非靜默停止)。你也可以在日誌中搜尋 phase: "truncated",如果出現這個新事件,代表修復已生效。
Q:/compact 指令跟這個 Bug 有什麼關係?
A:/compact 是壓縮輸入 Context 的指令,它會縮短 Agent 讀入的歷史訊息長度。這樣可以讓模型的輸出空間更大,減少觸發輸出上限的機率。但它不能直接修復 Bug,只是一種緩解手段。
VPN07 - 讓 OpenClaw 更穩定
1000Mbps 千兆頻寬 · 低延遲 · 減少 API 重試 · 降低 Token 浪費
OpenClaw 用戶最頭痛的問題之一,就是因為網路不穩導致 API 重試,讓原本夠用的 Token 快速耗盡。VPN07 運營十年,1000Mbps 千兆頻寬確保每次與 Claude API 的通訊都快速直達,大幅減少因重試消耗的額外 Token。台灣用戶使用 VPN07 後,OpenClaw 任務完成率顯著提升。70+ 國家節點,月費僅 $1.5,30 天無條件退款。