Poy Chang's Blog

司馬懿的孫子兵法十辯

在專案、架構、團隊協作這些工程師的日常戰場裡,我們面對的挑戰其實和古代戰場沒有太大差別:資源有限、需求多變、敵我態勢瞬息萬變。這篇文章把《司馬懿十辯》重新翻成工程語言,讓兵法不再只是歷史故事,而是能直接用在專案管理、架構設計、技術決策上的實用原則。希望這些「工程師版兵法」能讓你在下一次專案開打時,多一點判斷、多一點餘裕,也多一點勝算。

司馬懿《孫子兵法十辯》

以孫武為經,以司馬懿為緯,以魏晉戰例為證。
本版本為依史實、兵法原則、司馬懿戰略風格所重建之版本。

一、勢辯:勝負在勢,不在力

孫子:「兵勢如水。」
司馬懿: 勢成則弱者強,勢敗則強者弱。將之道在造勢,而非爭力。
戰例: 北伐初期,守勢制蜀,使敵勢盡而退。

二、權辯:兵法貴權,不貴法

孫子:「兵者,詭道也。」
司馬懿: 法可參,不可守;權可變,必須變。
戰例: 上庸反向奪敵後路,使敵自潰。

三、奇正辯:奇正互根,非二法也

孫子:「奇正之變,不可勝窮。」
司馬懿: 正以立不敗,奇以取必勝。奇正一體。
戰例: 曹爽政變時示弱(正)奪權(奇)。

四、虛實辯:攻其虛,避其實

孫子:「攻其無備。」
司馬懿: 虛實不在強弱,而在備與不備。
戰例: 五丈原避蜀備,守其虛。

五、分合辯:兵無常勢,分合在時

孫子:「分合之變,無窮。」
司馬懿: 勢合則合,勢分則分。能使敵分者勝。
戰例: 多次逼蜀分兵守糧,使敵疲勢。

六、速戰辯:速者非急,先者為速

孫子:「兵貴勝,不貴久。」
司馬懿: 速戰非急攻,而是先奪主導。
戰例: 先奪補給線取速,不急攻主力。

七、地形辯:地形者,勢形也

孫子:「地形者,兵之助也。」
司馬懿: 地形非山川,而是敵我態勢。
戰例: 陳倉利用地勢逼蜀不得展開。

八、將道辯:將之道,在藏鋒

孫子:「將者,智信仁勇嚴也。」
司馬懿: 智不露,勇不躁,仁不弱,嚴不暴。
戰例: 對諸葛亮示弱不出,以藏鋒制敵。

九、兵心辯:兵心者,勝負之本

孫子:「三軍可奪氣。」
司馬懿: 兵心散則敗,兵心聚則勝。
戰例: 公孫淵之戰以心理戰瓦解敵心。

十、勝負辯:勝負在戰前,不在戰中

孫子:「勝兵先勝而後求戰。」
司馬懿: 勝負之判在戰前之勢、權、奇正、虛實。
戰例: 曹爽政變前已奪兵權、民心、朝勢,一戰而定。


工程師能看懂的《司馬懿十辯》

把兵法翻譯成工程師語言:
架構、流程、例外處理、環境變數、團隊協作、專案管理。

一、勢辯 = 戰場的架構設計

**子:**不要跟敵人比硬體規格(兵力),要比架構優勢(勢)。
**意:**架構設計對了,弱系統也能跑贏強系統。

二、權辯 = Runtime 決策,不是 Compile-time 規則

**子:**兵法不是規格書,是 runtime 策略。
**意:**能動態調整策略的系統才不會死。

三、奇正辯 = 主流程(正)+例外流程(奇)

**子:**正是穩定主流程,奇是例外處理。
**意:**主流程保證不掛,例外流程決定能不能贏。

四、虛實辯 = 打漏洞,不打防火牆

**子:**不要打敵人最硬的地方。
**意:**找沒打 patch 的地方下手。

五、分合辯 = 微服務拆合策略

**子:**拆或合不是宗教,是時機。
**意:**能讓敵人拆散、讓自己合起來,就是贏。

六、速戰辯 = 先搶主導權,不是先衝

**子:**速戰不是快,而是先。
**意:**先搶到主導權,你就能定義遊戲規則。

七、地形辯 = 系統環境就是地形

**子:**地形不是地理,是環境變數。
**意:**能讓環境變數對你有利,就是地形優勢。

八、將道辯 = 不要暴露你的能力

**子:**工程師的強,不是一直秀,而是關鍵時刻才出手。
**意:**平常示弱,敵人就不會防你。

九、兵心辯 = 團隊士氣是核心資產

**子:**士氣比技術重要。
**意:**士氣散了,什麼架構都救不了。

十、勝負辯 = 專案成敗在 Kickoff,不在 Sprint

**子:**專案在開始前就決定成敗。
**意:**需求、架構、資源、風險都先處理好,後面就只是執行。


參考資料: