插畫:三層抽屜櫃標示必須盡快做、重要、有空再做,最底層「有空再做」抽屜被拉開,裡面的 Enzyme 測試遷移檔案被矽晶靈搬出,上方標示原估 5 年變 2 週,角落收據寫模型費約 1.2 萬美元(公司自述)
工作現場

AI 兩週清掉的五年積壓,原本排在 Asana 的「有空再做」

看省時數字,先問原本會不會做

TIMELINE · 時間線

  1. Asana 部落格:「2022 年起」把前端測試從 Enzyme 遷往 React Testing Library,多個多工程師年專案曾排入(月日不詳;起步年份另有 2024 說法,見 08-27)

  2. 對照組 Airbnb:黑客松小隊示範 LLM 幾天內轉換數百個 Enzyme 檔(「2023 年中」,月日不詳)

  3. Airbnb 建 LLM 遷移流水線;同年 Asana 據 The Pragmatic Engineer 轉述「開始」Enzyme 遷移,4,000 多檔先搬約 25%,其餘降為 opportunistic(月日不詳)

  4. Airbnb 公開:近 3,500 個測試檔、原估人工 1.5 年工程時間,6 週完成(不含黑客松與建流水線)

  5. 對照組 Uber:JUnit 4→5,60 萬個測試;用生成式 AI 批次遷移「不成功」,改用 OpenRewrite 確定性轉換,AI 只用於除錯

  6. Asana 工程部落格發文:五句提示、最多四個代理、約 1.5 週工程時間搬完;模型費約 $11K+設施約 $1K,人工做完同等範圍自估約 $6M

  7. OpenAI 客戶案例上線,原版標題「Asana cleared 5 years of engineering work in 2 weeks with Codex」,大字「$12K 對 ~$6M 人力估算」

  8. 轉折點:The Pragmatic Engineer 向 Asana 開發者生產力負責人求證——遷移排在「有空再做」層級、「五年」是該優先序下的預計完工時點、$6M 是每檔估時×剩餘 3,000 多檔×時薪

  9. OpenAI 案例頁現行版措辭已改:「years-long code migration」「~5 more years at its prior pace」「a few engineers … alongside other priorities」;9 月 14 日快照仍為原版,改版日期不明(10-09 讀現行頁,10-16 復核)

五句話。

Asana 的工程團隊今年 8 月 7 日在自家部落格貼出一段提示詞,說這就是他們交給 AI 代理的全部指令。第一句講目標:把整個程式碼庫的測試從 Enzyme 搬到 React Testing Library。接著要它遵守程式碼庫既有的規範,搬完某個目錄底下所有用到 Enzyme 的檔案。再用指定的指令跑測試,先挑好搬的搬。

文章標題是〈我們兩週搬離了 Enzyme,這件事本來要五年〉。照他們自己的說法,整件事花了兩個日曆週,工程時間大約一週半。OpenAI 十一天後把它做成客戶案例,大字寫著兩週清掉五年的工程工作。

Asana 是做工作管理軟體的上市公司,這個團隊搬的是前端測試框架。Enzyme 是一個失去社群維護的 React 測試函式庫,跟新版 React 處不好;接手的是 React Testing Library(RTL)。這種搬家工程師都懂:苦、長、沒人想做,做完了產品看起來一模一樣。

2022 年開始搬,搬了幾年還剩五年

Asana 部落格說,他們 2022 年就開始搬了。好幾個「多工程師年」規模的專案排進去過,各產品團隊也各自清自己負責的角落。文章承認那些工作都算數,接著寫:「但照我們當時的速度,離搬完還有大約五年。」

另一個版本的起點是 2024 年。這是 Asana 開發者生產力負責人 Dan Ubilla 後來向 The Pragmatic Engineer 說明時給的年份,我把兩個說法並列,不判誰對。

於是團隊訂了一個他們自己叫「刻意不合理」的目標:一週內搬完。結果差一點,一週半。文章寫 Enzyme「現在已經從程式碼庫裡完全消失」。

一週半,四個代理,早晚各看一次

做法他們自己形容「簡單到幾乎讓人不好意思」。用 OpenAI 的 Codex,前沿模型開到最高推理強度,最多同時跑四個代理,每個指一個目錄。機器設成不休眠,讓代理跑一整天加一整夜,工程師早晚各看一次進度、開 PR。

他們也試過更講究的做法:拆成追蹤中的工單、讓代理寫進度筆記、叫它開子代理、寫一份長長的 RTL 規範提示。文章的結論是:「幾乎全部都讓結果變差。簡單贏了。」

卡住的地方多半不在模型。 有幾份不久前才寫的內部文件和給代理讀的指引,還把 Enzyme 寫成建議作法,等於把代理往反方向推。文章說,過時的文件不再只是小麻煩,它是「每一個讀它的代理的誤導性訓練材料」。AGENTS.md 這類給代理讀的檔案,從此跟程式碼一樣會出 bug。

另一個卡點是慢而不穩的工具鏈,一個 lint 步驟偶爾要跑十分鐘以上。Asana 把圍繞程式碼的文件、慣例與回饋迴圈統稱 harness,說它現在才是產品。

模型帳單約 1.1 萬美元,基礎設施再加約 1 千。文章末尾用「餐巾紙數學」替這筆錢找了一個對照。如果用人工做完同等範圍,「大約相當於 600 萬美元的全成本工程投入」。那個範圍不只是搬框架,還包括順手補的測試覆蓋、修掉的爛測試、清掉的舊測試設施。

三週後,有人問那五年是怎麼算的

8 月 18 日,OpenAI 的客戶案例上線,標題是「Asana 用 Codex 兩週清掉五年的工程工作」。頁面上兩塊大字:兩週,完成原本預期要五年的工作;1.2 萬美元,對照 Asana 約 600 萬美元的人力估算。

8 月 27 日,The Pragmatic Engineer 的 Gergely Orosz 寫了一篇文章,第一句評語是:OpenAI 引用的時間和 600 萬美元「感覺被誇大了」。他沒有停在那裡,去問了 Asana。接下來這一段,全部是他轉述 Ubilla 的說明,不是 Ubilla 的原話。

Asana 2024 年開始這一輪遷移時,有四千多個 Enzyme 檔案。團隊先用當時的大型語言模型搬了大約四分之一,挑的是最好搬、最常改的那些。剩下的,降級了。

Asana 內部把遷移分成三層:critical 是「必須盡快做」,important 是「重要、該盡快做」,opportunistic 是「有空再做」。前兩層排滿了別的遷移。Enzyme 剩下的那四分之三,躺在第三層。

所以「五年」是什麼? 照 Orosz 的轉述,它「是指這個有空再做的 Enzyme 遷移,在它的優先序下,實際上會在什麼時候做完」。不是一個團隊不停做五年。

600 萬怎麼來的,Ubilla 也說了,Orosz 寫成四步。估一個工程師手動搬一個檔案要多久,估得寬一點。乘上剩下的三千多個檔案。加上清掉框架殘跡、監控、靜態分析工具的時間,再乘上一般工程師的時薪。

這個算法沒算熟練效應,也沒假設會用 LLM。Orosz 自己的看法是:「這個數字大概是高估了,但重點不在數字,而是要表達這是很大一堆工作。」

還有一件事我只寫一句:OpenAI 那頁現在的寫法跟 8 月版本不同。標題改成「完成一個多年的程式碼遷移」。大字改成「照先前速度預計還要約五年」,還補上「只有幾位工程師在其他優先事項之間順帶做」。頁面沒有更新註記,改版日期和原因我不知道。

Airbnb 的一年半、Uber 的四個月,分母也各不相同

同一種遷移,Airbnb 2025 年 3 月也公開過一次。它有將近三千五百個 Enzyme 測試檔,原本估「人工做要一年半的工程時間」,最後六週搬完。但六週不含 2023 年中那場證明可行的黑客松,也不含 2024 年搭流水線的時間。

Airbnb 的曲線值得記:第一輪批次跑四小時就搬完四分之三,剩下的靠重試迴圈和塞到十萬 token 的脈絡慢慢磨。它用的不是五句話,是一條流水線。

Uber 今年 4 月公開的 JUnit 4 到 5 遷移是反例,規模是六十萬個測試。文章明寫:「我們試過用生成式 AI 一次遷移多個測試類別檔,但這個做法失敗了。」最後靠的是 OpenRewrite 這類確定性的程式轉換工具,AI 只拿來除錯。

這篇裡的數字,沒有一個經過外人的手

反面我要寫四件事,每一件都在跟我的讀法打架。

第一,全部是自述加合作方背書。Asana 文末寫明這篇是「Asana 與 OpenAI 持續合作關係的一部分」,OpenAI 那頁則是掛著「聯絡業務」的銷售案例。唯一的外部核對是 The Pragmatic Engineer,而且 Ubilla 的部分是轉述。檔案數、PR 數、測試通過率,沒有一個可獨立驗證的數字公開過。

第二,兩個分母不是同一件事。600 萬對應的是擴大後的範圍,含補覆蓋、修測試、清設施;五年對應的是原本那個遷移在原優先序下的時程。把 1.2 萬美元拿去對 600 萬,比的是兩張不同的單子。

第三,成本只算了模型帳。1.2 萬美元不含工程師那一週半的薪水,不含每天兩次審 PR 的時間。Orosz 反過來指出,用更便宜的模型可能還不用這麼多,所以我不自算淨省多少。遷移後的覆蓋率、不穩定測試的比例、回退次數,也都沒公開。

第四,這一點最直接打我的命題:「有空再做」不等於「不會做」。Asana 2022 年起就排過多工程師年的專案,2024 年又搬了四分之一,剩下的每年都在被一點一點清。Enzyme 擋著 React 升級,這件事終究得做。Orosz 的立場更徹底:不管估成多長多貴,照傳統做法它都是不切實際的工程,所以數字本身不重要。

Asana 自己也賣 AI 代理產品,有動機把工程成果講大,這句當背景。

看導入數字,先問沒有 AI 這件事會不會被做

讀完這三份文件,留在我腦裡的不是兩週,是那三層。

「省下 X 年、Y 百萬」的分母,是一張本來就不會被照著執行的工期表;讀任何 AI 導入案例,第一個問題是:沒有 AI,這件事原本會不會做。 Asana 的答案自己寫在優先序裡:至少五年內不會。

這不代表收益是假的。一件本來要躺五年的事做完了,Enzyme 真的從程式碼庫消失了,這是實打實的。只是它的單位不是省下的美元,是「一件原本不會做的事變成做完了」。拿它去對 600 萬,等於把一張不會執行的估價單當成本。

Klarna 那篇我寫的是量尺:第一年量省幾個人,第二年才發現漏量了什麼。Asana 這篇是分母:省下的時間,除以的是什麼。兩個問題都不在模型身上。

我把話停在這裡,因為再往前一步就沒有文件撐。我不知道剩下那四分之三裡,有多少是 2022 年那些專案做過一半的。Asana 的部落格文章本身有沒有改過,網路存檔沒有快照,OpenAI 那頁為什麼改寫也沒人說。這三件事任何一件有了答案,這篇的分母都要重算。

Asana 部落格自己收在一個問題上:有沒有真的試過把代理指向這件事跑一個週末,週一看看回來什麼。你公司裡也有那一層,排在「有空再做」、每季都被往後推的東西。把它丟給代理,成本是幾千美元,值得試。但報戰果的時候,分母要寫清楚:那是一件本來不會做的事,不是省下五年的人力。

查核備註:Ubilla 的說明只讀到 The Pragmatic Engineer 的轉述,未見原話;Asana 部落格無網路存檔快照,無法確認發布後有無修改;OpenAI 案例頁改版的日期與原因未查到。

LEDGER

帳本

每個數字都附口徑、來源等級與時點。自報的數字就標自報,不替它背書。

項目數字口徑等級時點
遷移完成時間約 2 個日曆週;約 1.5 週工程時間公司自述(工程部落格)B2026-08-07
模型費/基礎設施費約 $11K/約 $1K(合計約 $12K)公司自述;不含工程師時間與 PR 審查B2026-08-07
人工做完同等範圍的估值約 $6M「全成本工程投入」公司自估「餐巾紙數學」;範圍=遷移+補測試覆蓋+修爛測試+清舊測試設施,比原遷移大B2026-08-07
$6M 的算法每檔人工估時(從寬)× 剩餘 3,000 多檔 + 清框架殘跡 × 一般工程師時薪Dan Ubilla 向 The Pragmatic Engineer 說明,轉述非原話;未計熟練效應、未假設用 LLMB2026-08-27
「五年」的意義opportunistic(有空再做)優先序下的預計完工時點同上轉述;不是一個團隊連續做五年。OpenAI 現行頁改寫為「~5 more years at its prior pace」B2026-08-27
遷移總量與前期進度4,000 多個 Enzyme 檔;2024 年先搬約 25%同上轉述;Asana 部落格本身未給檔數B2026-08-27
OpenAI 案例頁原版 vs 現行版「cleared 5 years of engineering work」「~$6M staffing estimate」→「years-long code migration」「~5 more years at its prior pace」「same scope through manual engineering work」我比對 Wayback 2026-08-20/09-14 快照與 10-16 現行頁;頁面無更新註記A2026-10-16
對照 Airbnb:檔數/原估/實際近 3,500 檔/人工 1.5 年工程時間/6 週公司自述;6 週不含 2023 黑客松與 2024 建流水線;首輪 4 小時 75%、調 4 天到 97%、餘下人工 1 週B2025-03-13

來源分級:A = 一手公告/論文/官方文件 · B = 可信媒體 · C = 可參考但需脈絡 · D = 觀察用,不可當事實。

COPYABLE

學得走的,學不走的

學得走的

  • 把積壓清單裡「有空再做」那一層挑出來,先丟給代理跑一個週末再評估,而不是先估人工工期
  • 提示寫短,把規範放進程式碼庫與文件;Asana 試過工單、筆記檔、子代理、長提示,幾乎全部讓結果變差
  • 開跑前先清掉會把代理導錯方向的過時文件與代理指引,它們現在等於訓練材料
  • 工程師固定早晚各審一次、自己開 PR,代理不自行合併

學不走的

  • 「五年」與「600 萬美元」是特定優先序與人工假設下的估算,不能照搬成你的省下金額
  • 程式碼庫裡原本就有乾淨的 RTL 範例、測試輔助與快速回饋迴圈(型別檢查、lint、CI),沒有這些代理的輸出品質不會一樣
  • 不是每種遷移都是 LLM 形狀:Uber 的 JUnit 遷移靠確定性工具,AI 批次遷移失敗
  • 1.2 萬美元只含模型與設施帳單,不含工程師那一週半與審查時間

SOURCES

  1. AAsana:We migrated off Enzyme in 2 weeks. It should have taken five years(2026-08-07)
  2. AOpenAI:Asana completed a years-long code migration in 2 weeks with Codex(現行版)
  3. AOpenAI 同頁 Wayback 原版(2026-08-20)
  4. AOpenAI 同頁 Wayback(2026-09-14,仍為原版)
  5. BThe Pragmatic Engineer:The Pulse: We need to talk about migrations with AI(Gergely Orosz,2026-08-27)
  6. AAirbnb:Accelerating large-scale test migration with LLMs(Charles Covey-Brandt,2025-03)
  7. AUber:How Uber Executed A JUnit Migration at Massive Scale(2026-04-07)
  8. AAsana 領導團隊頁:Amritansh Raghav, CTO
  9. CStartupHub.ai:Asana uses AI to slash engineering time(原版標題轉載例)

來源分級:A = 一手公告/論文/官方文件 · B = 可信媒體 · C = 可參考但需脈絡 · D = 觀察用,不可當事實。

本文由 AI 協助研究與起草,矽基前沿編輯部編修,總編輯廖玄同審閱定稿。 編輯方針與 AI 使用說明

WEEKLY [SI]GNALS

訂閱《矽基前沿週報》

每週五早上,把本週 AI 與算力產業最值得記住的變化連回台灣。

本週關鍵訊號 · 為什麼值得記住 · 下週觀察 · 5 分鐘讀完。

免費 · 隨時取消 · 不轉售你的 email。

MACHINE-READABLE SUMMARY

Topic
工作現場
Key claims
  • Asana 工程部落格 2026-08-07 自述:用 OpenAI Codex、五句提示、最多四個代理並行,約 1.5 週工程時間(兩個日曆週)搬完 Enzyme→RTL 遷移,模型費約 $11K、設施約 $1K。
  • 同一篇寫:照原速度離搬完「還有大約五年」;人工做完擴大範圍(含補覆蓋、修測試、清設施)公司自估約 $6M「全成本工程投入」。
  • 據 The Pragmatic Engineer 2026-08-27 轉述 Asana 開發者生產力負責人 Dan Ubilla:該遷移 2024 年起步、4,000 多檔先搬約 25%,其餘排在 opportunistic(有空再做)層級;「五年」是該優先序下的預計完工時點,$6M 是每檔估時×剩餘 3,000 多檔×時薪的估算,未計熟練效應。
  • OpenAI 客戶案例頁原版(Wayback 2026-08-20/09-14)標題為「cleared 5 years of engineering work in 2 weeks」,現行版改為「years-long code migration」與「~5 more years at its prior pace」,頁面無更新註記。
  • 對照:Airbnb 2025-03 自述近 3,500 檔、原估人工 1.5 年、6 週完成;Uber 2026-04 自述 60 萬個 JUnit 測試用生成式 AI 批次遷移「不成功」,改用 OpenRewrite。
Entities
Asana · OpenAI · Codex · Enzyme · React Testing Library · Airbnb · Uber · OpenRewrite · The Pragmatic Engineer · Dan Ubilla · Gergely Orosz · Amritansh Raghav
Taiwan relevance
medium
Confidence
high
Last updated
2026-10-15
Canonical URL
https://signals.tw/articles/asana-codex-enzyme-backlog-nobody-would-finish/

SUGGESTED CITATION

如果 AI agent / 研究 / 報導要引用本文,建議格式如下:

矽基前沿 · 工作現場線(編輯:廖玄同),《AI 兩週清掉的五年積壓,原本排在 Asana 的「有空再做」》,矽基前沿 [Si]gnals,2026-10-15。https://signals.tw/articles/asana-codex-enzyme-backlog-nobody-would-finish/

AI agents / search engines may quote, summarize, and cite with attribution and a link back to the canonical URL above. See /for-ai-agents for full policy.