不过,如鲁迅先生所说,《三国演义》"状诸葛多智而近妖",对能呼风唤雨,召唤天兵天将,还差点以七星灯续命成功的bug般存在于《三国演义》中的诸葛亮来说,"空城计"这种小小计策真的不算什么,按照他的"超能力",没有直接以六丁六甲之法召唤出天兵天将作战,杀得魏兵溃不成军,而只是戏耍司马懿一顿,就已经算很友好的了。

自《三国演义》问世以来,"空城计"就一直是书中一段精彩的叙事,受到广泛之好评:诸葛亮第一次北伐时,马谡失了街亭,司马懿提大军向诸葛亮所在的西城县杀来,诸葛亮身边无兵无将,却叫大开城门,自己坐于城楼上抚琴,与司马懿玩起了心理战。

《三国演义》

《三国演义》一书,被称为"七实三虚",即七分故事是实,三分故事是虚。其虽是演义小说,但还基本遵循着三国历史的史实,只是为增强可读性,加入了不少故事性叙事——如诸葛亮舌战群儒、草船借箭、七星坛借风、三气周公瑾等。

根据笔者的文本比对,"空城计"的故事大体脱胎于后主建兴六年(228)诸葛亮第一次北伐时的历史记叙。

六年春,扬声由斜谷道取郿,使赵云、邓芝为疑军,据箕谷,魏大将军曹真举众拒之。亮身率诸军攻祁山,戎陈整齐,赏罚肃而号令明,南安、天水、安定三郡叛魏应亮,关中响震。魏略曰:始,国家以蜀中惟有刘备。备既死,数岁寂然无声,是以略无备预;而卒闻亮出,朝野恐惧,陇右、祁山尤甚,故三郡同时应亮。魏明帝西镇长安,命张郃拒亮,亮使马谡督诸军在前,与郃战于街亭。谡违亮节度,举动失宜,大为郃所破。亮拔西县千馀家,还于汉中。

诸葛亮以赵云、邓芝为疑兵,出斜谷;自引兵出祁山,魏无预备,闻亮北伐,朝野恐惧,天水、南安、安定三郡很快被诸葛亮取得,逼得魏明帝曹叡从洛阳到长安坐镇,并命大将张郃前去抵御。诸葛亮命参军马谡督军在前,与张郃在街亭大战,马谡长于纸上谈兵而疏于战阵,举动失措,为用兵经验老到的张郃大破于街亭。诸葛亮闻马谡之败,遂引兵还汉中,并带走了西县的千余家的人口。

首先,作战双方不对,这时候压根就没有司马懿的事儿。在建兴九年曹真因病被迫将与蜀作战的指挥权交于司马懿之前,诸葛亮三次北伐,所面对的魏军主帅是曹真,大将是张郃,司马懿只是偶尔出现。

其次,"空城计"这事本来就立不住,诸葛亮看马谡失败,时机不对,就调用第三十六计——走为上计,引兵撤退了,没有留下机会让张郃提兵杀到,继而纠结进不进城。

第三,地点也有问题。诸葛亮是自西县撤退(位于祁山附近),而不是"空城计"中所记录之西城县,这看似只是一个简单的笔误,却反映出罗贯中在"编故事"时的迷茫心理,大大露出了马脚,此事详于后文,诸位莫急。

《三国志》

八年秋,魏使司马懿由西城,张郃由子午,曹真由斜谷,欲攻汉中。丞相待之於城固、赤阪,大雨道绝,真等皆还。

建兴八年,魏使司马懿由西城,张郃由子午道,曹真由褒斜道,三路伐蜀,从西与北的两个方向欲攻蜀之汉中。诸葛亮在汉中郡治南郑之西的成固、赤阪二地欲应战。但由于天气原因,暴雨连绵,道路不通,曹真等无功而返。

由图可知,西城是"东三郡"(即房陵郡、上庸郡和魏兴郡)中魏兴郡的郡治。东三郡位于汉中以东,其地山高谷深,道路崎岖难行,长期为当地土著所占有。

但《三国演义》中,罗贯中多次提及的"空城计"的发生地点"西城县",确实无从可考。大概是罗贯中在制作"空城计"这一故事时,结合了建兴六年诸葛亮第一次北伐与建兴八年曹魏伐蜀的基本历史事实,糅合而形成了"空城计"这一惊险而又生动的故事,但在地点选择上,他在二事件的发生地——西县与西城间进退两难,怕处理不好而为后人指摘,所以干脆造出"西城县"的地名来,企图马马虎虎地混过去,两不得罪,岂不妙哉?

此时司马懿既不是魏军的主帅,能号令三军追击诸葛,诸葛亮也不是胆大包天以生命冒险的赌徒,他听闻马谡失败,早早已经安排撤退事宜。而在地名选择上,罗贯中在西县与西城二地之间进退两难,最终选择了"西城县"这一不伦不类的地名,看似高明,实则为后人的探索打开了一道缺口。

参考资料:

《秦汉魏晋史探微》