跳转至

001 城濮之战——退避三舍,诱敌深入

时间:前632年夏四月 | 交战方:晋文公(重耳) vs 楚令尹子玉(成得臣) 兵力:晋军三万七千五百人(战车七百乘) vs 楚军约四万二千人(含陈蔡联军、右师子西、左师子上) 兵法验证:计篇(多算胜)· 谋攻篇(不战而屈人之兵)· 虚实篇(避实击虚)· 军争篇(以迂为直) 结果:晋军大胜,楚军右师崩溃、左师覆灭,子玉自杀,晋文公确立霸主地位


一、导读

城濮之战是中国战争史上第一场有完整过程记录的大规模战役,也是《孙子兵法》诸多原则的最早实战验证。此战之前,楚国北进中原势头正盛,齐宋皆服;此战之后,晋文公确立霸主地位,楚国的北进被遏制了近半个世纪。战役的核心看点不在于杀戮多少,而在于晋文公战前的一系列决策:兑现流亡时对楚成王的承诺(退避三舍=九十里)、诱使楚军深入晋国预设战场、联合齐秦形成外交包围——每一步都暗合《孙子兵法》的原则,使得这场战役成为兵法验证的第一块试金石。

二、双方态势

晋国方面: - 统帅:晋文公重耳(流亡十九年后归国即位,野心勃勃欲称霸中原),中军将郤縠(病死后由先轸接任)、上军将狐毛、下军将栾枝。 - 兵力:三军七百乘,约三万七千五百人(一乘战车配甲士三人、步卒七十二人,约七十五人)。 - 盟友:齐昭公(怨恨楚国)、秦穆公(同文公联姻)。 - 地形:战场在城濮(今山东鄄城西南),晋军主动后撤至此,背靠晋国盟友卫国方向。

楚国方面: - 统帅:令尹子玉(成得臣),性格刚烈自负,治军以「缙」(练兵苛严)闻名。 - 兵力:楚军本部加陈、蔡两国联军约四万二千人,分为右师(陈蔡联军,战斗力弱)、中军(子玉本部精锐)、左师(子上指挥)。 - 地形:楚军从宋国境内北上追击,深入晋军预设战场,远离楚国本土,后勤线漫长。

决策节点: - 〔决策点1〕楚军围宋,宋向晋求救。晋文公面临选择:直接救宋(越过曹卫,劳师远征)还是先削弱楚的盟友。先轸建议「报施救患,取威定霸,于是乎在」。 - 〔决策点2〕晋军攻曹、卫迫使楚军北上救之——「攻其所必救」(围曹卫→楚必救→解宋围)。 - 〔决策点3〕楚军北上后,晋军主动退避三舍(九十里)。表面是兑现流亡承诺,实际是把楚军引入晋国预设阵地、同时拉长楚军补给线、挫其锐气。

三、兵法原文对照

《孙子兵法·计篇》:

「夫未战而庙算胜者,得算多也;未战而庙算不胜者,得算少也。」

《孙子兵法·谋攻篇》:

「上兵伐谋,其次伐交,其次伐兵。」 「知己知彼,百战不殆。」

《孙子兵法·虚实篇》:

「凡先处战地而待敌者佚,后处战地而趋战者劳。」 「避实而击虚。」

《孙子兵法·军争篇》:

「以迂为直,以患为利。故迂其途,而诱之以利,后人发,先人至,此知迂直之计者也。」

《孙子兵法·兵势篇》:

「凡战者,以正合,以奇胜。」

四、战役经过

〔战前谋划〕楚国围宋,宋向晋求救。晋文公与群臣商议:直接救宋需要越过曹卫两个楚国盟国,劳师远征;先轸提出「攻打曹卫迫使楚军北上救援」,这样宋国之围自然解除——这是典型的「围魏救赵」策略雏形,比桂陵之战早了七十八年。

〔决策点1:攻曹卫,逼楚北上〕晋军攻占卫国五鹿,占领全部卫国领土。楚军果然北上救援,但未能追上晋军主力。

〔决策点2:外交合围〕晋文公暗中许诺曹卫复国(条件是与楚绝交),同时拉拢齐国和秦国参战。子玉果然派使者要求晋军释放曹卫,晋文公扣押楚国使者,激怒子玉。

〔决策点3:退避三舍〕子玉率楚军北上追击晋军,晋文公下令全军后撤九十里(三舍)。军中不解,狐偃解释:兑现流亡时对楚成王的承诺(「退避三舍」),退避三舍既是守信,也是诱敌——后退九十里拉长了楚军补给线,同时让晋军在预选战场(城濮)以逸待劳。

〔决策点4:战场部署〕晋军三军列阵:下军将胥臣(蒙马以虎皮)对阵楚军右师(陈蔡联军),上军将狐毛假装退却引诱楚军左师,中军将先轸、郤溱夹击。

〔战役经过〕胥臣蒙马虎皮冲阵,陈蔡联军惊溃,右师崩溃(〔决策点5〕先打最弱的右翼)。上军将狐毛竖起两面大旗假装退却(诱敌),下军将栾枝让战车拖着树枝扬起尘土伪装撤退(〔决策点6〕再诱)。子玉中军追击,晋军中军公族兵横击,左师覆灭。子玉见左右两军皆溃,下令中军撤退。晋军占领楚军营地,吃了三天楚军粮食后凯旋。

〔战后〕子玉在返楚途中自杀。晋文公听说后大喜:「莫余毒也已!」——没有人再能危害我了。

五、兵法验证

验证一:计篇——「多算胜,少算不胜」 晋军战前庙算极为充分:先轸的「攻曹卫救宋」策略(伐谋)、晋齐秦联盟的外交包围(伐交)、退避三舍的诱敌深入(虚实)、胥臣蒙马虎皮攻击最弱右翼(避实击虚)——每一步都经过精确计算,符合「多算胜」。

验证二:谋攻篇——「上兵伐谋,其次伐交」 晋军并未直接与楚军主力硬拼,而是先用「攻曹卫」伐楚之谋(迫使楚军离开坚城),再用外交手段拉拢齐秦、离间曹卫与楚国(伐交)。「不战而屈人之兵」在此战中体现为:通过外交手段使曹卫与楚绝交——不费一兵一卒就削弱了敌方阵营。

验证三:虚实篇——「避实击虚」「致人而不致于人」 晋军主动后撤九十里,让楚军长途追击、疲惫不堪,自己则以逸待劳——「先处战地而待敌者佯,后处战地而趋战者劳」。战场上先打最弱的右翼(陈蔡联军,避实),再诱左师深入(击虚),处处掌握主动。

验证四:军争篇——「以迂为直,以患为利」 退避三舍本身是一条迂回之路:表面上后退九十里是「患」(损兵威、长敌气),实际上把「患」转化为了「利」——拉长敌军补给线、挫敌锐气、在预设战场以逸待劳。这正是「以迂为直」的最佳诠释。

验证五:兵势篇——「以正合,以奇胜」 晋军下军正面迎击为「正」,蒙马虎皮冲右翼为「奇」;上军假退却诱敌为「正」的延续,中军横击为「奇」。正奇配合,左右夹击中军,形成合围。

总结:城濮之战几乎完美地践行了《孙子兵法》的核心原则。当然,《孙子兵法》成书晚于此战约两百年,所以这不是「按兵法打仗」,而是「兵法总结了此战的规律」。晋文公与先轸的决策——退避三舍的诱敌、蒙马虎皮的奇袭、先弱后强的歼灭顺序——后来都被孙子提炼为理论原则。

六、成败启示

从楚国(失败方)的角度读这场战役,教训有三层。第一层是子玉的性格缺陷:「刚而无礼,不可以治民」——刚愎自用使他拒绝了楚成王「知难而退」的明确指示(楚成王本不想打这一仗),也拒绝了部下「三军已老」的提醒。第二层是情报劣势:晋军的外交动作(拉拢齐秦、离间曹卫)子玉全然不知,他以为自己在追击败军,实际是走进了一个预设的口袋。第三层是最根本的:子玉只有一种战术(正面硬拼),而晋军有多种战术(虎皮冲阵、假退却诱敌、横击中军)。今天读城濮之战,最有价值的启示是:决策质量不取决于决心的强度,而取决于选项的数量。子玉的决心不比晋文公弱,但他只有一条路可走——而晋文公和先轸在每个决策节点上都有至少两个选项。

七、拓展

  • 成语溯源
  • 退避三舍(「退避三舍」——晋文公兑现流亡承诺后撤九十里)——主动让步、以退为进的经典。
  • 莫余毒也已(晋文公闻子玉自杀后语)——再无敌手的自信。
  • 师直为壮,曲为老(子玉语,意为出兵理由正当则士气旺盛,否则士气衰竭)——全条最精辟的军事格言。
  • 关联战役:002 鞌之战(晋齐战:车战规则的延续);004 桂陵之战(围魏救赵:与「攻曹卫救宋」同一策略七十八年后再现);《左传·僖公二十七年—二十八年》(最详尽的原始战记)。
  • 延伸阅读:杨伯峻《春秋左传注》僖公二十七年—二十八年条;《中国历代战争史》第三册城濮之战章;蓝永蔚《春秋时期的步兵》(战车战术研究)。