空城计札记
作者 李庆西
发表于 2020年8月

“空城计”是诸葛亮初出祁山的收官之笔,事在《三国演义》第九十五回。因马谡失却街亭,诸葛亮只得安排退兵之计,自引五千人马去西城县搬运粮草。不料司马懿父子率十五万大军蜂拥而来,这时身边没有一个能上阵的将官,而五千军中却有一半运粮走了。无奈之下弄险大开城门,以虚应实,眩惑对方。眼见诸葛亮在城楼上焚香操琴,司马懿疑有伏兵踟蹰不前,终竟不战而退。此节本是蜀军撤退的过渡情节,寥寥千余文字却成了压轴的重头,在三国层出不穷的谋略叙事中,实为最令人叫绝的一计。

《三国演义》以陈寿《三国志》为蓝本,许多奇崛的情节亦自有其本事。如,曹操下套离间马超韩遂,那种桥段怎么看也像纯然出自小说家手笔,却是《魏志·武帝纪》建安十六年记事。不过,“空城计”这故事并不见于《三国志》诸传,亦未载入《晋书·宣帝纪》(按,陈寿撰《三国志》因避讳不作司马懿传,《宣帝纪》可补此缺),实际上小说这番描述根本不见于任何正史,实是文学虚构。然而,之前失街亭和后来的斩马谡,却是于史有征(《蜀志·诸葛亮传》)。将虚构的“空城计”,裹入一场实有其事的战役。那是蜀汉建兴六年(二二八年,即魏太和二年)春天的事情。

不过,据史志记载,诸葛亮这次伐魏,对方主帅是曹真,而非司马懿。如《魏志·明帝纪》谓:“太和二年,蜀大将诸葛亮寇边,天水、南安、安定三郡叛应亮。遣曹真进兵,张郃击亮于街亭,大破之。亮败走,三郡平。”《曹真传》亦谓:“诸葛亮围祁山,南安、天水、安定三郡反应亮。帝遣(曹)真督诸军军郿,遣张郃击亮将马谡,大破之。”曹真坐镇郿县(今陕西眉县),披坚执锐冲在前边的是张郃,这回没有司马懿什么事儿。

其时司马懿居于宛城(魏之荆州治,今河南南阳),《晋书·宣帝纪》曰“加督荆、豫二州诸军事”。之前因新城太守孟达反水,司马懿率兵奔袭上庸(今湖北竹山一带),斩孟后并未远赴天水郡加入战事,而是“振旅还于宛”。如果按蜀魏战争编年史来安排“空城计”这故事,在城下听诸葛亮操琴的应该是张郃,司马懿杀入蜀境尚在两年之后(魏太和四年)。

“空城计”这故事由来已久。《蜀志·诸葛亮传》裴松之注引晋人郭冲条述诸葛亮五事,其第三事曰:

(诸葛)亮屯于阳平,遣魏延诸军并兵东下,亮惟留万人守城。晋宣帝(即司马懿)率二十万众拒亮,而与延军错道,径至前,当亮六十里所,侦候白宣帝,说亮在城中兵少力弱。亮亦知宣帝垂至,已与相偪,欲前赴延军,相去又远,回迹反追,势不相及,将士失色,莫知其计。亮意气自若,敕军中皆卧旗息鼓,不得妄出菴幔。又令大开四城门,扫地却洒。宣帝常谓亮持重,而猥见势弱,疑其有伏兵,于是引军北趣山。明日食时,亮谓参佐拊手大笑曰:“司马懿必谓吾怯,将有强伏,循山走矣。”候逻还白,如亮所言。宣帝后知,深以为恨。(建兴五年裴注)

这就是“空城计”故事原型。郭冲的记述确是极好的小说材料,此条所谓“敕军中皆卧旗息鼓,不得妄出菴幔。又令大开四城门,扫地却洒”这一番安排,尽被《三国演义》取用;而诸葛亮之“意气自若”,则化作身披鹤氅焚香操琴的城头表演。以小说描述的“空城计”场面对照郭冲此条,可见基本上是按其原型加以渲染铺叙。郭冲所述本乃小说家言,裴注亦注意到其说与史实相抵牾,乃谓“冲之所说,实皆可疑”,一个有力的依据就是司马懿其时在宛,不可能与诸葛亮直面相睹。

值得注意的是,郭冲此条开头一句:“亮屯于阳平,遣魏延诸军并兵东下,亮惟留万人守城。”给出的地点是阳平(即汉中阳平关,在今陕西勉县)—诸葛亮本人留守阳平,也就是说,这个原始版本的“空城计”故事应是发生在阳平。诸葛亮几次北伐都是从阳平大本营出发,按郭冲之说倒是险些让司马懿抄了他的老巢。《三国演义》将地点挪到了西城县,有意将故事嵌合到初出祁山的战事之中。

不过,将地点摆到西城县,方位明显有误。因为西城县不在祁山以北。西城乃魏之荆州魏兴郡治(在今陕西安康市),跟蜀方出兵的祁山、天水一线不在一个方向。如果按小说叙事情境,诸葛亮险遭围城的地方应该是天水郡的西县(在今甘肃天水附近),而不是魏兴郡的西城县。诸葛亮从阳平关出兵,是从箕谷向西北—东北方向运动,从地图上看,祁山—西县—天水—街亭,大致是逐次向北的节点(见谭其骧《中国历史地图集》第三册),西县正在蜀军进退路线上。

西县,西城县,一字之差,很容易发生舛错不是?但這里的混淆好像不是这么简单。

再看郭冲三事,其“遣魏延诸军并兵东下”一语,分明是往东南方向的魏兴郡进发,那是曹魏控制的荆州西北部,西城县正在这个方向上。

本文刊登于《读书》2020年8期
龙源期刊网正版版权
更多文章来自
订阅