觀察

ChatGPT、Claude、Grok 爲什麼同時宕機?AI 服務大規模故障背後的技術原因

三家一起掛,不像三臺獨立服務器同時壞。更像同一層基礎設施抖了一下,再被用戶切換和自動重試放大。官方還沒有統一根因,但工程上已經夠用來改架構。

2026 年 9 月 3 日上午(美國東部時間),ChatGPT、Claude 和 Grok 在同一段窗口裏先後不可用。Grok 大約 9:30 起在 Web、iOS、Android 和 X 上返回「This model is overloaded」;Anthropic 報基礎設施問題,Claude 聊天、Claude Code 和 API 一起受影響,大約 12:15 恢復;OpenAI 狀態頁寫 elevated errors across ChatGPT and Codex,大約 11:00 起登錄、上傳、語音、搜索、Deep Research、生圖都受影響,大約 12:55 標記緩解。三家都是面向大衆的前端模型,重疊停機在這個行業裏幾乎沒見過。The Verge 寫得很剋制:目前不清楚三家出了什麼問題,也不清楚是否相關。這篇不把「Azure 背鍋」寫成已證實的根因,而是把官方時間線、共享雲線索和級聯流量拆開,並接到你能改的地方:錯誤 JSON、多供應商兜底,以及雲端模型集體掉線時本地工具爲什麼還在。延伸閱讀:AI 生成 JSON 錯誤指南、A2A vs MCP。

9 月 3 日時間線:三家各自報了什麼

先按各家自己的狀態頁和公開口徑對齊,不要先發明一條「共同事故」。xAI 一側最早:大約東部時間 9:30,Grok 在 Android、iOS 和 Web 同時出問題,X 上的對話直接回「模型過載,請稍後或換一個模型」。事後 xAI 把這次故障連到孟菲斯數據中心停電/中斷,而不是一句含糊的「我們正在排查」。這條很重要——它說明至少有一家給出了機房級解釋,不能被後來的 Azure 敘事一口吞掉。

Anthropic 報的是基礎設施問題導致的部分中斷:面向用戶的 Claude、面向開發者的 Claude Code,以及對外 API,幾乎同一時段升高錯誤。公開時間線裏,他們大約 15 分鐘後聲稱已定位原因,中午 12:15 左右宣佈恢復;隨後又短暫出現過單個模型的 elevated errors。OpenAI 更晚一點:大約 10:43–11:00,狀態頁寫 ChatGPT 與 Codex 錯誤率升高、性能下降。影響面不只是聊天窗口,登錄、文件上傳、語音、搜索、Deep Research、圖像生成都被點名。當時 OpenAI 還在預熱新模型 Astra,流量本身就不低。緩解措施上線後,大約 12:55 標記恢復。

同一上午,Cursor 等依賴 Claude / Grok 的編程代理也報了故障——這不是第四家大模型自己掛了,而是下游把三家當運行時。Google 的 Gemini 出現過用戶投訴尖峯,但沒有官方確認宕機;Ars Technica 把四家疊在一起寫,是因爲投訴曲線疊了,不是因爲 Google 發了事故通報。讀時間線時記住:重疊不等於同一根因,投訴尖峯也不等於官方確認。

先分清:官方事實、基礎設施線索、不能當根因的猜測

把證據分成三層,後面纔好談「爲什麼同時」。第一層是官方事實:三家都確認了各自窗口內的故障;Grok 連到 Memphis 機房;Claude 說 infrastructure issue;ChatGPT / Codex 說 elevated errors。到這篇寫作爲止,三家沒有聯合根因分析,也沒有互相點名。The Verge 的更新只確認服務已恢復,並寫明尚未收到統一解釋。

第二層是基礎設施線索。多家媒體和監控聚合站提到,Microsoft Azure 在相近時段也出現用戶投訴尖峯;有報告寫 Azure East US 在太平洋時間約 10:26(東部約 13:26)出現 ingress 失敗。East US 是大量企業 AI 流量的主區域,OpenAI、Anthropic、xAI 都在 Azure 上跑過可觀的推理和網絡。入口層(ingress)、負載均衡、區域路由一旦抖動,應用再不同,對外表現也會一起變成 502、超時、登錄失敗。這能解釋「爲什麼看起來像一起掛」,但它仍然是線索,不是三家簽字的 RCA。

第三層是不能寫進架構決策的猜測:有人寫成「Azure 故意掐斷競品」,有人寫成「三家約好一起維護」,有人把 Memphis 和 East US 強行併成一次事故。公開材料不支持這些讀法。更穩的工程結論只有兩句。其一,大衆 AI 產品的命運已經綁在少數雲區域和少數入口設備上。其二,第一家倒下之後,用戶切換和客戶端重試會把壓力立刻推到下一家——即使下一家自己的機房是好的。

共享雲與入口層:爲什麼會「看起來像一起掛」

2026 年的前端模型看起來是三家公司、三套產品、三套 Tokenizer,底層卻經常共享同一類東西:雲賬號、區域、GPU 配額、全球任播入口、身份和計量控制面。訓練可以各建機房,推理要靠近用戶、要彈性、要過企業採購,於是 Microsoft Azure 成了最常見的公約數。Gemini 當天基本沒掛,最乾淨的解釋不是「Google 模型更穩」,而是它的主路徑走 Google Cloud,不跟另外三家搶同一條 East US 入口。

層 壞了會看見什麼 會不會三家一起中招
模型權重 / GPU 集羣 某個模型過載、某個快照 500 通常不會;除非真的共用同一機房
區域網絡 / ingress 登錄失敗、全站超時、API 與網頁一起掛 會;共享區域時這是最像「同時」的一層
身份 / 配額控制面 能連上但發不出請求,Token 刷新失敗 會;控制面常比數據面更集中
客戶端重試 + 用戶切換 第二、第三家突然被打滿 會;即使根因互不相干也會疊在一起

所以「同時宕機」在系統裏常常是入口和控制面的語言,不是「三家的 Transformer 同時算崩了」。ChatGPT 連 Codex、上傳、語音、Deep Research 一起報錯,更像共用網關或身份層出了問題,而不是某一顆聊天模型抽風。Claude 把聊天、Claude Code 和 API 綁在同一次 infrastructure issue 裏,也是同一類信號:對外產品名很多,對內可能就幾條入口。你不需要等官方 RCA 才能改設計——只要假設「入口層會按區域同時失敗」就夠了。

級聯、重試風暴與 Memphis

共享雲解釋「爲什麼會疊」,級聯解釋「爲什麼第二、第三家會更慘」。ChatGPT 一不可用,默認下一步不是等待,而是打開 Claude 或 Grok。上千萬會話在幾分鐘裏換供應商,等於給本來可能已經受損的共享入口再加一波突發。客戶端和 Agent 框架更糟:超時後立刻重試、換 key、換模型,沒有 jitter,也沒有「這次是基礎設施,不要再打了」的信號。這就是經典的重試風暴。第一家的故障,會在第二家的日誌裏變成「無緣無故的過載」。

Grok 的 Memphis 說明必須單獨留着。xAI 公開把故障連到自己的數據中心,時間上還早於 ChatGPT 的狀態頁。它可能是獨立事故,剛好和另外兩家疊在同一上午;也可能和更廣的網絡/電力/雲連接有關。在沒有三家聯合時間線之前,正確寫法是並列,而不是合併。工程含義反而更清楚:你的兜底名單裏如果只寫「OpenAI 掛了就切 xAI」,當天早上這條策略會先死在 Grok 上。

Cursor 當天的故障是級聯的產品形態。編輯器並不訓練模型,它把 Claude 和 Grok 當運行時;上游一抖,補全、Agent 和工具調用一起停。2026 年大量內部 Agent 都長這樣:MCP 工具、A2A 任務、自家 HTTP JSON,最後仍要打到兩三家雲端模型。單點不在你的業務代碼,而在你默認的那一個 model 字段。相關背景見 MCP 與 JSON Schema 和 無狀態 MCP。

控制面比模型本身更脆

GPU 集羣健康,並不能讓用戶發出去的請求成功。登錄、上傳、語音、搜索同時失敗,說明壞的是網關、身份、對象存儲入口或共享邊緣,而不是某一層 decoder。頁面上的「模型過載」經常是假症狀:真正過載的是入口連接數、證書校驗或令牌服務。狀態頁本身也會滯後——用戶先在 DownDetector 上看到尖峯,官方文案後到。排障時不要只盯模型名,先看錯誤信封裏的 httpStatus、code 和是否 retryable。

把廠商返回的散裝錯誤收成同一份信封,比在 UI 上寫「AI 出錯了」有用得多。下面這份 JSON 只描述:哪家、什麼狀態、能不能重試。業務層不要去解析各家原文;原文進日誌,信封進熔斷。

{
  "ok": false,
  "provider": "openai",
  "httpStatus": 503,
  "code": "elevated_errors",
  "retryable": true,
  "occurredAt": "2026-09-03T15:00:00Z",
  "message": "ChatGPT and Codex are returning elevated errors"
}

同一上午你可能會同時收到 OpenAI 的 elevated errors、Anthropic 的 infrastructure issue、xAI 的 overloaded。字段名不同,決策應當相同:可重試的進熔斷冷卻,不可重試的換供應商,信封對不上 Schema 的當硬失敗,不要用正則從 HTML 錯誤頁裏摳。把真實失敗樣本丟進 JSONVue:格式化看字段,校驗看語法,JSON Schema 卡必填鍵,Diff 對比三家信封少了什麼。雲端集體掉線時,本地解析仍然能做——這正是瀏覽器內工具的價值。

對 Agent / JSON 管道:多供應商不是口號

「多雲」如果只寫在 PPT 上,當天早上幫不了你。有效的多供應商是運行時策略:主路徑、明確的 fallback 順序、熔斷閾值、以及一份所有供應商都必須填的錯誤信封。不要在失敗時對同一家連打二十次;不要把 fallback 寫成「隨機挑一個還活着的」。Google 當天能用,是因爲它不在同一條入口命運裏——這正好說明兜底名單裏應當有一家主路徑不同的供應商,而不是三家都掛在 Azure East US。

策略本身就該是 JSON,並且和業務 Schema 分開版本。下面這份配置不關心模型商標,只關心:先打誰、失敗後打誰、錯誤率到多少切斷、信封裏哪些鍵是硬門閂。

{
  "policy": "failover",
  "primary": "openai",
  "fallbacks": ["anthropic", "xai", "google"],
  "circuitBreaker": {
    "errorThreshold": 0.3,
    "windowSeconds": 60,
    "cooldownSeconds": 120
  },
  "errorEnvelope": {
    "required": ["ok", "provider", "code", "retryable"]
  }
}

還有一條容易漏:工具參數 JSON 和最終答覆 JSON 不是同一跳。MCP tools/call、OpenAI function arguments、你自己的 HTTP body,在模型掛掉時會以不同形狀失敗。把「模型不可用」和「參數不合 Schema」收成同一種 toast,後面的覆盤會改錯旋鈕。本地校驗仍然要做,理由和 Structured Output 那篇相同:形狀層和可用性層不是一回事。雲恢復之後,把當天的失敗信封留下來當夾具,比再寫一篇覆盤郵件有用。

常見問題 FAQ

這是微軟在掐競品嗎?

公開材料不支持這種讀法。更接近的解釋是共享區域入口和級聯流量。Azure 投訴尖峯是線索,不是三家聯合簽署的根因。架構決策應建立在「入口層會按區域失敗」上,而不是建立在動機猜測上。

是不是該立刻自訓模型、離開雲?

不是同一層問題。這次 demonstratum 的是推理入口和供應商集中度,不是「必須自建千億模型」。多數團隊更該做的是:多一條主路徑不同的兜底、熔斷、以及統一的錯誤信封。自訓解決不了你把所有流量打進同一區域 ingress 的問題。

Gemini 沒事,是不是證明它更可靠?

只能證明當天它的主路徑不在同一條共享命運裏。Google Cloud 也會有區域事故。不要把一次重疊故障讀成模型質量排名;要讀成依賴圖譜:你的備用供應商是否真的備用。

我的產品明天最少該改什麼?

三件能當天做完的事:給所有模型調用加上統一錯誤信封;主路徑失敗後切到另一家雲上的模型,而不是同一家的另一個快照;重試加 jitter 和熔斷,避免自己變成下一家的攻擊流量。用 JSONVue 把三家失敗樣本和這份信封 Schema 對一下。

總結與下一步

9 月 3 日的故事可以壓成一句:大衆 AI 已經是共享雲上的入口服務,模型商標不同,命運卻會在同一條區域鏈路上重疊。Memphis、East US ingress、用戶切換,可能是三條線,也可能有交集;在官方 RCA 出來之前,不要把它們捏成一個陰謀,也不要當成互不相干的倒黴。

下一步很具體:把失敗收成 JSON,把兜底寫成策略,把熔斷閾值當成會回放的配置。模型會恢復,狀態頁會變綠;你的 Agent 會不會在下一次區域入口抖動時再次全體沉默,取決於現在是否還把 "model": "唯一那一家" 寫死在代碼裏。