四十八、有沒有“空城計”

京劇有一套傳統劇目叫《失空斬》,由《失街亭》《空城計》和《斬馬謖》三部戲組成,劇情相連,起因都是馬謖丟失街亭。根據劇情,馬謖失街亭讓蜀軍措手不及,為避免全線潰敗諸葛亮不得不上演了一出《空城計》,騙過了魏軍統帥司馬懿,之後蜀軍安全撤回漢中,諸葛亮追查街亭失利的責任,馬謖被斬。以上情節與歷史事實大體相合,失街亭、斬馬謖都是有的,但其中一些細節並不符合史實,尤其《空城計》這一段。

街亭大敗的消息肯定會讓諸葛亮很震驚,他當時在哪裏呢?

他在祁山附近的天水郡西縣,前面說過,諸葛亮占領西縣後把大本營就放在了這裏。街亭在廣魏郡,西縣的東北方向,兩處直線距離在200公裏以上,中間山水阻隔、道路險峻,以魏軍的行進速度,即使由街亭直奔這裏也得好幾天才能到。

而此時整個隴右地區蜀軍兵力仍占上風,張郃的任務只是打前站,控制住局勢,並不是尋找蜀軍主力決戰,所以放下隴右其他重鎮直接進攻西縣,這種可能性不大。

盡管如此,諸葛亮仍決定馬上撤退。張郃的5萬人馬雖不足慮,但隨後就會有大批魏軍源源不斷開來,拿下隴右繼而攻占涼州的計劃已經失敗了。諸葛亮命令各部撤退,他自己離開西縣時還隨隊帶走了該縣1000多戶人家,把他們遷到漢中。

所以這次撤退是從容的,並不需要上演“空城計”。那麽,至今婦孺皆知的《空城計》又是怎麽來的呢?晉朝有一部史書,講晉初扶風王司馬駿守關中,他手下有幾位中下級官員在一起議論諸葛亮的功過,大家對諸葛亮多持譏評,認為他托身蜀漢不當,力量小卻想辦大事。有個叫郭沖的人站出來為諸葛亮鳴不平,說了諸葛亮的五件事,把這幾位官員說住了,司馬駿聽後十分感慨,稱贊郭沖說得對。

這就是有名的“郭沖五事”,其中一件就是諸葛亮的“空城計”。按照郭沖的說法,諸葛亮有一次屯兵在外,魏延率主力東進,他只留有1萬人馬守城,這時魏軍主將司馬懿率20萬大軍來了,和魏延率領的主力錯道而行,蜀軍因此沒有發現,等諸葛亮知道情況時敵人只有60裏了。諸葛亮想派人通知魏延,但相去已遠,魏延即便回軍也來不及了。城中將士皆失色,諸葛亮卻鎮定自若,他下令軍中偃旗息鼓,不準隨便走出營帳,又下令大開城門,並派人灑掃街道。

司馬懿知道諸葛亮一向持重,而今卻擺出如此虛弱無力的樣子來,懷疑諸葛亮有伏兵,於是率領人馬向北上了山。第二天到了吃飯時,諸葛亮對左右的人拍手大笑道:“司馬懿必然認定我裝出膽怯,一定會有伏兵,所以遁山而走。”偵察兵報告確實如諸葛亮所說,司馬懿後來也知道了這件事,後悔不已。

這大概是諸葛亮用“空城計”騙司馬懿這件事的出處,只是郭沖說的“空城計”並非發生在西縣,而是陽平關。這樣就有漏洞了,因為司馬懿從來沒有率兵到漢中腹地陽平關與諸葛亮交過戰,而一次出動20萬人馬也不可能。並且,司馬駿是司馬懿的兒子,郭沖作為司馬駿的下屬,膽敢在兒子面前非議他老子,可能性更小。

所以,晉朝這部史書所載的“郭沖五事”雖然細節逼真、過程齊全,但可靠性並不強。然而這成為小說家進一步發揮創作的素材,也就有了諸葛亮在西縣用“空城計”嚇退司馬懿10萬大軍的故事。

司馬懿現在根本不在隴右,而在千裏之外的荊州。

這次隴右保衛戰曹魏雖然從中線戰場抽調了一些人馬支援西線,但作為中線戰場的總指揮司馬懿本人並沒有來,帶隊的是張郃。

張郃沒來西縣,司馬懿更不可能來,說諸葛亮在西縣擺下“空城計”,那他對付誰呢?再退一步分析,如果司馬懿真的能率10萬大軍突然圍住西縣,諸葛亮能不能擺出空城計呢?答案也是否定的。

作為一座縣城,規制有著嚴格的限制,城池的周長不過十來裏,與現在縣城的概念完全不同。可以看一下北京西南郊的宛平城,這也是個縣城,大體上是古代縣城的標準版,該城有四座城門,城中的主要街道其實只有兩條,也就是連接四座城門的街道,站在任意一處城墻上都可以把城內的情況一覽無余。

古代縣城裏的常住人口一般也不多,在漢末三國時,即使中原地區超過1萬戶的都算是大縣了,像西縣這樣的邊地小縣,人口很難超過5000戶,這還是全縣的總人口,不是住在縣城裏的人。諸葛亮撤退時帶走了西縣1000多戶,這大概占了西縣全部人口的絕大部分。也就是說,西縣的城池很小,站在城外隨便一個制高點上就可以看清城裏的一切,不用10萬人,只需1萬人馬就能把它圍成鐵桶,即使司馬懿真的來到城外,諸葛亮並沒有施展“空城計”的條件。