Financial Times 報導:亞馬遜電商部門因 AI coding 工具引發連串事故,緊急召集工程師開會

發生了什麼事

亞馬遜出大事了。

電商部門緊急召集所有工程師開會。原因不是外部攻擊,不是競爭對手搞事。

是他們自己開發的 AI,正在把系統搞垮。

內部備忘錄承認,最近事故頻發,而且是「高爆炸半徑」(high blast radius)的事故。

根本原因?備忘錄寫得很清楚:「生成式 AI 輔助的變更」(Generative AI-assisted changes)。

翻譯成人話:工程師用 AI 工具生成的程式碼,直接把生產環境炸了。

不是一次。是頻發。


13 小時的代價

最驚人的一幕發生在 AWS 雲服務。

工程師讓 AI 代碼工具修復一個小問題。一個普通的 bug fix。

結果 AI 的解決方案是:直接刪掉整個生產環境,再重新建一個。

你沒看錯。

相當於你請水電師傅修個漏水的水龍頭,他把整面牆都拆了,然後跟你說「牆重砌一面就好了」。

恢復系統,花了整整 13 個小時。

亞馬遜官方怎麼說?稱其為一次「極其有限的事件」(extremely limited incident),只影響了中國大陸的客戶。

13 小時的服務中斷,叫「極其有限」。

這個公關話術本身就值得寫一篇文章。


亞馬遜的解法:禁令

事故之後,亞馬遜的補救措施簡單粗暴:

禁止初級和中級工程師在沒有資深工程師簽字的情況下,提交任何 AI 生成的程式碼。

注意這個措辭——不是「建議」,不是「鼓勵」,是禁止

這等於承認了一件事:他們內部判斷,目前的 AI coding 工具產出的程式碼,不能被無條件信任。

而且他們判斷,初中級工程師缺乏足夠的經驗來識別 AI 生成程式碼中的風險。

這不是小公司的保守。這是亞馬遜——全球最大的雲服務提供商,自己用 AI 用到出事之後,做出的決定。


不只亞馬遜:AI 刪資料的災難已經在發生

如果你覺得亞馬遜的案例是個例,那再看兩個。

事件一:DataTalks.Club 被 AI 刪掉整個資料庫

Alexey Grigorev 是 DataTalks.Club 的創辦人,一個在 ML 社群很有名的技術教育者。

他用 AI coding 工具協助維護專案。某次 AI 在「修復」一個問題的過程中,直接把整個資料庫刪了。

不是一張表。是整個資料庫。

這不是亞馬遜等級的公司,沒有 13 小時就能恢復的 SRE 團隊。這是一個社群專案,資料丟了就是丟了。

這個案例之所以重要,是因為它證明了一件事:AI「刪掉重建」不是 bug,是一種行為模式。

AI 模型在訓練過程中學到了大量「clean state」的概念。當它遇到一個複雜的修復問題時,「刪掉重來」在它的邏輯裡是一個合理的解法——乾淨、確定、沒有殘留問題。

對 AI 來說,刪掉一個資料庫跟刪掉一個暫存檔,認知成本是一樣的。它不理解「這裡面有十萬筆用戶資料」的重量。

事件二:亞馬遜內部——數百萬筆訂單丟失

除了 AWS 的 13 小時事故,亞馬遜內部最近還有另一起更嚴重的事件。

AI 協助的程式碼變更導致電商系統 outage,直接造成數百萬筆訂單丟失

數百萬筆。

這不是「服務中斷 13 小時」的問題了。這是真金白銀的商業損失。每一筆訂單背後都是一個等著收貨的客戶、一個等著出貨的賣家、一筆等著結算的款項。

這就是為什麼電商部門會緊急召集所有工程師開會。不是因為一次小事故,是因為問題的嚴重程度已經到了「不能再裝沒看到」的地步。

兩個事件,同一個教訓

把這兩個事件跟 AWS 的事故放在一起看,模式很清楚:

事件 規模 AI 的「解法」 後果
DataTalks.Club 社群專案 刪掉資料庫 資料永久丟失
AWS 生產環境 雲服務 刪掉整個環境重建 13 小時中斷
亞馬遜電商 企業核心 AI 變更導致 outage 數百萬筆訂單丟失

從個人專案到全球電商平台,AI coding 的「高爆炸半徑」問題不分規模、不分場景。

差別只在於:你承受得起多大的損失。


這不是亞馬遜的問題,這是所有人的問題

如果你覺得「這是亞馬遜的問題,跟我無關」,那你可能低估了這件事的意義。

我在之前的文章〈AI Coding 的第一個風險,不是模型——是你一直按「Yes」〉裡就提過:

你什麼時候開始,把「判斷」也一起自動化了?

亞馬遜的事故,就是這句話最極端的實例。

工程師看到 AI 生成的「解決方案」,按了 Yes。

問題是——AI 的解決方案是「刪掉整個生產環境」。這不是一個正常人類工程師會提出的方案。但在 AI coding 的流程裡,如果你已經習慣了「AI 建議 → 按 Yes → 部署」的節奏,你很容易就滑過去了。

這跟技術能力無關。這是認知模式的問題。

當你連續按了 50 次 Yes 都沒出事,第 51 次你還會認真看嗎?

心理學叫這個「automation complacency」(自動化自滿)。飛航安全領域研究了幾十年的問題,現在原封不動搬到了軟體工程。


為什麼「資深工程師簽字」是對的第一步

亞馬遜的禁令看起來很粗暴,但我認為方向是對的。

原因不是「資深工程師比較厲害」——雖然確實經驗更多。

真正的原因是:這個機制強制插入了一個「人類判斷節點」。

我在〈Harness Engineering:Peter Steinberger 的 Control Plane 模式〉裡提過 Peter Steinberger 的做法:他一個人用 Claude Code 管理上百個 PR,但每一個 PR 他都親自 review。不是因為他不信任 AI,是因為他理解人類審查是系統的控制平面

亞馬遜的「資深工程師簽字」,本質上就是在 AI coding pipeline 裡加了一個 control plane。

而且這個做法暗合了我們在〈混沌智能體〉裡討論的結論:

權限隔離比 Prompt Engineering 重要一百倍。

你可以花無數時間調 prompt、微調模型、優化 system instruction。但最有效的安全措施,永遠是:限制誰有權力按下那個按鈕。

亞馬遜用最痛的方式,重新發現了這個原則。


但禁令不是終點

話說回來,「禁止初中級工程師提交 AI 程式碼」這個做法,長期來看有明顯的問題:

第一,瓶頸會轉移到資深工程師身上。

如果每一段 AI 生成的程式碼都需要 Senior 簽字,Senior 很快就會變成整個團隊的瓶頸。這跟把所有 PR 都指派給 Tech Lead review 是同一個問題——最終 Tech Lead 也會開始「快速掃過」而不是認真看。

人類的注意力是有限資源。

第二,這會抑制初中級工程師的學習。

AI coding 最大的價值之一,是讓初級工程師可以更快探索解決方案。如果你禁止他們用,等於是切斷了一個重要的學習管道。

第三,禁令本身沒有解決根本問題。

根本問題不是「誰提交程式碼」,而是「AI 生成的變更在進入生產環境之前,經過了多少層驗證」。


更好的做法:分級審查機制

我認為長期的解法不是禁令,而是分級審查

我在〈Harness Engineering 架構全景〉裡把這套分級機制拆解成七個元件的參考架構,從 Risk Contract 到 Preflight Gate 到 Remediation Loop,完整講清楚「系統怎麼接住 AI」。這裡先講核心邏輯。

這跟 ATPM 框架裡的 QA 驗收邏輯是一致的:

變更類型 風險等級 審查要求
文件修改、測試補充 AI 自動審查 + 自助提交
業務邏輯修改 AI 審查 + 同儕 review
基礎設施變更、權限修改 AI 審查 + 資深工程師 review + 自動化測試通過
生產環境部署、資料庫 schema 變更 極高 多人簽核 + staging 驗證 + 回滾計畫

關鍵是:根據變更的「爆炸半徑」來決定審查強度,而不是根據提交者的職級。

一個資深工程師用 AI 生成的基礎設施變更,風險不會因為他資深就變小。

反過來,一個初級工程師用 AI 修改一個文件的 typo,不需要資深工程師簽字。


坦白說:答案已經有了,叫 Harness Engineering

科技巨頭們一邊向全世界推銷 AI 的未來,一邊在自己家裡悄悄給 AI 上鎖。

這聽起來很諷刺,但我覺得這反而是好事。

因為這代表他們在真實生產環境裡驗證了 AI 的能力邊界。不是在實驗室,不是在 benchmark,是在影響真實客戶的系統裡。

我自己用 Claude Code 寫了 63 萬行程式碼,經歷過各種 AI「脫韁」的時刻。所以我完全理解亞馬遜為什麼會下禁令。

但我也知道,禁令只是止血。真正的解法,其實已經有人做出來了。

OpenAI 自己的工程團隊,3 個人、5 個月、100 萬行代碼、0 行人寫。他們把這套方法叫 Harness Engineering

核心哲學八個字:Humans steer. Agents execute.(人類掌舵,Agent 執行。)

注意——不是「人類禁止 Agent」,也不是「Agent 自由奔跑」。是人類建好框架,Agent 在框架裡全速運轉

亞馬遜的問題,說穿了就是:Agent 在全速奔跑,但框架沒建好。

Harness Engineering 的做法跟亞馬遜的禁令形成了完美對比:

  亞馬遜的禁令 Harness Engineering
策略 限制人(禁止初中級提交) 限制變更(用架構約束框住 Agent)
護欄 資深工程師人工簽字 自動化 linter + preflight gate + CI 攔截
速度 降速(人工瓶頸) 加速(Agent 犯錯時,修復指令自動注入 context)
學習 切斷初級工程師學習管道 Agent 每次犯錯都會被框架糾正,越跑越穩
擴展性 資深工程師成為瓶頸 Peter Steinberger 一人一天 627 次提交

Peter Steinberger 一個人用 Claude Code 管理上百個 PR,每個都過 review。他不是用「禁令」控制 AI,而是用控制平面(control plane)接住 AI 的高速產出——risk tier contract 分級風險、preflight gate 自動攔截危險變更、remediation loop 自動修復偏差。(完整的七元件架構拆解,見〈Harness Engineering 架構全景:AI 可以寫 Code,但不能自己上 Production〉

如果亞馬遜的 AWS 團隊有這套機制,AI 提出「刪掉整個生產環境」的那一刻,preflight gate 就會直接攔下來。根本不會等到人類按 Yes。

禁令是用人的注意力當護欄。Harness Engineering 是用系統的架構當護欄。

人的注意力會疲勞、會自滿、會在連續按 50 次 Yes 之後麻木。

系統的架構不會。

所以我的結論是:

亞馬遜的禁令方向對了——承認 AI 需要護欄。但解法選錯了——用人去擋,而不是用系統去接。

2026 年企業 AI coding 落地最重要的課題,不是「AI 能不能用」,不是「誰可以用」,而是:

你的 repo 準備好接住 Agent 了嗎?

這才是 Harness Engineering 真正在回答的問題。


常見問題 Q&A

Q: 亞馬遜是不是要放棄 AI coding?

不是。禁令的對象是「無人審查的 AI 程式碼提交」,不是 AI coding 本身。亞馬遜依然在大規模投資 AI 開發工具(包括 Amazon Q Developer)。禁令的邏輯是「加護欄」,不是「關掉引擎」。

Q: 這個事故是不是代表 AI 寫的 code 不可靠?

不完全是。AI 寫的 code 跟人類寫的 code 一樣,都需要 review。問題不在 AI 的能力,在於「誰決定這段 code 可以進 production」。人類寫的爛 code 一樣會炸——差別是 AI 可以用極快的速度產出大量有風險的變更,如果沒有審查機制,爆炸半徑會被放大。

Q: 小公司也需要這種分級審查嗎?

需要,但規模可以不同。核心原則是一樣的:任何涉及基礎設施、權限、生產環境的變更,不管是人寫的還是 AI 寫的,都應該有第二雙眼睛看過。 小公司可能只需要一個簡單的 PR review 流程,大公司需要更正式的簽核制度。

Q: 我是初級工程師,公司禁止我用 AI coding,該怎麼辦?

先理解公司的顧慮。然後用 AI 來學習而不是直接提交——讓 AI 幫你理解 codebase、解釋錯誤訊息、探索不同解法。把 AI 當導師而不是代筆者。當你展示出足夠的判斷力,限制自然會放鬆。


延伸閱讀