2026 年 9 月 27 日,@dashen_wang 在 X 發布「構架師・人性卷 02」,把拆解軟體、搜尋引擎與市場的經驗,連到佛洛伊德提出的死本能。原始貼文連結的長文,接著用自我攻擊、失控與虛無整理破壞衝動,也主張成事者常有強烈的自毀傾向;後段再談如何導引這股力量、不要把它對準人,以及把創造 AI 看成一種大型破壞力量。X 長文
這些說法能引出一個有用的工程問題:想把舊系統拆開時,怎麼分辨是在理解它,還是在把破壞本身當成進度?拆解的意願可以啟動調查,卻不能單獨證明系統需要重寫。
死本能是佛洛伊德的理論,不是工程師的人格測驗
佛洛伊德在 1920 年的《超越快樂原則》中,從創傷重複與重複強迫等現象,推想生命是否存在與生命本能相對的死本能,並提出生命回到無機狀態的理論。他也提醒,這段推論借用了生物學猜想,假說可能被新發現推翻。《超越快樂原則》
這個概念後來有生物學、形上學與臨床等不同解讀,也受到「它是否能被科學驗證」的批評。相關回顧並沒有把爭論收斂成共識。概念分析;2022 年回顧
因此,長文把自毀傾向與成事連起來,應讀成作者的詮釋,而不是對所有成功人士或工程師的心理研究結論。佛洛伊德提出的是一套心理理論,不能直接推出「愛拆系統的人比較有創造力」。若把它當成工程人格標籤,便會用故事替代可檢查的行為與結果。
先描述失效,再選擇拆哪一段
把這個比喻帶進重構工作,本文的工程推論是:拆之前先定義要改善什麼,以及哪些行為必須留下。假設團隊打算替換處理 webhook 的舊模組,至少要先寫出三類可觀察條件:
- 要改善的問題:目前是延遲、重複處理、難以部署,還是事故後無法重送?用實際發生的失敗或工作成本說明,不只寫「程式碼很醜」。
- 必須保留的行為:重複請求怎麼處理、失敗後是否重試、使用者何時收到結果,以及哪一方負責送達。把現有承諾寫成測試或契約。
- 可以回復的邊界:先挑一種事件或一條流程切換到新路徑;若結果偏離約定,就停止擴大並把流量切回舊路徑。
這不是「永遠保留舊系統」,而是讓每一步都能回答:改了哪個行為、依什麼證據判斷、失敗時怎麼回復。Martin Fowler 對逐步現代化的整理,也描述了在新舊系統間逐段移動行為的 strangler fig 做法;這是工程模式的經驗說明,並非佛洛伊德理論的延伸。Strangler Fig
把破壞力導向假設,不要導向同事
原文說不要把破壞衝動對準人,這條界線也適用在重構會議:讓討論指向模組的責任、可觀察的故障與待驗證的假設,不把對設計的批評變成對作者能力的判決。這是本文的團隊工作建議,不是心理學研究的結論。
AI 工具也適用相同的問題。把程式碼生成交給模型,並不等於工程責任一併消失;團隊仍須說清楚哪些輸出要驗證、誰承擔上線風險,以及結果失敗時如何停止或回復。若只把「重做一遍」或「交給 AI」當成答案,系統的責任邊界反而可能更模糊。
下一次開重構工作時,先在任務說明中補上一項要改變的行為、一項必須保留的契約,以及一個停止或回復條件。如果三者還寫不出來,下一步應是調查,而不是刪除程式碼。
這是「構架師・人性卷」第 2 篇;可接著讀第 1 篇:工程團隊要把培養設計成工作,不要設計成人情債與第 3 篇:工程招聘要把技能證據和地位訊號分開。
