?《孫子兵法》作為人類歷史上最早的軍事戰略經典,其思想穿透了2500年的時空,至今仍在政治、商業乃至個人決策領域閃耀光芒。第十二篇《火攻篇》看似聚焦于具體的戰術手段,實則蘊含了深刻的戰爭倫理與生存哲學。本文解讀這一篇章如何用一把火點燃了超越戰爭的智慧。
原文
孫子曰:凡火攻有五:一曰火人,二曰火積,三曰火輜,四曰火庫,五曰火隊。
行火必有因,因必素具。發火有時,起火有日。時者,天之燥也。日者,月在箕、壁、翼、軫也。凡此四宿者,風起之日也。
凡火攻,必因五火之變而應之:火發于內,則早應之于外;火發而其兵靜者,待而勿攻,極其火力,可從而從之,不可從則止。火可發于外,無待于內,以時發之,火發上風,無攻下風,晝風久,夜風止。凡軍必知五火之變,以數守之。
故以火佐攻者明,以水佐攻者強。水可以絕,不可以奪。
夫戰勝攻取而不惰其功者兇,命曰 “費留”。故曰:明主慮之,良將惰之,非利不動,非得不用,非危不戰。主不可以怒而興師,將不可以慍而攻戰。合于利而動,不合于利而止。怒可以復喜,慍可以復說,亡國不可以復存,死者不可以復生。故明主慎之,良將警之。此安國全軍之道也。
譯文
孫子說:火攻形式共有五種,一是火燒敵軍人馬,二是焚燒敵軍糧草,三是焚燒敵軍輜重,四是焚燒敵軍倉庫,五是火燒敵軍運輸設施。
實施火攻必須具備條件,火攻器材必須隨時準備。放火要看準天時,起火要選好日子。天時是指氣候干燥,日子是指月亮行經 “箕”“壁”“翼”“軫” 四個星宿位置的時候。月亮經過這四個星宿的時候,就是起風的日子。
凡用火攻,必須根據五種火攻所引起的不同變化,靈活部署兵力策應。在敵營內部放火,就要及時派兵從外面策應。火已燒起而敵軍依然保持鎮靜,就應等待,不可立即發起進攻。待火勢旺盛后,再根據情況作出決定,可以進攻就進攻,不可進攻就停止。火可從外面放,這時就不必等待內應,只要適時放火就行。從上風放火時,不可從下風進攻。白天風刮久了,夜晚就容易停止。軍隊都必須掌握這五種火攻形式,等待條件具備時進行火攻。
用火來輔助軍隊進攻,效果顯著;用水來輔助軍隊進攻,攻勢必能加強。水可以把敵軍分割隔絕,但卻不能焚毀敵人的軍需物資。
凡打了勝仗,攻取了土地城邑,而不能鞏固戰果的,會很危險,這種情況叫做 “費留”。所以說,明智的國君要慎重地考慮這個問題,賢良的將帥要嚴肅地對待這個問題。沒有好處不要行動,沒有取勝的把握不能用兵,不到危急關頭不要開戰。國君不可因一時憤怒而發動戰爭,將帥不可因一時的氣忿而出陣求戰。符合國家利益才用兵,不符合國家利益就停止。憤怒還可以重新變為歡喜,氣忿也可以重新轉為高興,但是國家滅亡了就不能復存,人死了也不能再生。所以,對待戰爭,明智的國君應該慎重,賢良的將帥應該警惕,這是安定國家和保全軍隊的基本道理。
核心思想
-
火攻戰術的運用:火攻的五種形式,即 “火人”“火積”“火輜”“火庫”“火隊”,強調要根據不同的作戰目標和戰場形勢選擇合適的火攻方式,以達到最佳的作戰效果。同時,指出實施火攻需要具備一定的條件,如 “行火必有因,因必素具”,即要有易燃的物資和合適的氣象條件等。
-
時機的把握:孫子認為火攻的時機至關重要,“發火有時,起火有日”,并具體指出 “時者,天之燥也。日者,月在箕、壁、翼、軫也。凡此四宿者,風起之日也”。強調要準確把握氣候干燥、風力適宜等時機,以發揮火攻的最大威力。此外,在火攻實施過程中,還需根據火勢和敵軍的反應靈活調整戰術,“火發于內,則早應之于外;火發而其兵靜者,待而勿攻,極其火力,可從而從之,不可從則止”。
-
慎戰的理念:文章最后提出 “主不可以怒而興師,將不可以慍而攻戰。合于利而動,不合于利而止”,強調戰爭決策應基于國家利益,而非個人情緒。火攻雖為強大的戰術手段,但使用不當可能導致自身受損,因此要謹慎對待戰爭,充分權衡利弊后再做決策。
火攻之術:天時、地利與毀滅的藝術
1. 火攻的五重維度:從肉體到精神的摧毀
孫子開篇即點明火攻的五種形式:
-
火人(焚燒士兵)
-
火積(焚毀糧草)
-
火輜(破壞裝備)
-
火庫(摧毀倉庫)
-
火隊(切斷運輸)
這五個層次從直接殺傷到后勤癱瘓,構成了完整的“戰爭摧毀鏈”。古代戰爭中,項羽在巨鹿之戰焚燒秦軍糧道,諸葛亮火燒博望坡斷曹軍補給,皆是這一戰術的經典演繹。現代戰爭中,美軍在伊拉克戰爭中優先轟炸電力系統與交通樞紐,本質上也是“火隊”思維的延續——摧毀對手的戰爭生命力。
2. 天時與科學的博弈
孫子強調火攻必須“發火有時,起火有日”,明確指出干燥氣候與星象(箕、壁、翼、軫四宿)對風向的影響。這種將天文、氣象納入戰術計算的思想,展現了古代中國“天人合一”的戰爭觀。
-
案例對比:諸葛亮借東風火燒赤壁成功,而明末李自成強攻開封時盲目決黃河水淹城,反而導致瘟疫流行、民心盡失。兩者對比印證了“順天時者昌”的規律。
3. 火勢與兵勢的共振法則
“火發于內,則早應之于外”——孫子提出火攻必須與外部攻勢形成共振。
-
田單火牛陣:戰國時齊將田單在即墨之戰中,夜間縱火牛沖陣,同時令士兵擂鼓吶喊,使燕軍誤判敵情自亂陣腳。
-
現代啟示:商戰中,企業發動價格戰(火攻)時,往往同步進行輿論造勢(外部呼應),形成對競爭對手的多維打擊。
慎戰之道:火焰背后的冰冷理性
1. “非利不動,非得不用”的決策鐵律
孫子在篇末陡然升華,從戰術討論轉向戰略哲學:
“主不可以怒而興師,將不可以慍而致戰。”
這一轉折揭示了一個悖論:最熾烈的攻擊手段(火攻),反而需要最克制的決策心態。
-
歷史鏡鑒:劉備為關羽復仇伐吳,在怒火中連營七百里,終遭陸遜火燒連營;而毛澤東在朝鮮戰爭中頂住“速勝論”壓力,堅持“零敲牛皮糖”戰術,體現了“合于利而動”的冷靜。
2. “費留”警告:勝利者的致命陷阱
孫子創造性地提出“費留”概念:戰勝攻取卻不鞏固成果,如同把水潑在沙地上,終將流失殆盡。
-
拿破侖的教訓:橫掃歐洲卻未建立有效統治體系,最終讓反法同盟卷土重來。
-
商業戰場:柯達最早發明數碼相機卻固守膠片市場,正是“不修其功”的現代版“費留”。
3. 水火之辯:毀滅與節制的辯證法
“以火佐攻者明,以水佐攻者強。水可以絕,不可以奪。”
-
火象征主動進攻的銳利,但可能引發不可控的連鎖反應(如森林火災);
-
水代表柔性控制,但缺乏決定性力量。
現代核威懾戰略恰是這一思想的極端體現:核武器(火)的毀滅性迫使大國選擇經濟制裁(水)等相對可控的手段。
現代啟示:從戰場火攻到生存智慧的轉化
1. 商戰中的“火攻”邏輯
-
亞馬遜的價格火攻:通過長期虧損擠壓競爭對手,待市場格局重塑后收割利潤,暗合“極其火力,可從而從之”的節奏把控。
-
特斯拉的顛覆之火:用電動化浪潮焚燒傳統汽車工業的“糧草”(發動機技術積累),迫使巨頭轉型。
2. 危機管理的火攻思維
-
預防“火種”:企業需常備“煙火素具”,如數據備份、應急預案。
-
隔離“火勢”:新冠疫情期間,中國的“封控-檢測-追蹤”三步法,正是現代版的“火發上風,無攻下風”。
3. 個人成長的火攻隱喻
-
焚燒惰性(火人):喬布斯“保持饑餓”哲學,本質是對舒適區的自我火攻。
-
切斷退路(火隊):項羽破釜沉舟、王健林“先定小目標”策略,皆是通過摧毀心理退路激發潛能。
火焰永不熄滅的啟示
《火攻篇》以戰術之名,行大道之實。它告誡我們:
-
最激進的手段需要最保守的決策——就像核按鈕必須裝在層層密碼箱中;
-
毀滅是為了更好的生存——森林大火燒盡朽木,反而促進新生態繁榮;
-
真正的勝利不在于燃燒他人,而在于控制火候——正如硅谷巨頭們一邊創新顛覆,一邊游說立法建立新規則。
在這個充滿不確定性的時代,《火攻篇》的終極啟示或許是:我們要做執火者,而非玩火者;要讓火焰照亮前路,而非焚毀歸途。
一、核心軍事術語
1. 火攻五類
-
火人(huǒ rén)
-
釋義:焚燒敵軍士兵。
-
例:“一曰火人。”(焚燒敵軍人馬)
-
-
火積(huǒ jī)
-
釋義:焚燒糧草儲備。“積”指糧草堆積處。
-
-
火輜(huǒ zī)
-
釋義:焚燒輜重裝備。“輜”指軍隊的器械、衣物等物資。
-
-
火庫(huǒ kù)
-
釋義:焚燒敵軍倉庫。
-
-
火隊(huǒ zhuì)
-
注音:“隊”通“隧”,讀?zhuì(非 duì),指運輸通道。
-
釋義:焚燒敵軍運輸設施。
-
2. 煙火必素具(yān huǒ bì sù jù)
-
釋義:引火器材必須提前準備。“素具”即平素準備好。
3. 箕、壁、翼、軫(jī, bì, yì, zhěn)
-
釋義:二十八宿中的四組星宿,古人認為其位置與風向有關。
-
注音:“軫”易誤讀為?chěn,正確讀音?zhěn。
二、天文氣象詞匯
1. 四宿(sì xiù)
-
釋義:指箕、壁、翼、軫四組星宿。“宿”讀?xiù(非 sù),指星宿。
2. 晝風久,夜風止(zhòu fēng jiǔ, yè fēng zhǐ)
-
釋義:白天若持續刮風,夜晚風勢可能減弱。
三、戰略哲學詞匯
1. 費留(fèi liú)
-
釋義:指戰爭耗費巨大卻未鞏固成果,徒勞無功。“留”通“流”,指資源流失。
-
例:“不修其功者兇,命曰‘費留’。”
2. 慍(yùn)
-
注音:讀?yùn(非 wēn),指憤怒、怨恨。
-
例:“將不可以慍而致戰。”
3. 合于利而動(hé yú lì ér dòng)
-
釋義:符合利益才行動,體現理性決策原則。
四、通假字與特殊用法
1. 隊(zhuì)
-
通“隧”,指通道,非現代漢語“隊伍(duì)”之意。
2. 從(cóng / zòng)
-
文中“可從而從之”中:
-
第一個“從”讀?cóng(跟隨),指根據火勢行動;
-
第二個“從”讀?zòng(通“縱”,進攻),指發動攻擊。
-
五、易錯讀音總結
詞匯 | 正確讀音 | 易錯讀音 |
---|---|---|
火隊 | huǒ zhuì | huǒ duì |
慍 | yùn | wēn |
軫 | zhěn | chěn |
費留 | fèi liú | fèi liǔ |
代碼模擬
以下是使用C語言模擬《孫子兵法·火攻篇》核心策略的示例代碼,包含火攻條件判斷、戰術響應及決策邏輯:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>// 軍隊狀態結構體
typedef struct {int soldiers; // 士兵數量int supplies; // 糧草儲備int equipment; // 裝備數量int morale; // 士氣(0-100)
} Army;// 環境條件結構體
typedef struct {int is_dry; // 是否干燥(0-1)int wind_direction; // 風向(0:無風 1:順風 2:逆風)int moon_position; // 月亮位置(0-3對應四宿)
} Environment;// 火攻類型枚舉
typedef enum {FIRE_SOLDIERS, // 火人FIRE_SUPPLIES, // 火積FIRE_EQUIPMENT, // 火輜FIRE_WAREHOUSE, // 火庫FIRE_TRANSPORT // 火隊
} FireType;// 初始化軍隊狀態
void init_army(Army *army) {army->soldiers = 10000;army->supplies = 5000;army->equipment = 3000;army->morale = 80;
}// 生成隨機環境條件
Environment generate_environment() {Environment env;env.is_dry = rand() % 2;env.wind_direction = rand() % 3;env.moon_position = rand() % 4;return env;
}// 檢查天文條件是否滿足
int check_astronomy(Environment env) {// 月亮在箕、壁、翼、軫四宿(對應0-3)return (env.moon_position >= 0 && env.moon_position <= 3);
}// 計算火攻效果
void calculate_fire_effect(Army *target, FireType type, Environment env) {float base_damage = 0.0;float wind_bonus = 1.0;// 環境加成計算if (env.is_dry) base_damage += 0.3;if (env.wind_direction == 1) wind_bonus = 1.5;switch(type) {case FIRE_SOLDIERS:base_damage = 0.4 * wind_bonus;target->soldiers *= (1 - base_damage);target->morale -= 30;break;case FIRE_SUPPLIES:base_damage = 0.7 * wind_bonus;target->supplies *= (1 - base_damage);target->morale -= 20;break;case FIRE_EQUIPMENT:base_damage = 0.6 * wind_bonus;target->equipment *= (1 - base_damage);target->morale -= 15;break;case FIRE_WAREHOUSE:base_damage = 0.8 * wind_bonus;target->supplies *= (1 - base_damage);target->equipment *= (1 - base_damage);break;case FIRE_TRANSPORT:base_damage = 0.5 * wind_bonus;target->soldiers *= (1 - base_damage*0.3);target->supplies *= (1 - base_damage);target->equipment *= (1 - base_damage);break;}// 士氣最低保護if (target->morale < 10) target->morale = 10;
}// 打印軍隊狀態
void print_army_status(char *name, Army army) {printf("\n===== %s 狀態 =====\n", name);printf("士兵數量: %d\n", army.soldiers);printf("糧草儲備: %d\n", army.supplies);printf("裝備數量: %d\n", army.equipment);printf("士氣水平: %d/100\n", army.morale);
}// 戰術決策函數
void tactical_decision(Army *ally, Army *enemy, Environment env) {printf("\n=== 戰術決策階段 ===\n");if (enemy->morale < 30) {printf("執行全面進攻!\n");ally->soldiers -= ally->soldiers * 0.1;enemy->soldiers *= 0.3;} else if (enemy->supplies < 1000) {printf("實施圍困戰術\n");enemy->morale -= 15;} else {printf("保持防御陣型\n");ally->morale += 10;}
}int main() {srand(time(NULL));Army ally, enemy;Environment env;// 初始化init_army(&ally);init_army(&enemy);env = generate_environment();printf("=== 初始狀態 ===");print_army_status("我軍", ally);print_army_status("敵軍", enemy);// 火攻條件檢查printf("\n=== 環境條件 ===\n");printf("干燥天氣: %s\n", env.is_dry ? "是" : "否");printf("風向: %s\n", env.wind_direction == 1 ? "順風" : env.wind_direction == 2 ? "逆風" : "無風");printf("月亮位置: %d號星宿\n", env.moon_position);if (check_astronomy(env) && env.is_dry) {printf("\n>>> 符合火攻條件,發動火隊攻擊!\n");calculate_fire_effect(&enemy, FIRE_TRANSPORT, env);} else {printf("\n>>> 條件不足,改用常規戰術\n");}print_army_status("攻擊后敵軍", enemy);tactical_decision(&ally, &enemy, env);printf("\n=== 最終結果 ===");print_army_status("我軍", ally);print_army_status("敵軍", enemy);return 0;
}
?