Agentic AI:那個不知疲倦的軟體考古學實習生
原始來源與檔名:20260512_2026-05-06T095657+0800-Agentic AI — The Enthusiastic Junior Software Archaeologist.md
來源:[[Thilo Hermann]] / Medium — 2026-05-05
原始檔名:2026-05-06T095657+0800-Agentic AI — The Enthusiastic Junior Software Archaeologist.md
NAPKIN | 餐巾紙
餐巾紙公式
Agentic AI ≠ Indiana Jones (Senior Architect). Agentic AI = Tireless Junior Intern. Legacy System Rescue = AI (Brushes away dust, finds patterns) + Human (Understands taboo, enforces consequences).
在面對龐大、混亂且充滿技術債的祖傳程式碼(Legacy Systems)時,Agentic AI 最完美的隱喻不是無所不知的架構師,而是一個「熱情、不知疲倦的初階考古學實習生」。它能在一秒鐘內掃描百萬行程式碼,找出人類早已遺忘的重複模式;但它也極度缺乏「歷史脈絡」,會天真地建議刪除那些「明明沒用到但絕不能動的禁忌變數」。未來的軟體考古學,是人機分工的藝術:機器負責無情地梳理與生成假設,資深人類工程師負責做出不會引發災難的裁決。
一句話
不要指望 AI 能自動幫你重構祖傳的垃圾程式碼。把 AI 當成一個永遠不用睡覺的實習生:它能幫你找出這個系統裡被複製貼上了 23 次的隱藏商業邏輯,或是把 400 行沒人看得懂的神仙代碼總結成人話。但記住,它有著致命的對稱性強迫症,會建議你拔掉那顆看起來毫無用處的「承重牆磚」。在老舊系統的挖掘現場:AI 負責提出提案與掃灰塵,人類負責決定哪塊磚頭拔了整個公司會垮掉。
餐巾紙草圖
[ Software Archaeology Work Split ]
[ The Junior Intern (Agentic AI) ]
- Scans millions of lines instantly.
- Maps forgotten dependencies.
- Explains 400-line legacy methods.
- Danger: Wants to merge identical code ignoring business context.
🤝 Meets 🤝
[ The Senior Archaeologist (Human) ]
- Knows WHY code is ugly (politics, incidents).
- Protects "Taboo Booleans".
- Understands Regulatory/Audit context.
- Makes the final "Do not touch" decision.
ROUND 1: SKELETON | 骨架掃描
“這篇文章在說什麼”
- 精準的角色定位: Agentic AI 不是來取代資深工程師的,它是那個「看過所有文物,且不斷提出問題的實習生」。
- AI 在考古現場的優勢 (War Story #1):
- 擅長大尺度跨層級的模式識別。它能指出某個業務規則被悄悄地複製到了 23 個微服務與 6 個批次檔中。人類只看得到碎片,AI 能拼出完整的器皿。
- 將 400 行的祖傳方法「用五歲小孩聽得懂的話」解釋出來,作為人類理解的起點。
- AI 致命的盲點 (對稱性迷醉):
- AI 極度偏愛一致性與對稱性。但 Legacy 軟體的生存恰恰依賴妥協與特例。
- 禁忌的布林值 (War Story #2): AI 會建議優化/刪除一個「永遠不該為 true」的變數,但人類知道那個變數背後擋住的是十年前的某個災難性業務邏輯。
- 虛假的廢墟 (War Story #3): AI 建議刪除一個「沒有內部參照」的模組。結果那是每年只運行一次、用來產出合規稽核報告的神聖模組。刪了,稽核員就找上門了。
- 人機協作藍圖: 機器快速挖掘並不知疲倦地記錄;人類詮釋意義、衡量後果並決定什麼可以存活。「沒有大人在場,絕不允許隨便拔掉承重牆」。
ROUND 2: DISSECTION | 血肉解剖
“憑什麼這麼說”
核心論證鏈
- 結構相似性 ≠ 語意同一性: 這是 AI 最常犯的錯誤。兩個函數長得一模一樣,AI 認為應該重構合併(DRY 原則);但資深工程師知道,一個是給德國市場的,一個是給法國市場的,未來業務邏輯一定會分叉。過早的抽象化是 Legacy 系統的萬惡之源,而 AI 最愛這種抽象化。
- Context 的不可計算性: 一個模組為什麼長這麼醜?這不是技術決策,這是歷史決策(當時的組織架構、上線壓力、法規要求)。AI 看不到康威定律(Conway’s Law)留下的歷史傷疤,它只會從純代碼層面給出「技術正確但業務找死」的建議。
關鍵證據
- 作者透過三個生動的 “War Stories”(找出重複 23 次的邏輯、差點拔掉禁忌布林值、誤刪年度合規模組),將軟體工程中的痛點與真實世界的考古學完美對應。
邊界條件
- Greenfield vs Brownfield: 在全新的專案(Greenfield)中,AI 可以盡情發揮它的重構天賦與設計模式;但在充滿歷史包袱的專案(Brownfield)中,AI 的權限必須被嚴格降級為「只讀模式」與「建議模式」。
ROUND 3: SOUL | 靈魂提取
“還能怎么用”
- 知識連結: 完美對應了前文《大多數公司根本沒有為 AI 做好準備》中提到的「混亂黑箱」。Legacy Code 就是一個技術層面的混亂黑箱。你不能讓極度理性的 AI 直接接管混亂,因為混亂中包含了維持系統運轉的妥協。
- 深層洞見: “Some ruins are quiet on purpose… Senior archaeologists learn early that some stones are not interesting because of what they are, but because of what they are holding back.” (有些廢墟刻意保持安靜… 資深考古學家很早就學會,有些石頭之所以有趣,不是因為它本身是什麼,而是因為它擋住了什麼。) 這是對軟體維護最深刻的哲學隱喻。那些看起來醜陋、冗餘的代碼,往往是阻擋線上事故爆發的最後防線。
- 行動呼籲: 在你的開發團隊導入 Claude Code 或 Cursor 時,請制定一條鐵律:AI 提議,人類裁決,生產環境才能存活 (AI proposes, humans decide, production survives)。不要讓 AI 自動發佈重構 Legacy 系統的 PR,讓它產生「重構研究報告」,然後由團隊最資深的工程師來 Review。