官渡之戰兵力:曹操在官渡真的「兵不滿萬」嗎?
一、曹操在官渡兵不滿萬的來歷
《三國誌武帝紀》裡面非常明確地記載說:八月,紹連營稍前,依沙堆為屯,東西數十里。公亦分營與相當,合戰不利。時公兵不滿萬,傷者十二三。紹復進臨官渡,起土山地道。
而做為這一記載旁證的是《三國誌荀彧傳》:太祖保官渡,紹圍之。太祖軍糧方盡,書與彧,議欲還許以引紹。彧曰:「今軍食雖少,未若楚、漢在滎陽、成皋間也。是時劉、項莫肯先退,先退者勢屈也。公以十分居一之眾,畫地而守之,扼其喉而不得進,已半年矣。
袁紹進攻曹操的兵力,在三國誌裡有比較清楚的記載:
——《三國誌袁紹傳》記載:以審配、逢紀統軍事,田豐、荀諶、許攸為謀主,顏良、文丑為將率,簡精卒十萬,騎萬匹,將攻許。
——《三國誌武帝紀》記載:是時袁紹既並公孫瓚,兼四州之地,眾十餘萬,將進軍攻許,諸將以為不可敵。
因此,袁紹進攻官渡的兵力目前均以為是11萬人馬,這樣,曹操以十分之一的兵力抗擊袁紹,也證明曹操在官渡的阻擊部隊大約萬人左右。
二、裴松之對此記載的懷疑
但是裴松之在《三國誌武帝紀》這段記載後面,評論道:
臣松之以為魏武初起兵,已有眾五千,自後百戰百勝,敗者十二三而已矣。但一破黃巾,受降卒三十餘萬,餘所吞併,不可悉紀;雖征戰損傷,未應如此之少也。夫結營相守,異於摧鋒決戰。本紀云:「紹眾十餘萬,屯營東西數十里。」魏太祖雖機變無方,略不世出,安有以數千之兵,而得逾時相抗者哉?以理而言,竊謂不然。紹為屯數十里,公能分營與相當,此兵不得甚少,一也。紹若有十倍之眾,理應當悉力圍守,使出入斷絕,而公使徐晃等擊其運車,公又自出擊淳於瓊等,揚旌往還,曾無抵閡,明紹力不能制,是不得甚少,二也。諸書皆雲公坑紹眾八萬,或雲七萬。夫八萬人奔散,非八千人所能縛,而紹之大眾皆拱手就戮,何緣力能制之?是不得甚少,三也。將記述者欲以少見奇,非其實錄也。按鍾繇傳云:「公與紹相持,繇為司隸,送馬二千餘匹以給軍。」本紀及世語並雲公時有騎六百餘匹,繇馬為安在哉?
這裡面,裴松之大致提出了以下幾個疑問:
1、曹操開始起兵,就有五千兵,此後的多次作戰勝率在70~80%;而且擊破黃巾軍之後,收降的兵卒也有30餘萬,加上其他消滅的軍閥勢力,即使減去作戰的損傷,兵力也不會如此之少。
2、有記載說袁紹屯營東西數十里長,而曹操也分營對抗,如果曹操真的只有如此少的兵力,怎麼可能在數十里的範圍分兵對抗呢?
3、如果袁紹真的有10倍於曹操的兵力,自然會全力圍攻,而不會讓曹操的部隊隨意出擊其後方糧草,所以,曹操的兵力不會如此少;
4、最後袁軍戰敗,被俘7~8萬之眾而且均被曹軍活埋,如果曹軍只有萬人,怎麼能夠把8萬之眾一起活埋呢?所以曹軍不會如此少。
5、有記載說長安的鍾繇在官渡之戰前送來戰馬2千餘匹,但是《武帝紀》裡卻說曹操只有600騎兵,那麼鍾繇送的戰馬哪裡去了?所以,這是有人想故意把曹操的兵力說少一些,以顯示其作戰能力水平高,以少勝多。
二、裴松之對此記載的懷疑
但是裴松之在《三國誌武帝紀》這段記載後面,評論道:
臣松之以為魏武初起兵,已有眾五千,自後百戰百勝,敗者十二三而已矣。但一破黃巾,受降卒三十餘萬,餘所吞併,不可悉紀;雖征戰損傷,未應如此之少也。夫結營相守,異於摧鋒決戰。本紀云:「紹眾十餘萬,屯營東西數十里。」魏太祖雖機變無方,略不世出,安有以數千之兵,而得逾時相抗者哉?以理而言,竊謂不然。紹為屯數十里,公能分營與相當,此兵不得甚少,一也。紹若有十倍之眾,理應當悉力圍守,使出入斷絕,而公使徐晃等擊其運車,公又自出擊淳於瓊等,揚旌往還,曾無抵閡,明紹力不能制,是不得甚少,二也。諸書皆雲公坑紹眾八萬,或雲七萬。夫八萬人奔散,非八千人所能縛,而紹之大眾皆拱手就戮,何緣力能制之?是不得甚少,三也。將記述者欲以少見奇,非其實錄也。按鍾繇傳云:「公與紹相持,繇為司隸,送馬二千餘匹以給軍。」本紀及世語並雲公時有騎六百餘匹,繇馬為安在哉?
這裡面,裴松之大致提出了以下幾個疑問:
1、曹操開始起兵,就有五千兵,此後的多次作戰勝率在70~80%;而且擊破黃巾軍之後,收降的兵卒也有30餘萬,加上其他消滅的軍閥勢力,即使減去作戰的損傷,兵力也不會如此之少。
2、有記載說袁紹屯營東西數十里長,而曹操也分營對抗,如果曹操真的只有如此少的兵力,怎麼可能在數十里的範圍分兵對抗呢?
3、如果袁紹真的有10倍於曹操的兵力,自然會全力圍攻,而不會讓曹操的部隊隨意出擊其後方糧草,所以,曹操的兵力不會如此少;
4、最後袁軍戰敗,被俘7~8萬之眾而且均被曹軍活埋,如果曹軍只有萬人,怎麼能夠把8萬之眾一起活埋呢?所以曹軍不會如此少。
5、有記載說長安的鍾繇在官渡之戰前送來戰馬2千餘匹,但是《武帝紀》裡卻說曹操只有600騎兵,那麼鍾繇送的戰馬哪裡去了?所以,這是有人想故意把曹操的兵力說少一些,以顯示其作戰能力水平高,以少勝多。
三、對裴松之質疑的解答
其實,裴松之的質疑,表面看起來確實很有道理,因此目前均不認為曹操在官渡只有萬人。但是,如果仔細分析和考證,就會發現,裴松之的質疑多數不能成立,下面逐一解答:
1、曹操開始起兵,確實就有5千人,但是這5千人,眾所周知在其單獨進攻董卓的時候,戰敗而基本損失殆盡;即便是此後收降了所謂的30萬黃巾軍,但是真正被曹操編為青州軍的兵並不很多(一則曹操追求精兵,二則當時的後勤也根本保證不了眾多士兵的需要);在曹操被呂布襲占兗州之後,曹操損失慘重,總兵力竟然只殘存有一萬左右,這可是在吸收30萬黃巾軍之後興平元年(公元194年)的事情注1。因此,即使曹操曾經有過很多兵馬,由於其中間曾經多次遭受重大挫折,也不能說明證明後來在官渡就有很多兵馬。
注1——《三國誌程昱傳》:太祖新失兗州,軍食盡,將許之。時昱使適還,引見,因言曰:「竊聞將軍欲遣家,與袁紹連和,誠有之乎?」太祖曰:「然。」昱曰:「意者將軍殆臨事而懼,不然何慮之不深也!夫袁紹據燕、趙之地,有並天下之心,而智不能濟也。將軍自度能為之下乎?將軍以龍虎之威,可為韓、彭之事邪?今兗州雖殘,尚有三城。能戰之士,不下萬人。以將軍之神武,與文若、昱等,收而用之,霸王之業可成也。
2、從雙方部隊均可以輕易插入敵後,就證明,這裡所謂的屯營東西數十里,並不是真正連續的屯營,而只能是雙方在主要道路上紮營防止敵人大隊通過。由於官渡的地形基本是平原,無險可守,因此曹軍並不能依靠連營來阻擋袁軍的進攻。曹操採取的戰術就是,在重要的道路上紮營,擋住這些主要道路。由於袁紹雖然東西屯營數十里,但是其主要攻勢仍集中在中軍大營一帶。因此,曹操分營的兵力不不會很多。
這一點,我們從以下作戰行動可以得到證實:
——曹操帶領5000步騎很輕易就穿越防線深入袁軍陣地後方40里,如果防線是連綿不斷的,勢必不能讓如此大部隊不被發覺地輕易通過;
——曹軍徐晃、史渙、曹仁軍都曾經輕易穿越兩軍防線,深入袁軍後方進行襲擊作戰,而且這只是曹軍襲擊成功的戰例。如果加上很可能有的失敗偷襲就更多了;
——袁軍也經常穿越雙方防線南下偷襲曹軍的運輸線,並導致官渡曹軍嚴重缺糧;
——劉備率軍也很輕易地穿越防線,甚至插到了許都南面,配合劉闢作戰;
——袁軍韓恂軍也輕易地穿越了防線進入曹操的後方,雖然被曹軍機動兵團曹仁軍消滅,但是證明當時雙方的戰線並不是大家想像中現代那種連綿不斷,密佈戰壕的防線。
3、由於戰役前期曹操兩次大破袁軍,斬殺袁軍著名猛將顏良、文丑,使袁軍頗為懼怕注2,而袁軍內部也多以為曹軍精銳,戰鬥力極強,即使在袁紹兵力大佔優勢的局勢下,雙方多次交戰,袁紹也並沒有撈到便宜。因此,在沒有完全擊破曹操機動部隊的情況下,袁軍是根本不可能把曹操包圍起來攻打的,這其實應屬於軍事常識。
2、從雙方部隊均可以輕易插入敵後,就證明,這裡所謂的屯營東西數十里,並不是真正連續的屯營,而只能是雙方在主要道路上紮營防止敵人大隊通過。由於官渡的地形基本是平原,無險可守,因此曹軍並不能依靠連營來阻擋袁軍的進攻。曹操採取的戰術就是,在重要的道路上紮營,擋住這些主要道路。由於袁紹雖然東西屯營數十里,但是其主要攻勢仍集中在中軍大營一帶。因此,曹操分營的兵力不不會很多。
這一點,我們從以下作戰行動可以得到證實:
——曹操帶領5000步騎很輕易就穿越防線深入袁軍陣地後方40里,如果防線是連綿不斷的,勢必不能讓如此大部隊不被發覺地輕易通過;
——曹軍徐晃、史渙、曹仁軍都曾經輕易穿越兩軍防線,深入袁軍後方進行襲擊作戰,而且這只是曹軍襲擊成功的戰例。如果加上很可能有的失敗偷襲就更多了;
——袁軍也經常穿越雙方防線南下偷襲曹軍的運輸線,並導致官渡曹軍嚴重缺糧;
——劉備率軍也很輕易地穿越防線,甚至插到了許都南面,配合劉闢作戰;
——袁軍韓恂軍也輕易地穿越了防線進入曹操的後方,雖然被曹軍機動兵團曹仁軍消滅,但是證明當時雙方的戰線並不是大家想像中現代那種連綿不斷,密佈戰壕的防線。
3、由於戰役前期曹操兩次大破袁軍,斬殺袁軍著名猛將顏良、文丑,使袁軍頗為懼怕注2,而袁軍內部也多以為曹軍精銳,戰鬥力極強,即使在袁紹兵力大佔優勢的局勢下,雙方多次交戰,袁紹也並沒有撈到便宜。因此,在沒有完全擊破曹操機動部隊的情況下,袁軍是根本不可能把曹操包圍起來攻打的,這其實應屬於軍事常識。
其實袁軍靠近曹操大營進攻反覆攻擊,已經是兵力完全優勢的表現了。
注2——《三國誌武帝紀》:太祖救延,與良戰,破斬良。紹渡河,壁延津南,使劉備、文丑挑戰。太祖擊破之,斬丑,再戰,禽紹大將。紹軍大震。
4、這個其實更好理解了,曹操總不會愚蠢到把8萬戰俘都集中在一個地點,也不會在一個大坑裡活埋吧?我們設想一下,只要把8萬戰俘分成15~20個分隊,分別押送到某個地點,再集中人力進行活埋,這個問題不就解救解決了嗎?因此,這個質疑其實並不成立。
5、這裡主要是一個曹操的騎兵是否都集中使用在援救白馬的問題上。我們知道,實際上,曹操救援白馬的只是其部分兵力,也不是全部的騎兵。首先看一下下面的歷史記載:
——《三國誌曹仁傳》:仁數有功,拜廣陽太守。太祖器其勇略,不使之郡,以議郎督騎。……太祖善其言,遂使將騎擊備,破走之,仁盡復收諸叛縣而還。
——《三國誌於禁傳》:復與樂進等將步騎五千,擊紹別營,從延津西南緣河至汲、獲嘉二縣,焚燒保聚三十餘屯,斬首獲生各數千,降紹將何茂、王摩等二十餘人。……後從還官渡。
——《三國誌徐晃傳》:從破劉備,又從破顏良,拔白馬,進至延津,破文丑,拜偏將軍。
——《三國誌張遼傳》:使張遼、關羽前登,擊破,斬良。
注意,曹仁一直帶領騎兵機動部隊位於官渡後方,並沒有參加白馬解圍作戰,參加白馬解圍作戰的乃是張遼、關羽、徐晃帶領的步騎兵。
因此,實際上,此時曹操的騎兵並沒有集中在白馬使用,而是至少分為三處:跟隨曹操去白馬的600,由曹仁統領的戰役預備隊(在官渡到許都之間)騎兵若干;跟隨於禁、樂進在延津攻打袁軍的部分騎兵。
這裡面,曹仁的部下騎兵較多,甚至很可能基本是騎兵(督騎)。由於曹仁的任務是戰役預備隊,必須具備很高的機動能力,以便隨時應付突發事件。
所以,如果曹仁有2千騎兵,徐晃、樂進各有600,那曹操的騎兵至少要在3千以上。
所以,裴松之這個質疑,主要是沒有搞清楚曹操還有其他地方有騎兵而提出的。
四、曹操實際上在官渡確實兵不滿萬
那麼到底怎麼理解《三國誌》記載的這個曹操「兵不滿萬」呢?
其實,如果我們仔細看一下這個記載的細節描述,再結合此時期曹操的實際兵力部署,就能夠得出正確的結論了。
首先,我們仔細分析那段記載:
——八月,紹連營稍前,依沙堆為屯,東西數十里。公亦分營與相當,合戰不利。時公兵不滿萬,傷者十二三。紹復進臨官渡,起土山地道。
這裡面實際上記載的曹操兵力,是跟隨曹操在官渡一線築壘據守的兵力,而不是指所有曹操的官渡之戰的參戰兵力。如果能清楚這一點,就能夠解開曹操兵不滿萬的謎團了。
其實,曹操的兵力,除了直接在官渡築壘據守的部隊外,還有:
——兩翼的保護部隊:保護官渡主戰場兩側翼的安全。左翼孟津、敖倉一帶的夏侯惇軍;右翼陳留、己吾一帶的張繡軍;
注意,曹仁一直帶領騎兵機動部隊位於官渡後方,並沒有參加白馬解圍作戰,參加白馬解圍作戰的乃是張遼、關羽、徐晃帶領的步騎兵。
因此,實際上,此時曹操的騎兵並沒有集中在白馬使用,而是至少分為三處:跟隨曹操去白馬的600,由曹仁統領的戰役預備隊(在官渡到許都之間)騎兵若干;跟隨於禁、樂進在延津攻打袁軍的部分騎兵。
這裡面,曹仁的部下騎兵較多,甚至很可能基本是騎兵(督騎)。由於曹仁的任務是戰役預備隊,必須具備很高的機動能力,以便隨時應付突發事件。
所以,如果曹仁有2千騎兵,徐晃、樂進各有600,那曹操的騎兵至少要在3千以上。
所以,裴松之這個質疑,主要是沒有搞清楚曹操還有其他地方有騎兵而提出的。
四、曹操實際上在官渡確實兵不滿萬
那麼到底怎麼理解《三國誌》記載的這個曹操「兵不滿萬」呢?
其實,如果我們仔細看一下這個記載的細節描述,再結合此時期曹操的實際兵力部署,就能夠得出正確的結論了。
首先,我們仔細分析那段記載:
——八月,紹連營稍前,依沙堆為屯,東西數十里。公亦分營與相當,合戰不利。時公兵不滿萬,傷者十二三。紹復進臨官渡,起土山地道。
這裡面實際上記載的曹操兵力,是跟隨曹操在官渡一線築壘據守的兵力,而不是指所有曹操的官渡之戰的參戰兵力。如果能清楚這一點,就能夠解開曹操兵不滿萬的謎團了。
其實,曹操的兵力,除了直接在官渡築壘據守的部隊外,還有:
——兩翼的保護部隊:保護官渡主戰場兩側翼的安全。左翼孟津、敖倉一帶的夏侯惇軍;右翼陳留、己吾一帶的張繡軍;
——官渡到許都之間的戰役預備隊:位於官渡築壘地帶後方。曹仁軍、曹洪軍、徐晃軍、史渙軍;
——東線牽制部隊:牽制袁紹青州部隊。徐州的臧霸軍、孫觀軍等;
——東南的防備部隊:控制汝南袁紹老家一帶的局勢,防備江東孫氏集團。有滿寵軍、李通軍;
——南方的防備部隊:防備劉表集團可能的偷襲。蔡陽軍等;
——其他部隊:包括許都的留守部隊;夏侯淵的運輸護衛部隊、兗州留守部隊等等。
由於曹操處於中心地帶,乃四面受敵之地,為了防備四周的敵人,勢必要分兵據守。比起袁紹所佔有的有利態勢,曹操確實是非常困難。
就如同下圍棋一樣,大家都知道金角銀邊草肚皮的道理,位於容易成活的邊角地帶,生存的幾率就會大大提高,而如果上來就以中央為基地,勢必做活的困難更大。
我們在前面解答裴松之質疑的時候,已經解釋了為什麼曹操只用萬人就可以與袁紹築壘對抗數十里,而且沒有被袁紹重重包圍攻擊。這裡還要說明一點:
實際上,直接面對曹操萬人築壘防禦的袁軍,也不會是全部的袁紹十萬大軍,袁紹直接攻打曹操的第一線兵力其實不過數萬而已:
——袁紹確實出動總兵力11萬人馬,但是在對峙官渡之前,實際上雙方已經連續發生了三次較大的交戰:白馬斬顏良之戰,延津南破文丑之戰,延津北破袁紹偏軍之戰。根據有關的歷史記載:破文丑之戰大致消滅袁軍6000人,延津北之戰也消滅5000以上,加上破顏良的戰果,則在官渡相持前,袁軍總兵已經只有大約9.7萬人了。
——袁紹還保留了一支後軍位於黃河北岸的黎陽地區由大將蔣義渠帶領,這支兵馬也在5000以上;
——袁紹在中軍也會保留強大的機動兵團,用於對付突發事件,比如:淳於瓊的萬人部隊、蔣琦的騎兵部隊等,至少也在1.5萬左右;
——還有就是袁紹派出去迂迴曹操後方的多支部隊,雖然每支部隊的兵力都不是太多,但是決不是只有劉備、韓荀兩支,因為這兩支只是由於被曹軍消滅才得到記載,而其他那些成功襲擊曹軍後勤運輸的部隊並沒有被記載下來。因此這些分別迂迴曹操後方的部隊大致也在萬人左右。
實際上,直接面對曹操萬人築壘防禦的袁軍,也不會是全部的袁紹十萬大軍,袁紹直接攻打曹操的第一線兵力其實不過數萬而已:
——袁紹確實出動總兵力11萬人馬,但是在對峙官渡之前,實際上雙方已經連續發生了三次較大的交戰:白馬斬顏良之戰,延津南破文丑之戰,延津北破袁紹偏軍之戰。根據有關的歷史記載:破文丑之戰大致消滅袁軍6000人,延津北之戰也消滅5000以上,加上破顏良的戰果,則在官渡相持前,袁軍總兵已經只有大約9.7萬人了。
——袁紹還保留了一支後軍位於黃河北岸的黎陽地區由大將蔣義渠帶領,這支兵馬也在5000以上;
——袁紹在中軍也會保留強大的機動兵團,用於對付突發事件,比如:淳於瓊的萬人部隊、蔣琦的騎兵部隊等,至少也在1.5萬左右;
——還有就是袁紹派出去迂迴曹操後方的多支部隊,雖然每支部隊的兵力都不是太多,但是決不是只有劉備、韓荀兩支,因為這兩支只是由於被曹軍消滅才得到記載,而其他那些成功襲擊曹軍後勤運輸的部隊並沒有被記載下來。因此這些分別迂迴曹操後方的部隊大致也在萬人左右。
因此,這樣一來,實際上面對曹操在官渡第一線的袁軍,大體在6.7萬人。而曹操以萬人依托堅固的營壘抵抗6.7萬袁軍進攻,雖然依然是非常困難,但並不是以一當十了。
所以,《三國誌》記載曹操在官渡前線兵不滿萬,其實是正確可信的。當然,從宏觀上看,曹操用官渡萬人確實迫使袁紹的10萬大軍不能前進,荀彧籠統地說曹操在官渡以只有敵人十分之一的兵力抗擊達數月之久,敵人已經沒有什麼辦法突破,從而堅定了曹操擊破敵人的決心,是完全正確的。只是後人在理解荀彧給曹操的信之時,理解發生了偏差,以為是指曹操以總兵力1萬抵抗袁紹的10萬大軍。
注意,陳壽根據歷史的真實,記載了曹操在官渡的實際堅守兵力,但是並沒有說對面被抗擊的袁軍實際是多少。我們一定要注意分清楚這裡的差別。
而曹操之所以不怕袁軍的穿插、迂迴和偷襲,主要是曹操的部署非常合理——在官渡築壘地域的後方,控制著強大的機動作戰兵團。這只機動部隊,不僅可以隨時增援官渡前線的防禦(比如在危急時刻或在必要加強兵力時),隨時打擊穿插進來的袁軍部隊(劉備、韓恂都是這樣被打敗的),隨時粉碎內部、後方出現的叛亂(比如隱強等地劉辟的叛亂),還可以隨時抽調出來對袁軍後方進行襲擊。
曹操的這個部署,首先是基於對自己萬人之兵就足以阻擊袁紹10萬大軍的進攻的強烈信心;其次是對當地地形易於穿插而採取的最有效的防禦手段(即機動防禦),即使在現代,也是非常先進的防禦戰術。袁紹手下不少人建議袁紹輕兵偷襲許都、或者兩翼包抄,其實從實際情況看,袁紹並不是沒有進行嘗試,只不過大多以失敗告終(除了攔截曹軍糧草有一些戰果)。這並不是袁軍無能,而是曹操採取了更先進、更有效地機動防禦戰術,把少量部隊的作戰能力發揮到了極致。
感歎曹操在官渡的兵不滿萬的準確記載,讓我們從中領略了曹操機動防禦戰術的奧妙所在。