每每看到那些很漂亮、很厲害的網頁設計,工程師的職業病讓我們習慣性地開始分析這個網頁用了哪些技術棧,從開發者工具中嘗試挖出些什麼蛛絲馬跡,但在經驗、知識以及沒有原始碼的狀況下,要依樣畫葫蘆做出一樣的網站,需要大量的時間進行試錯。
在這種「伸手不見五指」的困境中,我們該如何透過 AI 進行現代化的技術反推呢?這就是「黑箱逆向工程」(Blackbox Reverse Engineering) 登場的時刻。在科技諮詢機構 Thoughtworks 最近的一項實驗中,他們以 Odoo CRM(一款開源企業資源規劃系統)為對象,挑戰在完全不看原始代碼的情況下,如何利用 AI 重建系統。
黑箱逆向工程的原理
「黑箱逆向工程」其實就像觀察一台自動販賣機。即使你看不見機器內部的齒輪、馬達或電路板,但只要你觀察到「投入 20 元」並「按下按鈕」,機器就會「掉出一瓶可樂」,你就能推導出它的運作邏輯。我們不需要拆開機器,只要透過觀察「輸入」與「輸出」的關係,就能寫出這台機器的說明書。
使用 AI 導航員進行自動化的「偵查」任務
在傳統的開發流程中,工程師需要花費數週手動點擊每一個按鈕來記錄功能。但在這次實驗中,Thoughtworks 使用 AI agent 配合 Playwright MCP(一種自動化控制瀏覽器的工具)充當這項逆向工程的「偵查兵」。

給 AI 的提示詞很明確:查看 Odoo CRM 中「銷售流水線 (Sales Pipeline)」裡使用者如何使用「建立新機會」的功能,AI 會像真實用戶一樣操作介面,自動點擊、截圖,並生成功能說明書,對「使用者介面 UI」、「資料庫 Database」、「網路流量 Network Traffic」進行不同程度的觀察。
- 使用者介面:觀察靜態元素(static elements)、動態行為(dynamic behavior)、點擊路徑(click paths)
- 資料庫:雖然後端程式碼是隱藏的,但資料庫 schema 與現有資料則可以被檢視與分析
- 網路流量:允許 AI 檢查瀏覽器與後端伺服器之間的網路請求(network requests),作為額外的資料來源

它不僅能捕捉到最順利的「快樂路徑」(Happy Path,代表最標準的操作流程),同時還發現必須讓 AI 運行多次並合併結果,才能挖掘出更複雜的流程分支——例如:當某個下拉選單被選取時,哪些欄位會神奇地自動填入。這種自動化偵查將工程師從枯燥的點擊測試中解放,讓我們能從更高維度去審視系統。

數據捕捉的智慧——追蹤「泥地上的腳印」
如果不看代碼,我們怎麼知道後端在偷偷做什麼?我以可以把這稱為追蹤「泥地上的腳印」法。即使我們看不見一個人在黑夜中走路,但只要觀察泥地上留下的腳印,就能知道他去了哪裡。

在實驗中,Thoughtworks 利用 CDC(Change Data Capture,資料變更追蹤技術)在資料庫設置觸發器。當 AI 在前端點擊按鈕,CDC 就會即時記錄下資料庫中所有的 INSERT(新增)和 UPDATE(更新)操作,這一種成本低但有效的黑箱 query reverse engineering 技術。
相比於監控複雜的 API(系統間通訊的介面),監控資料庫(CDC)有以下優勢:
- 直擊真相:API 往往只是內部的實作細節,甚至比資料庫更難搞懂;而資料庫的變動才是業務邏輯最終且最真實的體現。
- 低成本且高效:透過數據結構的改變,AI 能精準反推出後端執行的業務規則。
- 高保真度:它揭示了系統真正「儲存」了什麼,而非僅僅是前端「顯示」了什麼。
AI 只是加速器,而非完全自動駕駛
雖然 AI 在生成規格書方面表現卓越,但在「驗證與重建」階段,它仍會露出馬腳。當我們嘗試將生成的規格書輸入到 Replit(一種快速開發程式碼的工具)進行重建時,我們發現 AI 在規劃複雜的實施步驟時非常吃力,它甚至會完全無視我們提供的資料庫架構(Schema),自顧自地寫出錯誤的查詢指令。
這帶給所有工程師一個至關重要的教訓,正如實驗總結的核心觀點:
「AI 是一個加速器,而不是開發自動化工具,開發過程是人機協作的成果。」
在 AI 時代,工程師的角色正從「寫代碼的人」轉變為「系統守護者」或「邏輯稽核員」,我們需要引導 AI 的構建策略,並在 AI 產生幻覺、偏離軌道時給予修正。

「模糊」測試的興起——讓自動化測試更具「人味」
過去的自動化測試非常僵硬,如果網頁標籤(DOM,網頁的結構元素)稍微改動,測試就會失敗。但 AI 賦予了測試「視覺」與「理解力」。
現在我們可以使用自然語言指令來撰寫測試,例如將生硬的代碼改為:「點擊『+』圖標來創建新機會」。這種方法最神奇的地方在於:同一套測試指令,可以同時運行在 10 年前的高齡系統與剛開發出來的新原型上,即便它們長得完全不同。這種「模糊」的測試方式讓系統遷移過程中的功能驗證變得前所未有的簡單。
這項實驗的意義
這場黑箱實驗帶給我們三個重大的啟示:
- AI 是加速器,不是完全自動化工具
- 任務必須迭代分解,進行小步驟的反向工程
- 持續驗證並給予反饋,提升反向工程的品質
當代碼不再是唯一的真相來源時,我們的核心價值將轉向成為一名「系統考古學家」或「意圖架構師」,此時工作不再只是敲擊鍵盤,而是去定義問題、引導工具,並驗證 AI 生成的系統是否符合現實世界的業務邏輯,未來理解系統「為什麼」這樣運作,將比寫出它「如何」運作更加重要。
