文史宴:李世民“三千破十万”的神话可以到此为止了
文/朱勋
李世民“用三千五百精兵大破窦建德十万大军”的神话流传已久,本文从细节入手,点破这个人为的神话。虽然如此,本文并无贬低李世民军事才能的意思,即使现存史籍注水一半,李世民依然是中国史上第一流的军事统帅。
武牢关,即虎牢关。李渊称帝后,因避其祖父李虎名讳,遂谐音改称“武牢关”。武牢关之战,是指武德四年(621年),李世民在此击败窦建德并生俘之,从而奠定李唐统一天下基础的战事。
由于唐代实录存在被篡改的可能,后世的《旧唐书》《新唐书》也不得不照录,再加上民间小说的不断渲染,造成李世民以三千五百人大破窦建德十万大军的错误印象。本文将通过梳理史料,以编年体的《资治通鉴》为经,以新旧唐书为纬,努力还原武牢关之战的全貌。
战前态势:唐军对洛阳实施战略包围
1
虎牢关遗址
武德三年七月,李世民奉诏总督诸军征讨王世充。大军到达新安后,前锋围攻慈涧。王世充率精兵三万驰援,李世民也亲自出战,遭遇单雄信部,先败后胜,王世充被迫撤回洛阳。而后“世民遣行军总管史万宝自宜阳南据龙门,将军刘德威自太行东围河内,上谷公王君廓自洛口断其饷道,怀州总管黄君汉自河阴攻回洛城;大军屯于北邙,连营以逼之。”
这仅仅是战术包围,接下来才是重点,随着唐军各部的推进和王世充东南各州的叛降,一个围绕大洛阳的包围网逐渐形成。
“世充洧州长史繁水张公谨与刺史崔枢以州城来降。”这个“洧州”在什么地方呢?据《旧唐书·地理志》:“尉氏,隋县,属颍川郡。武德四年,于县置洧州。”《新唐书·地理志》则补充说“尉氏,望。本隶颍川郡,王世充置尉州。武德四年废,以尉氏、扶沟、鄢陵置洧州。”即今河南开封的尉氏县一带。
“(八月)己亥,窦建德共州县令唐纲杀刺史,以州来降。”这个“共州”在什么地方呢?据《旧唐书·地理志》:“共城,汉共县,隋因之。武德元年,置共州。”即今河南新乡的辉县一带。
“邓州土豪执王世充所署剌史来降。”据《旧唐书·地理志》:“邓州,隋南阳郡。武德二年,改为邓州。”即今河南邓州市一带。
“乙卯,刘德威袭怀州,入其外郭,下其堡聚。”据《旧唐书·地理志》:“怀州,雄,隋河内郡。武德二年,于济源西南柏崖城置怀州……四年,移怀州于今治野王城。”即今河南焦作的沁阳市一带。
“癸酉,王世充显州总管田瓚以所部二十五州来降。”旧“唐州,上,隋淮安郡。武德四年,改为显州,仍置总管,领显、北澧、纯三州。”即今河南泌阳、桐柏、社旗一带。
“丁丑,秦王世民遣右武卫将军王君廓攻轘辕,拔之……遂东徇地,至管城而还。”轘辕关是洛阳东南关隘,在今河南登封市。管城亦见《旧唐书·地理志》:“武德四年,平王世充,置郑州于武牢……又于管城县置管州。”即今河南郑州市区。
“世充尉州剌史时德睿帅所部杞、夏、陈、随、许、颍、尉七州来降。”这则记录与上文洧州一条似有矛盾,但亦可知今豫东的周口、许昌、驻马店的部分地区也相继落入唐军之手。
“时世充太子玄应镇虎牢,军于宋汴之间,闻之,引兵趣管城,李世勣击却之。使郭孝恪为书说荣(荥)州刺史魏陆,陆密请降。玄应遣大将军张志就陆征兵,丙辰,陆擒志等四将,举州来降。阳城令王雄帅诸堡来降,秦王世民使李世勣引兵应之,以雄为嵩州刺史,嵩南之路始通。魏陆使张志诈为玄应书,停其东道之兵,令其将张慈宝且还汴州,又密告汴州刺史王要汉使图慈宝,要汉斩慈宝以降。”
因唐代荣州在今四川自贡,与此战毫无关系,故此条中“荣州”应为“荥州”之误,但唐并无荥州,推测应为王世充建置。即今荥阳、开封一带也为唐所有。
上文“丁丑”以下,有《旧唐书·太宗本纪》为佐证:“遣李世勣率师出轘辕道安抚其众。荥、汴、洧、豫九州相继来降。”
“四年正月,王世充梁州总管程嘉会以所部来降。”据《旧唐书·地理志》所记,唐代有两个梁州,此梁州应为东梁州,在今河南兰考市以东。从以上内容可以看出,武牢关之战前,唐军已控制豫西、豫东大部,豫北一部,并非只局限于洛阳周围。
兵力配置:语焉不详的唐军数量
2
关前的汜水
遍览新旧唐书,有一个奇怪之处:武牢关之战前后的郑、夏两方兵力,都有明确的,或者可供推测的大致数量;而唐军则从头至尾只字未提,似乎在有意突出李世民所率三千五百精锐部队。
先说王世充的郑军。王世充家底较薄,其基本盘是隋末大乱时的两万“江淮劲卒”。之后与李密两次大战,第一次发生在大业十三年,王世充大败,残部逃回洛阳后仅剩一万多人;第二次发生在武德元年,王世充以两万余人大破李密,“尽收其众,振旅而还”。但这显示是夸张之辞,因为同样在《旧唐书·李密传》中,李密逃至河阳后,“左右莫不感激,于是从入关者尚二万人。”
观察此后王世充每次出兵规模,都没有超过三万人。可见其机动兵力并不多,大部分守于各处,驻扎在洛阳的主力估计在五六万人左右。正如参谋军事的封德彝所说:“世充得地虽多,而羁縻相属,其所用命者,唯洛阳一城而已。”
再说窦建德的夏军。窦建德的总兵力有多少人呢?《资治通鉴》记有武德三年十月,“窦建德帅众二十万复攻幽州”,可见其总兵力在二十万以上。
其在武牢关之战的兵力,据《旧唐书·窦建德传》:“先,曹州济阴人孟海公拥精兵三万。”“四年二月,建德克周桥,虏海公,留其将范愿守曹州,悉发海公及徐圆朗之众来救世充。军至滑州,世充行台仆射韩洪开城纳之。”“时世充弟世辨为徐州行台,遣其将郭士衡领兵数千人从之,合众十余万,号为三十万,军次成皋,筑宫于板渚,以示必战。”
窦建德来势汹汹,看似倾国而出,实际上这十余万兵力是集合了本部、孟海公降部以及原属王世充的徐圆朗部、韩洪部、郭士衡部。又据《旧唐书·徐圆朗传》:“徐圆朗者,兖州人也。隋末,亡命为群盗,据本郡,纵兵略地,自琅邪已西,北至东平,尽有之,胜兵二万余人。初附于李密,密败,归王世充。”这样算下来,其本部兵力恐怕只有七八万人,战斗力是大打折扣的。
推测唐军兵力就复杂得多。查来查去,只有《资治通鉴》所记慈涧之战时,“旦日,帅步骑五万进军慈涧”,这极有可能是李世民直属部队。而此次出征由李世民、李元吉担纲,若李世民是主帅,李元吉必是副帅无疑。以李渊的和稀泥手法,李元吉帐下至少也有五万人马。再加上史万宝、刘德威、王君廓、黄君汉等部,总兵力应有十几万人。
根据一般的战术原则,进攻方至少要有三倍以上兵力优势,才有取胜的把握。那么以王世充洛阳兵力乘以三,则有十五万人以上,这与上述推测非常接近。即使考虑到唐军战力较强,打个折扣,十二三万总是有的,不然也不可能维持如此巨大的包围圈。
大战过程:夏军表现拙劣,唐军发挥完美
3
红线为唐军控制线,蓝线为窦建德进军路线
唐军逼近洛阳,王世充遣使向窦建德求救。窦建德手下的中书侍郎刘彬认为唐、郑、夏三足鼎立,郑亡,夏不能独存,力劝窦建德救郑。窦建德听从此议,遣使允诺王世充,同时也遣使请李世民退兵。
对于窦建德的进军路线,史籍记载基本一致。《资治通鉴》:“窦建德陷管州,杀刺史郭士安;又陷荥阳、阳翟等县,水陆并进,泛舟运粮,泝河西上。”《旧唐书》:“军至滑州,世充行台仆射韩洪开城纳之。遂进逼元州、梁州、管州,皆陷之,屯于荥阳。”《新唐书》:“建德进逼元、梁、管三州,皆陷,遂屯荥阳。运粮溯河西上,舟相属不绝。”
这个看似没有问题的行军路线,其实是大有问题的。读者往往根据后世的黄河流向,脑补出一番情景:窦建德溯河而上,大举西进,沿途收复东部重镇,直抵荥阳。研究唐代历史,你得拿出唐代地图啊!
东汉至唐的黄河下游河道,大致保持稳定,即从今河南延津县折向东北,经滑县、南乐至山东聊城。这比现在的河道更偏西北,所以也就可以理解,窦建德为什么从滑州(滑县)进军。
从这张地图上可以看出,窦建德贪河运之利,从滑州向西南行进,一头扎进唐军之前布好的战略包围圈里,将自己的侧后暴露出来。唐军可以依托此前控制的共州、怀州、汴州、宋州,不断威胁夏军。一开始,窦建德就匆促行动,使自己处于不利的战略态势下。
李世民见到窦建德来使后,召集诸将商议,大部分人主张避其锋芒。李世民采纳郭孝恪等人的意见,决定迎战,并进一步指出:“建德新破海公,将骄卒惰,吾据武牢,扼其咽喉。彼若冒险争锋,吾取之甚易。若狐疑不战,旬月之间,世充自溃。”
此后的战事过程基本如李世民所料。于是“中分麾下,使通等副齐王元吉围守东都,世民将骁勇三千五百人东趣武牢。”注意“中分麾下”一句,可推测前赴武牢关的兵力应有唐军总兵力的一半左右,三千五百人不过是先头部队而已。
而武牢关其实早就在唐军手中,《资治通鉴》记载:“(正月)戊午,王世充郑州司兵沈悦遣使诣左武候大将军李世勣请降。左卫将军王君廓夜引兵袭虎牢,悦为内应,遂拔之,获其荆王行本。”这与《旧唐书·李绩传》《新唐书·李绩传》完全相符。李世民顺畅无碍地进入武牢关。
笔者曾实地考察过虎牢关遗址,其实远称不上天险,只是一片平均落差在十几米左右的丘陵,与山河表里的潼关不可同日而语。但是虎牢关正好扼守在通往洛阳最为便捷的官道上,至今连霍高速仍从附近经过,它的最大作用在于迟滞敌方行动。若此时窦建德趁唐军兵力单薄,强攻武牢关,赢面还是很大的。
但李世民显然更早意识到了这一点,于是在黄河岸边,上演了惊心动魄的一幕。李世民和尉迟敬德等五骑,前进至窦建德大营三里处,被窦建德的前哨发现。李世民大呼:“我是秦王!”搭弓放箭,毙其一将。窦建德派五六千骑兵追击,李世民放慢速度,先后射杀数人,将其引诱至伏击圈,事先埋伏的五百骑兵杀出,斩首三百余级。此举并不是为了炫技,而是为了震慑敌胆,使其迟疑不敢进,为后续部队的到来争取时间。
武牢关之战示意图
这场前哨战还起到了另一个意外效果,夏军对唐军骑兵产生了极大的畏惧心理。“秦王世民选精锐千余骑,皆皂衣玄甲,分为左右队,使秦叔宝、程知节、尉迟敬德、翟长孙分将之。”那五百骑兵很可能就是其中的一队,这种需要昂贵装备和长期训练的贵族兵种,是农民军出身的窦建德所无法企及的。
窦建德进退两难,从三月癸未到五月己未,竟然足足浪费了三十六天,横跨了整个四月,因此《旧唐书》记作“经二月”,《新唐书》不明就里,记作“顿六十日”。“丁巳,秦王世民遣王君廓将轻骑千余抄其粮运。”王君廓轻松地完成了任务,恐怕也与夏军侧后的不利态势有关。谋士凌敬劝窦建德渡河转攻怀州,怀州虽有刘德威驻守,也总比坐以待毙要强。此议受到王世充亲信的阻挠,未被采纳。
不久,间谍刺探到窦建德准备等“唐军刍(草料)尽”之时,进攻武牢关,可见这种畏惧心理到了什么程度。李世民将计就计,在河渚上放马,佯装刍尽。窦建德果然上当,倾巢而出,出于上述恐惧心理,他很可能将战力较弱的骑兵部队放在后阵(为什么会有这一推测,我们下面再说)。为了防止唐军骑兵迂回侧翼,窦建德不得不维持宽大正面,试图以数量优势拼消耗。因此夏军“北距大河,西薄汜水,南属鹊山,亘二十里,鼓行而进。”写到这里,我想军事爱好者都看出来了,摆出一字长蛇阵,基本就凉凉了。
此时唐军后续部队已陆续抵达,李世民部、王君廓部、李绩部加在一起,估计至少也有五六万人,没有明显劣势。强攻武牢关已经不可能了,唐军拒不出战,养精蓄锐,到了午时,夏军又饿又累,坐地休息饮水,一片混乱。
李世民先派宇文士及率三百骑兵出阵,一路向南疾驰,夏军怕左翼有失,阵脚松动。唐军主力看准时机,突然杀出,直扑窦建德中军。窦建德当时正举行朝会,朝臣惊慌失措,一齐拥到窦建德身边,甚至挡住了来援的夏军骑兵的路。这似乎能印证夏军骑兵在后阵的推测。窦建德驱散朝臣,唐军已到,狼狈不堪的他逃至高坡之上,夏军实际已失去指挥。
李世民亲率史大奈、程知节、秦叔宝等将,携带唐军大旗,直接冲到夏军阵后,张开旗帜。夏军溃败,唐军追击三十里,斩首三千余级。显然,夏军的伤亡并不大,而河北尚有十余万人,如果窦建德顺利逃回,卷土重来未可知。可惜李世民没有给他这个机会,窦建德坠马被俘,之后押赴长安斩首。
武牢关之战中的窦建德,不进攻、不撤退,自己钻口袋,还摆出一字长蛇阵,几乎全程配合唐军行动。而关陇集团表现出高超的军事素养,在战前就布局深远,占据了有利的战略态势。李世民更是以英雄孤胆,拖住窦建德一月有余,在最后的决战中,吸引夏军左翼注意,成功实施斩首行动。
这竟然有亚历山大在高加米拉之战中的影子,李世民无愧为一流军事天才,但他毕竟不是天神下凡,而是在有足够兵力的情况下,最大限度发挥己方优势的结果。
王世充无奈出降,恐怕那一刻,他的心中千言万语汇成一句话:不怕神一样的对手,就怕猪一样的队友。