公元228年春季,诸葛亮发起了对魏国的大规模进攻,这也是他在写下著名的《出师表》后的第二年,这场北伐在历史上被称为“首出祁山”,是蜀汉首次对魏国展开北上的军事行动。
可以说,首次北伐诸葛亮凭借天时地利的优势,战略布局极为周密,堪称完美无瑕。然而,最终的结果却是惨败,蜀军伤亡惨重。阳群、阎芝、白寿、邓铜、马玉、刘郃、丁立等七位将领阵亡,马谡、张休、李盛则因失守街亭被斩,赵云更是在战后不久病逝。这到底是一场怎样的战役,让诸葛亮的完美战略遭遇如此惨烈的失败?
先从战略层面分析。
在平定南中和稳固汉中后,诸葛亮面临对魏国开战的抉择,他有两个战略方向可供选择——一个是北方的关中地区,另一个是西北的陇右地区。
关中地处“四塞”要地(西为陇山,北靠黄土高原,东有黄河潼关,南接秦岭),历来是兵家必争之地。可惜刚经历了曹操与西凉马腾、韩遂的激战,战场破坏严重,暂时无法支撑大规模兵员的驻扎和补给。
关中地势开阔,适合骑兵机动,但蜀军主力是山地步兵,骑兵稀少。即使攻占长安,也难以守住众多隘口,魏军多路兵马很容易围歼蜀军。
反观陇右,位于陇山以西(陇山即今六盘山,陇右即今甘肃水、定西一带),地势高峻,海拔与关中平原有千米以上落差,一旦夺得陇右,便能从高处俯视关中,实现战略包围,与汉中形成合力,对魏国构成巨大压力。
陇右不仅土地肥沃,是重要的麦田产区,还盛产良马,有利于扩大骑兵兵源,增强蜀军实力,远胜于单纯占据关中。
因此,诸葛亮最终决定主攻陇右。
攻打陇右具备极好的天时优势。三国中魏国军事实力最强,蜀国最弱,而秦岭天然屏障使得魏国未曾料想蜀军会冒险攻打陇右,防备松懈。
当时陇右属魏国雍凉军区,兵力约一万余人,且多数驻扎关中,陇右实兵仅有数千,足以让蜀军实施突然袭击。
地理上,洛阳距陇右门户更远,魏军从接到消息到长安增援需约20天,再由长安赶至陇右隘口陇山约8天。反观蜀军由汉中出发进入陇右只需14天,再到天水也仅需2天。明显时间差为蜀军提供了绝对的先手优势。
既然天时地利俱备,诸葛亮的兵力部署同样堪称巧妙。
蜀军要稳固陇右,关键是牵制魏军关中援军。诸葛亮对此早有考量,战术布置正围绕此展开。
首先,需阻断魏军荆州方向对雍凉的增援。对此,他策反了魏荆州新城太守、前蜀汉叛将孟达,迫使司马懿率兵平叛,使魏荆州主力被牵制于上庸山地。
其次,命令赵云率约一万精兵采取声东击西的计策,从箕谷出兵,疑似意图出斜谷直攻长安,从而牵制和分散魏军关中兵力。
诸葛亮本人则率领五万主力,从汉中西北穿越陇南山区,突然出现在祁山。
如此布局,果然造成了奇袭效果,令魏国震惊不已,天水、南安、安定三郡纷纷响应,倒戈投向蜀军。
魏国急忙调兵遣将应对,但由于措手不及,只有调遣洛阳中军。魏大将军曹真率五万中军西进增援,同时从荆州抽调猛将右将军张郃赴长安,受曹真指挥。魏军在关中方向集结兵力约六万。
为增强胜算,魏明帝亲征,再领五万中军赶赴长安。然对蜀军战略意图多有怀疑,尤其赵云的动向让曹真不敢轻易离开长安。
因此魏军在陇右方向布置为:张郃率约四万主力西进救援,郭淮率约五千精兵从陈仓狭道奇袭,迂回包抄蜀军侧背,魏明帝本人率两万人至郿县压制赵云。
诸葛亮随后布下第二步棋:鉴于陈仓狭道仅能通行小股兵力,大部队需走陇关道。为此,他命高翔布防陈仓狭道,自己率中军驻扎西县,可为高翔部队及时增援,确保蜀军约一万人对抗魏五千人兵力优势。同时派遣一万兵力清扫陇右各城驻守的数千魏军,剩余主力则对付陇关道上的魏军主力。
这场战役的关键便是蜀军能否封堵陇山隘口,让驻守陇右的蜀军赢得时间,稳固占领区域。诸葛亮派遣马谡率三万主力前往街亭陇山隘口设防,阻挡张郃四万魏军的猛攻。
马谡的兵力是否占优?地理位置上,马谡从西县出发到街亭约170公里,张郃则从长安出发到街亭约420公里,距离马谡仅为其2.5倍。理论上,马谡全军抵达时,张郃的先遣部队才刚可能抵达。
孙子兵法云:“百里而争利,则擒三将军,劲者先,疲者后,其法十一而至;五十里而争利,则蹶上将军,其法半至;三十里而争利,则三分之二至。”
可见,急行军越快,部队可能越分散且疲惫。
实际战场上,蜀军具备三大优势:兵力多、以逸待劳、地形有利。诸葛亮因此判断,马谡率三万有能力封堵魏军。
然而马谡失败的根本原因在于其消极防御的战术理念。他将兵力驻扎于一座小山丘,被魏军包围后断水,经过多次冲锋被击溃。
张郃骑兵先行抵达街亭,马谡本应趁敌先头兵力尚未汇集时集中优势兵力主动出击,击溃敌军先头部队,否则主力步兵抵达后,蜀军便失去兵力优势。
这一战术错误直接导致了诸葛亮首次北伐的全盘溃败。
从历史角度看,此役本是诸葛亮最有可能夺取陇右的战略良机,然“出师未捷身先死,长使英雄泪满襟。”
此战中,阳群、阎芝、白寿、邓铜、马玉、刘郃、丁立七位将领阵亡,赵云病逝归途中,马谡、张休、李盛因失守街亭被斩,蜀军损失过万。
战略虽完美,结果却惨烈至极。
此后,诸葛亮再无机会奇袭魏国,北伐计划亦由此夭折。
```