如果孫子有 AI:兵法十三篇的機器學習與決策輔助

ancient%20Chinese%20battlefield%20with%20dramatic%...
發表時間:2026 年 10 月 31 日 | 更新日期:2026 年 10 月 31 日 | 編輯:雅寶社區編輯團隊
如果孫子有 AI:兵法十三篇的機器學習與決策輔助 - 雅寶社區 · 頂客論壇

「得算多」與「得算少」,用今天的語言就是「勝率估計值與其置信區間」。孫子要的不是一個絕對答案,而是一個相對優勢的判斷。這點非常現代——好的決策輔助系統從來不該告訴你「你一定會贏」,它只該告訴你「在現有資訊下,這一手的期望值高於另一手」。

而孫子最狠的一句話是「多算勝,少算不勝,而況於無算乎」。這根本就是在說:沒有資料就別下判斷。兩千五百年後,我們把這句話寫成了機器學習的第一守則——garbage in, garbage out。

二、十三篇的 AI 轉譯:每一篇都是一套機器學習模組

接下來進入正題。筆者試著把十三篇逐篇對應到現代機器學習與決策科學的概念。必須先聲明:這是一場「結構類比」的遊戲,不是嚴格的歷史考據。有些對應非常工整,有些則是筆者自己的腦洞延伸。各位頂客就當作一場思想實驗來看,別拿去做論文引用啊。

《始計篇》:目標函數與損失函數的設計

《始計篇》是十三篇的總綱。它做的最重要一件事,是定義「什麼叫做贏」。孫子列出五事七計,本質上是在設定目標函數:道(民心向背)、天(時機)、地(環境)、將(執行者)、法(制度)。這五個維度,就是決策系統的 reward 設計。

機器學習裡有一句名言:「你優化什麼,你就得到什麼。」如果你把 reward 設成「擊殺數」,模型就會學會無腦衝鋒;如果你把 reward 設成「領土」,模型就會學會龜縮。孫子顯然懂這件事。他反覆強調「道」優先於「天」「地」,就是在提醒:目標函數的權重不能亂設,價值觀必須寫進 reward 裡。

更進一步,「兵者,詭道也」這句,其實是在說明「對手會觀測你的行為並調整策略」。這表示你不能用靜態的監督式學習來建模戰爭,因為你的訓練資料會被對手的反應污染。這是典型的非穩態環境,必須用強化學習或賽局理論來處理。孫子沒有馬可夫決策過程這個詞,但他知道對手的策略會改變你的最優策略。

《作戰篇》:資源約束下的強化學習

《作戰篇》談的是後勤。「日費千金,然後十萬之師舉矣。」這句話翻譯成現代語言:任何策略的執行,都有運算成本。你不可能無限制地 rollout,不可能無限制地蒐集資料,不可能無限制地訓練模型。

強化學習裡有一個核心難題叫「樣本效率」(sample efficiency)。真實世界的互動次數是有限的,模型必須在少數嘗試中學到東西。孫子的解法是「因糧於敵」——不要從自己家裡運補給,要從對手那裡拿。這在 AI 裡的對應叫做「遷移學習」與「資料增強」:不要從零開始訓練,要利用既有模型、既有資料、甚至是對手的輸出。

「故智將務食於敵,食敵一鍾,當吾二十鍾。」這句話如果寫成公式,就是:外部資料的邊際效益,遠高於內部生成的資料。因為內部生成要成本,外部資料幾乎是白撿的。這不就是今天大家在做的資料爬取、開源模型微調、以及知識蒸餾嗎?

《謀攻篇》:最小代價策略與賽局理論

《謀攻篇》的核心是那句被引用到爛掉的話:「是故百戰百勝,非善之善者也;不戰而屈人之兵,善之善者也。」

用決策科學的語言說:最優策略不是勝率最高的策略,而是「期望成本最低」的策略。百戰百勝聽起來很爽,但每一次戰鬥都在消耗資源、暴露資訊、累積風險。真正的高手,是讓對手在開打之前就放棄。

這在賽局理論裡叫「子賽局完美均衡」——你要讓對手在每一個節點上都相信,繼續對抗對他不划算。而在 AI 裡,這對應的是「策略性威懾」:模型的目標不是把對手打到歸零,而是把對手的期望收益壓到低於他的參與約束。孫子如果去寫博弈論教科書,大概會把「不戰而屈人之兵」放在第一章第一頁。

孫子還給了一張量化標準:「十則圍之,五則攻之,倍則分之,敵則能戰之,少則能逃之,不若則能避之。」這根本是一張兵力比對策略表:十倍兵力包圍、五倍兵力強攻、兩倍兵力分兵、勢均力敵就正面對決、兵力少就逃、完全打不過就避。用今天的語言,這是「基於狀態的動作選擇策略」(policy),而且門檻值設得非常清楚。

《軍形篇》:穩健性與訓練測試分離

《軍形篇》講的是「先為不可勝,以待敵之可勝」。這句話是機器學習裡「穩健性」(robustness)概念的最佳古代表述。

「不可勝」是什麼?是模型在分布內資料上的表現穩定,不會因為一點點擾動就崩潰。「以待敵之可勝」是什麼?是等待分布外資料出現,或者等待對手犯錯。你不能控制對手的失誤,你只能控制自己不被擊敗。

孫子說:「善戰者,立於不敗之地,而不失敵之敗也。」這句話翻成 ML 語言:好的模型,先在驗證集上站穩,再等待測試集上的機會。你不能保證測試集一定友善,但你可以保證自己沒有過擬合。

更有意思的是「勝兵先勝而後求戰,敗兵先戰而後求勝」。這不就是「先切分訓練集與測試集,再開始調參」嗎?先確定評估方式,再開始訓練。反過來做,就是資料洩漏。孫子如果看到有人拿測試集調超參數,大概會說:「此敗兵之道也。」

《兵勢篇》:奇正相生與混合策略

《兵勢篇》最抽象,但也最有趣。「凡戰者,以正合,以奇勝。」正兵是正面對抗,奇兵是出其不意。孫子說這兩者要「相生」,像一個循環。

在賽局理論裡,這叫「混合策略」(mixed strategy)。如果你的策略是純策略,對手只要觀察幾次就能破解。你必須隨機化,讓對手無法預測。石頭剪刀布的最優解就是各三分之一,不是永遠出石頭。孫子沒有聽過納許均衡,但他知道「不可預測性」本身就是一種武器。

而「勢」這個概念,用今天的語言,接近「梯度」或「動量」。孫子形容「勢如彍弩」,拉滿的弓,一放就飛出去。這是在描述一種累積的位能,一旦釋放就產生巨大的動能。在優化演算法裡,動量法(momentum)就是在累積過往梯度的方向,讓更新不會因為局部雜訊而震盪。孫子沒有梯度下降,但他懂「蓄勢」。

《虛實篇》:對抗樣本與生成式欺敵

《虛實篇》是筆者認為最適合用 AI 語言重讀的一篇。「故善攻者,敵不知其所守;善守者,敵不知其所攻。」這句話說的是:讓對手無法建立對你的正確模型。

在對抗式機器學習裡,這叫「對抗樣本」——對輸入做極小的擾動,讓對手的模型判斷錯誤。而「形人而我無形」,則是更高階的版本:我不只騙你的模型,我還讓你的模型以為它看得很清楚。

「故形兵之極,至於無形。」這句如果寫成技術文件,大概是:「透過生成模型製造高擬真度的誘餌分布,使對手的判別器無法收斂。」生成對抗網路(GAN)的本質就是兩個模型互相欺騙:生成器想騙過判別器,判別器想抓出假貨。孫子如果看到 GAN,大概會拍桌說:「這不就是虛實嗎?」

「水因地而制流,兵因敵而制勝。」這句話更是直接把「策略必須是狀態的函數」講清楚了。水沒有固定形狀,所以能適應任何容器;好的策略不該有固定腳本,而該是一個 policy function:輸入狀態,輸出動作。

《軍爭篇》:路徑規劃與時序決策

《軍爭篇》談的是「如何比對手更快到達關鍵位置」。「以迂為直,以患為利」是這篇的靈魂。表面上繞遠路,實際上抄近路。

這在電腦科學裡叫「路徑規劃」,最具代表性的演算法是 A*。A* 的估價函數是 f(n) = g(n) + h(n),g 是已經走的成本,h 是預估剩下的成本。孫子的「以迂為直」,就是在說:不要只看 g,要看 h。短期繞路可能讓 g 變大,但如果 h 大幅下降,總成本反而更低。

「其疾如風,其徐如林,侵掠如火,不動如山。」這四句被很多人當成文學修辭,但它其實是一組「動作時序策略」:什麼時候該快、什麼時候該慢、什麼時候該猛、什麼時候該穩。用強化學習的語言,這是 action timing 的 policy,而且它明確區分了不同狀態下應該採取的節奏。孫子沒有時間步的概念,但他知道節奏感本身就是策略的一部分。

《九變篇》:探索與利用的兩難

《九變篇》的核心是「將在外,君命有所不受」。這句話在組織管理上是授權,在 AI 裡則是「自主性」。

一個只會照著中央指令行動的系統,反應速度一定慢。孫子認為,前線將領必須有臨機決斷的權限,因為戰場狀態變化太快,中央來不及反應。這在強化學習裡叫「探索」(exploration):模型必須在未知狀態下嘗試新動作,而不是永遠選擇目前看起來最好的那一個。

「是故智者之慮,必雜於利害。」這句話太精采了。它說:聰明的決策要同時考慮利益與損害。這在 reward shaping 裡叫「風險調整」——不能只看期望報酬,還要看尾部風險。只追求最大期望值的策略,往往會在極端情況下爆掉。

《行軍篇》:異常偵測與訊號處理

《行軍篇》大概是十三篇裡最「工程」的一篇。它花了大量篇幅描述如何從自然現象判斷敵情:「眾樹動者,來也;眾草多障者,疑也;鳥起者,伏也;獸駭者,覆也。」

這不就是異常偵測嗎?從環境的細微變化,推斷背後有沒有人為活動。樹在動,可能是風,也可能是人;草叢裡有障礙物,可能是自然地形,也可能是埋伏。你要從雜訊裡分離出訊號。

而「令之以文,齊之以武」則是組織行為的規範:用文的手段建立共識,用武的手段維持紀律。在 AI 系統裡,這對應的是 soft constraint 與 hard constraint——軟性獎勵引導行為,硬性規則防止災難。獎勵可以慢慢調,但安全邊界不能有彈性。

《地形篇》:特徵空間與狀態表示

《地形篇》把地形分成六類:通、掛、支、隘、險、遠。每一類都有對應的戰術。這根本是一份「狀態分類手冊」。

在機器學習裡,這叫「特徵空間」的劃分。你把原始狀態映射到一組有意義的特徵,然後針對不同特徵區域設計不同的策略。通形是「我可以去,敵人也可以來」,所以要搶占高地、保護補給線;隘形是「一夫當關」,所以要先占領隘口。這跟決策樹在做的事情一模一樣:根據特徵把狀態空間切成一塊一塊,每一塊給一個動作。

孫子說:「夫地形者,兵之助也。」地形是輔助,不是決定因素。這在 ML 裡也成立:特徵很重要,但特徵不是全部。好的特徵工程能讓模型事半功倍,但再好的特徵也救不了錯誤的目標函數。

《九地篇》:遷移學習與情境感知

《九地篇》把戰場情境分成九種:散地、輕地、爭地、交地、衢地、重地、圮地、圍地、死地。每一種情境,士卒的心理狀態不同,對應的策略也不同。

這在 AI 裡叫「情境感知」(context awareness)與「遷移學習」:同一個模型,在不同情境下要能調整行為。散地(本國境內)士卒容易逃散,所以要統一意志;死地(無路可退)士卒會拚命,所以反而能激發最大戰力。

「投之亡地然後存,陷之死地然後生。」這句話是《九地篇》的名言。用 RL 的語言說:有時候,縮小 action space 反而能提高成功率。當所有逃脫路徑都被封死,模型只能專注於唯一可行的策略,反而避開了猶豫不決的損耗。這是一種極端的正則化。

《火攻篇》:風險敏感決策

《火攻篇》表面上談火攻,實際上談的是「高風險、高報酬、不可逆」的決策。「發火有時,起火有日」——時機要精準。「主不可以怒而興師,將不可以慍而致戰」——不能因為情緒而決策。

在 AI 裡,這對應的是「風險敏感型強化學習」(risk-sensitive RL)。有些動作的後果不可逆,一旦執行了就無法撤回。火攻就是這種動作:燒了就是燒了,不能重來。所以決策系統必須對這類動作設更高的門檻、更嚴格的評估。

「非利不動,非得不用,非危不戰。」這三句話,翻譯成 reward 設計原則:只有期望收益為正才動、只有確定能拿到才用、只有真正危急才戰。這是非常保守、非常工程師思維的風險控制邏輯。

《用間篇》:資料來源與隱私

最後回到《用間篇》。前面已經談過五間的分類,這裡補一個更現代的視角:資料隱私與來源倫理。

孫子說:「間事未發而先聞者,間與所告者皆死。」這是保密條款。在資料治理裡,這就是 access control 與資料分級。情報的外洩,往往不是因為敵人太強,而是因為內部管控太鬆。

「故三軍之事,莫親於間,賞莫厚於間,事莫密於間。」親、厚、密,三個字分別對應:信任機制、激勵機制、安全機制。這不就是今天我們在設計資料管線時最在意的三件事嗎?誰能碰資料、為什麼要碰、碰了會不會出事。

三、決策輔助的倫理與邊界:孫子會怎麼看「自動化戰爭」

講完技術對應,我們必須回到一個更嚴肅的問題:如果孫子真的有 AI,他會全盤接受嗎?筆者的判斷是:他會用,但他會非常小心。理由有三。

「不戰而屈人之兵」與 AI 的威懾邏輯

第一,孫子最在意的從來不是「打贏」,而是「不打」。他的最高標準是「不戰而屈人之兵」。而 AI 最擅長的,恰恰是「預測」與「威懾」——透過大量模擬,讓對手知道繼續對抗的代價高於妥協。

但這裡有一個陷阱:AI 的預測會改變對手的行為,對手的行為又會改變 AI 的預測。這是反射性(reflexivity)問題。孫子懂這個道理,所以他不迷信預測,他說「兵無常勢,水無常形」。AI 可以輔助判斷,但不能取代對「無常」的敬畏。一個過度自信的預測系統,往往比沒有預測系統更危險。

演算法偏誤與「將者,智信仁勇嚴」

第二,孫子對「將」的要求是智、信、仁、勇、嚴。這五個字,本質上是在描述一個決策者的品格。而 AI 沒有品格,它只有目標函數。

如果你的目標函數設錯了,AI 會非常有效率地做出錯誤的事。這就是演算法偏誤。孫子說「將者,國之輔也,輔周則國必強,輔隙則國必弱」——決策輔助系統的好壞,取決於設計者的價值判斷。AI 不會幫你決定「什麼是正義」,它只會幫你把「你定義的正義」執行到極致。問題是,你憑什麼確定你定義的正義是對的?

人類在迴路中的必要性

第三,也是最關鍵的一點:孫子反覆強調「知」的重要性,但他同時知道「知」永遠不完整。「知之為知之,不知為不知,是知也」——這句話雖然不是孫子說的,但精神相通。

AI 的輸出永遠帶著不確定性。好的決策輔助系統,必須把不確定性攤開給人看,而不是給出一個過度自信的答案。孫子如果活在今天,他大概會是那種堅持「human-in-the-loop」的人:AI 可以算,但最後一拍必須由人來按。因為戰爭的代價太高,高到不能把責任外包給一個機率分布。

四、雅寶社區腦洞總結:從竹簡到神經網路的千年對話

寫到這裡,這篇腦洞也該收尾了。回頭看,我們把十三篇拆成了十三個模組,從資料蒐集、特徵工程、目標函數、策略選擇、風險控制,一路談到倫理邊界。你會發現,孫子當年用竹簡和毛筆寫下的東西,竟然可以在兩千五百年後,用矩陣和梯度重新表述一遍。

但筆者想強調的是:這不是「孫子很神」的證明,而是「決策的本質很穩定」的證明。無論你用竹簡還是 GPU,無論你面對的是諸侯聯軍還是推薦系統的點擊率,你都得回答同樣的問題:目標是什麼、資料從哪來、對手會怎麼反應、風險怎麼控制、誰來負責。

孫子沒有給出標準答案,但他把問題問對了。而問對問題,往往比給出答案更難。這也是為什麼兩千五百年後,我們還在讀十三篇——不是因為它給了我們答案,而是因為它教我們怎麼問問題。

最後,留一個開放式腦洞給各位頂客:如果十三篇真的被做成一套開源決策輔助框架,你覺得哪一篇最難工程化?筆者的答案是《九變篇》——因為「將在外,君命有所不受」這種授權邏輯,最難寫成程式碼,卻也最決定一套系統能不能真正上戰場。

歡迎在留言區繼續開腦洞。歷史版的本體,就是大家一起把古人拉進現代,再把他送回去。我們下次見。

🏠 返回首頁