在赤壁之战中,曹操有许多“错误”的行为,这些行为直接或间接地导致了他在赤壁的失败。
一、急于进兵
建安十三年(208年)九月,曹操兵至新野,刘琮派人持汉节向曹操投降。曹操接受了刘琮的投降。他深恐刘备据有江陵的战略物资,对以后的局势增加不确定因素,于是乘荆州大军完全敞开道路的有利条件,“乃释辎重,轻军到襄阳。”但已经晚了一步,刘备已经南撤。曹操于是命横野将军徐晃屯樊城,分兵占领中庐(在今湖北襄樊)、临沮(今湖北远安西北)、宜城(今湖北宜城北),自己与曹纯、文聘率“精骑五千急追之,一日一夜行三百余里”,于当阳县长坂将刘备追上。刘备抵挡不住五千骑兵的集团冲锋,被打得大败,全部人口、辎重都被曹操俘获。沿汉水出击的满宠、徐晃在汉水边只找到关羽留下的船只。他们击退了少量留守部队,把这些船只全都烧掉。刘备渡过沔水(即汉水)后,又遇上了在荆州内部权力斗争中失败江夏太守的刘琦及其所部万余人。两军相合,东撤到夏口(今湖北武汉)。
曹操没有继续沿汉水南下追击,而是直趋江陵,从那里发动了对江东的进攻。
司马光受《后汉书》的影响,在《资治通鉴》中假定曹操在十月出兵赤壁,按《武帝记》,这并不准确。《武帝记》的记载十分明确:“十二月,孙权为备攻合肥。公自江陵征备。”
曹操进至江陵后,做了三件事:安民、奖功、与刘璋谈判。这三件事,哪件也不轻松。这么些事,只用一个月的时间是绝办不完的。尤其是刘璋远隔千里,使臣往来一次耗时不少,曹操竟然能迫其“受徵役,遣兵给军”,绝非易事,一个月内断不能完成。
《三国志》卷31《刘璋传》记载了这次谈判的经过:“璋闻曹公征荆州,已定汉中,遣河内阴溥致敬於曹公。加璋振威将军,……璋复遣别驾从事蜀郡张肃送叟兵三百人并杂御物於曹公,曹公拜肃为广汉太守。璋复遣别驾张松诣曹公,曹公时已定荆州,走先主,不复存录松,松以此怨。会曹公军不利於赤壁,兼以疫死。松还,疵毁曹公,劝璋自绝。”这里的“张肃”,可能就是《三国志·吕蒙传》里提到的“袭肃”,他在“江陵保卫战”中投降了孙权。刘璋得知“曹公征荆州,已定汉中”肯定在九月以后,他先派出阴溥找曹操谈,曹操决定表荐刘璋兄弟为将军;阴溥返回;刘璋派张肃领300名士兵送一大堆礼物到军中。在得知张肃受封后,又派出张松。这以后才发生赤壁之战。张松到荆州时,赤壁之战已经基本结束。赤壁之战必定是速决战。此外,吴军方面的将领黄盖也判断说:“寇众我寡,难与持久。”双方在赤壁对峙两个月以上是不可能的。因此,曹操从江陵进兵当是在十二月,而不可能是十月;整个战事持续了不到一个月,甚至有可能只有几天。
一般认为,军中发生瘟疫是曹操失败的原因之一。如果从起兵到战事结束,整个过程只持续了一个月左右,那么在起兵时,曹操军中应该已经流行瘟疫了(尽管我们现在不知道它是哪种传染病,但任何一种传染病都不可能在毫无征兆的情况下,在一个月内大规模流行到使一支一二十万人的军队失去战斗力的程度)。在有士兵染病的情况下(尽管流行的程度可能还未达到影响军队战斗力的程度)还坚持出兵,曹操是不是“有病”?
两三个月都等了,曹操再等等又有何妨?我不相信孙权会直接进逼到江陵城下与曹操决战。即便真的发生了这样的事,在江陵作战显然有利于曹操。曹操连这一点也想不到?
二、引次江北
当曹操占领江陵时,他的后勤辎重则还在新野到襄阳的路上。襄阳是当时荆州经济、文化、军事的中心,以襄阳为基地,让部队沿汉水直下夏口,既方便又省时。但曹操却没有这么办,而是把部队先集中到江陵,“自江陵征备”。也许曹操是这样考虑的:首先,江陵位于长江边,把主力集结于尽可能靠南的江陵,有利于对荆州南部各郡形成威慑,可以配合刘巴的招降工作。其次,从江陵出发可以形成夹江而进的势态,使长江天堑的防御功能不复存在。如果从襄阳向夏口进军,虽然对于夺取夏口有利,但却使自己的军队偏处长江北岸,如果孙、刘让出夏口而退到江南,据长江与之对抗,战事一时难以解决。但奇怪的是,曹操花了大量精力把部队从襄阳集结到江陵,目的之一就在于取得夹江而进的有利势态,他理应为保持这种势态而竭尽全力。但事实却是,“初一交战,公军败退,引次江北。”为了一个不大的前哨战失利而主动放弃了他曾竭力争取的优势态势。这是为什么?
有人解释说,这是因为荆州新附,曹操立足未稳,故不敢在江南决战(张大可:《三国志研究》,北京:华文出版社,2003)。熟悉军事的人都知道,“夹江而进”与“在江南决战”根本不是一回事,前者是战役层面,后者是战略层面。对于夹江而进的大军来说,长江不是天堑,而是一条便利的运输线。即便为了回避在江南决战,也没有必要放弃夹江而进的战役态势。
那是为了集中兵力,形成拳头?按周瑜保守的估计,“彼所将中国人,不过十五六万,……所得表众,亦极七八万耳”,总计也有二十三四万。如果两岸兵力平均分配,以一侧的兵力,已经对周瑜三万人形成了绝对优势;更何况,水上作战军队分处两岸,就如同陆上作战部队分为左右两翼,只会起到相互呼应的作用,断不至于有分散兵力之弊。
或者曹操胆寒了,他要撤回北岸,借天堑阻止周瑜进攻?首先,在这次前哨战失利中,曹操的损失微不足道,双方力量对比根本没有发生变化,曹操不至于因为这次失利而胆寒。其次,如果打算防御,当然是在江陵周围进行更为有利,在敌人的势力范围内遂行战略防御是说不过去的,而从史书中找不到曹操有考虑过撤回江陵的任何迹象;如果他真的想撤回江陵,两岸交替掩护也比偏处一岸对撤退更有利。第三,即便曹操突然发现情况不对,想就地进行防御作战,有一支部队在南岸,至少也可以起到压缩敌军的进攻空间,牵制敌军行动的作用,对完成防御更有利;没有理由认为北岸的兵力连遂行防御作战也不够。
三、曹操几乎没有抵抗周瑜的进攻
“刘表治水军,蒙冲斗舰,乃以千数,操悉浮以沿江”。以千艘战舰组成的庞大舰队排列开去是一段很不小的距离。太康元年,西晋伐吴时,王濬不过“戎卒八万”,即已“方舟百里”。曹操的参战兵力显然不弱于王濬,他的行军序列理应更长。但周瑜用了多少战船呢?“蒙冲斗舰数十艘”甚至只有“轻利舰十舫”。要迅速烧毁展开于一百多里的大型舰队,这几十只船够用吗?
有一条史实值得关注。《郭嘉传》:“后太祖征荆州还,於巴丘遇疾疫,烧船,叹曰:‘郭奉孝在,不使孤至此。’”一句闲笔,指出在巴丘(今湖南岳阳)还烧了一次船。回想起来,曹操在巴丘的另一个行动是派出张喜增援合肥;然后,匆匆赶往赤壁;现在又在巴丘烧船。看来,曹操的部队并未完全集中于赤壁,而是从赤壁至巴丘梯次展开的。周瑜那几十艘战舰只不过烧掉了赤壁驻军。奇怪的是,曹操回到巴丘后,并不是组织力量作战,反而把在巴丘的船也一把火烧掉。他想干什么?
蒙冲斗舰是一种大型军舰。孙权攻打黄祖时,“祖横两蒙冲挟守沔口,……上有千人”。能容纳500人作战的战舰,要完全烧毁一艘,也得会时候。江边取水甚易,一处着火,舀桶水一浇也就完了,最多报废一条船,怎么会任其漫延到“悉延烧岸上营落。顷之,烟炎张天,人马烧溺死者甚众”的地步?只有一种可能,曹操和他的部下这时似乎已经完全放弃了抵抗。
四、奇怪的受降
许多史学家认为,曹操轻信黄盖的诈降是导致赤壁失败的重要原因之一。但细玩曹操接受黄盖投降的过程却十分奇怪。
黄盖是孙坚起兵时的旧将,时官居丹阳都尉(丹阳郡军事主官),是东吴集团的重要将领。这样一员大将的投降理应作为一件重大的军国机密来处理;曹操“见行人,密问之”,还是很谨慎的。但到了黄盖伪降至曹军水寨时,“曹公军吏皆延颈观望,指言盖降”,“操军人皆出营立观”。显然,这一消息已经为军营上下所周知,而且官兵们像看热闹似地围观起来(这本身也很奇怪。士兵怎么能离开自己的执勤位置,到处乱跑呢?难道一向严于治军的曹操连军纪也松弛了?)。
众所周知,阵前受降是一件极其复杂的事,必须做出周密的安排。但曹操对于黄盖的来降,既不派出接应部队以应付可能的追兵,又不派出联络官员以指示降军的集结地点和行军路线,听任黄盖直冲向自己的军营——即使是真降,这么做也是不允许的。无疑,曹操,连同他的参谋们一起发疯了。
五、猜测
如果一名高水平的球员在一场比赛中犯下一次错误,可以认为是失误;如果他一而再,再而三地犯下低级的错误,当然也可以解释为“极不在状态”,但最好解释为“别有用心”。
曹操在赤壁犯下如此多的错误,有些甚至是低级错误,当然也可以用“胜利冲昏了头脑”来解释。不过,我想提出另一种解释。它不能推翻现有的解释,许多空白处只能用猜测来填补,最多只能算作一种“假说”。但我认为它是可以自圆其说的。而且在这一假设中,曹操的行为方式更类似我们熟悉的曹操。
《武帝记》中记载:“十二月,孙权为备攻合肥。公自江陵征备。至巴丘,遣张憙救合肥。权闻憙至,乃走。公至赤壁,与备战,不利。於是大疫,吏士多死者,乃引军还。”其中,曹操出兵的原因是“孙权……攻合肥”,值得重视。
扬州在豫州南面,扬州北部曾是袁术地盘。袁术失败后,曹操的政治影响也从未到过那里。和司隶、雍、凉等州一样,那是一个“草头王”(主要是袁术的残部,也包括当地豪族)当家的地方。早在曹操与袁绍相持于官渡之际,孙策任命的庐江太守李述杀了扬州刺史严象。当时任“司徒掾”的刘馥被认为“可任以东南之事”,当上了扬州刺史。刘馥上任后,改以合肥作为自己的州治(原州治在寿春),并“高为城垒,多积木石,编作草苫数千万枚,益贮鱼油数千斛,为战守备。”合肥是曹操当时东南方面唯一的战略屏障,合肥一旦失守,曹操的大本营豫州就直接暴露在打击之下,而他的主要军事力量则还远在荆州。所以,当曹操得知孙权有进攻合肥的模样时,他的焦急心情是可以想见的。
我们现在知道,所谓孙权准备进攻合肥的消息并不准确。孙权集结十万(这一数字由《魏书·刘馥传》提供。《吴书》中并无相关的数字。可能是扬州方面的侦察情报,或与实际情况有出入)大军的直接目的是作为二线力量抵御曹操而不是进攻合肥。后来孙权进攻合肥是看到周瑜在赤壁已经取胜,曹操沿江东进的威胁解除后才采取的军事行动,带有很强的投机性质。但曹操当时所掌握的情报,他所处的地位和所肩负的责任却不容许他在合肥的问题上冒险;单单是合肥附近集结着一支强大的敌军就足以使他为他空虚的后方担忧了。我想,他的第一反应是:必须马上做些什么!
曹操采取了两个措施:一、立即从江陵东进,威胁以冲入江东,借此牵制孙权的行动;二、派将军张憙(一作“张喜”)率骑兵一千驰援合肥。
后世对曹操派出张憙增援合肥一事重视不够,也没有把它与赤壁之战的全局联系起来。这一是因为张憙本人是一个无名小卒,他的动向没有人关心;二是因为从一支二三十万人的大军中抽出一千人似乎是一件无关全局痛痒的事。要知道,曹操抽出这一千人不是别的,而是一千名未生病,有战斗力的骑兵。在冷兵器时代,骑兵是带有战略打击性质的重要陆上突击力量。曹操五千骑兵能在长驱三百里后,迅速击败刘备的主力,其战斗力可见一斑。在遭受疾病困扰的情况下,让张憙带走总共五千名骑兵中有作战能力的一千名,不能不说是下了很大的决心。
《赵俨传》:“太祖征荆州,以俨领章陵太守,徙都督护军,护于禁、张辽、张郃、硃灵、李典、路招、冯楷七军。”从领兵将领看,这支部队的无疑是曹军的精锐,它的动向无疑代表了曹军的主要作战方向。有趣的是,它们并没有出现在赤壁前线,而是由一名文职人员率领,神秘地失踪了(有人推测这是参加赤壁会战的另一支部队,只是没有赶上。但没有证据,只是猜测)。更为有趣的是,在《三国志》有传的五人:于禁、张辽、张郃、硃灵、李典的传记中,没有他们参加赤壁之战,有些甚至没有到过荆州的任何记载。他们在这前后记事如下:《于禁传》:“东海平,拜禁虎威将军。后与臧霸等攻梅成,……”《张辽传》:“时荆州未定,复遣辽屯长社。……陈兰、梅成以氐六县叛,太祖遣于禁、臧霸等讨成,辽督张郃、牛盖等讨兰。”《张郃传》:“别征东莱,讨管承。又与张辽讨陈兰、梅成等,破之。”《朱灵传》注引《魏书》:“太祖既平冀州,遣灵将新兵五千人、骑千匹守许南。……灵至阳翟,中郎将程昂等果反,即斩昂,以状闻。”从传记中得知,他们中的大多数(除朱灵外)随后都出现在合肥以南,而且似乎不是和曹操一起回来的,——曹纯是跟着曹操撤退的,故在他的传记中记有“从还谯”。
曹操呢?他从华容撤到江陵后的动向也很有意思:他既没有返回自己主管的冀州(如《诸葛亮传》所推测:“曹公败於赤壁,引军归邺。”),也没有返回首都许,而是把部队带到自己的家乡,比许更远的谯。
以一支骑兵驰援合肥,以一支精锐进击合肥周围,又把主力带到谯,三支部队一个目的:应付合肥的危局。
曹操在派张喜前往合肥救援时,曾令他到汝南后,把汝南的步兵带上,不料汝南当时也在流行疾病,派不出多少兵来。扬州别驾蒋济得知内情后,建议说,不妨让城外的地方官员假称得到张喜的文书,“云步骑四万已到雩娄(今安徽固始东南),遣主簿迎喜。”借向城内报信的名义,有意把这个消息泄露给孙权。张喜的骑兵到达后,也积极动作,“数至围下,驰骋挑战”。孙权得到这个假情报后,几乎没有核实,就匆匆撤军了。要记住,孙权是在赤壁之战取得大捷后,才出兵合肥的。如果曹军果真在赤壁遭到惨败,他肯定要评估一下这一情报的可信度。他没有。这表明他对曹军的动向了解得很清楚:他们正在赶往合肥。而蒋济谎称的“步骑四万”也大致符合赵俨所督七军(每军约5000人)的总兵力。
在以上史实的基础上,我推测:曹操在赤壁之战前后的主要战略方向是防御合肥,而不是进攻夏口。“自江陵征备”是针对“孙权为备攻合肥”的反措施:在江陵虚晃一枪,以掩护战略大转移。这可以从曹军的动向及吴军的反应中找到证明。
这虚晃的一枪由谁来完成呢?投降的荆州军。荆州军“带甲十余万”,虽“尚怀狐疑”,但虚张声势总还是可以的。
很明显,由于荆州的政治形势,曹操不可能明确地向荆州军下达牵制作战的任务;他甚至不可能开诚布公地向荆州方面交待所面临的危局,以及他准备采取的措施。只要他稍稍露出一点想撤退的意思,立即就会在荆州引发一场政治大地震,从而将撤退扩大为一场灾难。阴险的曹操遂以进攻刘备为名,集结起军队,以荆州军突前,进至赤壁,自己却把大本营设在巴丘。在远离荆州军百里之外的巴丘,曹操(秘密)发布了增援合肥的命令(派遣张喜、组织赵俨集团)。随后赶往赤壁,借周瑜之手,毁灭了荆州军。
在这一假设下,曹操所犯的一切“错误”就都有了合理的解释。
赤壁之战后,“带甲十余万”,“蒙冲斗舰,乃以千数”的强大荆州军队荡然无存,荆州元气大伤。直到六七年后的建安二十年,镇守荆州的关羽所辖部队也只不过“号有三万人”(当然,此前刘备、赵云、张飞入川时带走了一些部队。如刘备带走了“步卒数万”。许多人认为,入川的刘备军当有四五万)。而曹操则顺利地巩固了扬州;在江陵与周瑜相持了一年,并最终保有襄阳;修建了铜雀台;还在建安十六年(211年)(距江陵保卫战结束仅一年)开始策划对汉中张鲁的军事,并于当年七月,成功地发起了对马超、韩遂的战争。其基本力量可以认为未受严重损失。