《史記·楚世家》“雞父之戰”文本生成論析

2024-01-12 03:18李俊標
古籍研究 2023年2期

尚 潔 李俊標

關鍵詞:《楚世家》;雞父之戰;史料來源;流傳形態;文本生成

“雞父之戰”是吴楚攻守異勢的重要戰役,隨着清華簡《繫年》和《越公其事》問世,成爲學者關注的焦點(1)參見蘇建洲、吴雯雯、賴怡璿:《清華二〈繫年〉集解》,臺北:萬卷樓圖書股份有限公司,2013年,第601—610 頁。。李守奎(2)李守奎:《清華簡中的伍之雞與歷史上的雞父之戰》,《中國高校社會科學》2017年第2期。、劉光(3)劉光:《春秋末期吴楚“雞父之戰”考析》,《烟臺大學學報(哲學社會科學版)》2017年第1期。、魏棟(4)魏棟:《春秋時期吴楚雞父之戰相關問題考論》,《長江大學學報(社會科學版)》2018年第3期;魏棟:《清華簡〈繫年〉雞父之戰戰地探賾》,《文史》2021年第1期。等學者釐清史實,所論參考價值頗大,但相關記載仍存較多齟齬。

傳世文獻對此事的記載歧見迭出,尤以《楚世家》爲甚。李守奎言《史記》對“雞父之戰”的記載在編纂層面糅合删略較多(5)李守奎:《清華簡中的伍之雞與歷史上的雞父之戰》,《中國高校社會科學》2017年第2期,第115頁。。筆者則認爲所見文本失序多來源於文本整合生成新文本時所遺痕迹,即程蘇東所言“失控的文本”(6)程蘇東:《失控的文本與失語的文學批評——以〈史記〉及其研究史爲例》,《中國社會科學》2017年第1期。。正是這些痕迹爲我們還原《楚世家》的文本生成路徑,提供了重要支點。本文聚焦於傳世文獻歧見,試圖探討以下問題:一,《楚世家》相關記載的來源;二,《楚世家》的記載是否是相關史事在漢代的普遍流傳形態;三,《楚世家》相關記載的生成與整合路徑。

一、 史料來源蠡測

《楚世家》對“雞父之戰”記載如下:

十年,楚太子建母在居巢,開吴。吴使公子光伐楚,遂敗陳、蔡,取太子建母而去。楚恐,城郢。初,吴之邊邑卑梁與楚邊邑鍾離小童争桑,兩家交怒相攻,滅卑梁人。卑梁大夫怒,發邑兵攻鍾離。楚王聞之怒,發國兵滅卑梁。吴王聞之大怒,亦發兵,使公子光因建母家攻楚,遂滅鍾離、居巢。楚乃恐而城郢。(7)(漢)司馬遷:《史記》,北京:中華書局,2014年,第2066頁。

相關史事亦見於《吴太伯世家》:

八年,吴使公子光伐楚,敗楚師,迎楚故太子建母于居巢以歸。因北伐,敗陳、蔡之師。九年,公子光伐楚,拔居巢、鍾離。初,楚邊邑卑梁氏之處女與吴邊邑之女争桑,二女家怒相滅,兩國邊邑長聞之,怒而相攻,滅吴之邊邑。吴王怒,故遂伐楚,取兩都而去。(8)《史記》,第1766頁。

二者都將楚太子建母“開吴”視作吴人伐楚的導火索,又目“争桑”爲吴滅居巢、鍾離的起因,與《春秋》經傳衝突。《春秋》經僅記載了“雞父之戰”的時間、作戰方及人員結局:

戊辰,吴敗頓、胡、沈、陳、蔡、許之師于雞父。胡子髡、沈子逞滅,獲陳夏齧。(9)《春秋左傳正義》,阮元校刻《十三經注疏》本,北京:中華書局,2009年,第4563頁。

《左傳》昭公二十三年展開較詳:

吴人伐州來。楚薳越帥師及諸侯之師奔命救州來。吴人禦諸鍾離。……戊辰晦,戰于雞父。吴子以罪人三千,先犯胡、沈與陳,三國争之。……吴師擊之,三國敗,獲胡、沈之君及陳大夫。舍胡、沈之囚,使奔許與蔡、頓……三國奔,楚師大奔。……楚大子建之母在郹,召吴人而啓之。冬十月甲申,吴大子諸樊入郹,取楚夫人與其寶器以歸。……楚囊瓦爲令尹,城郢。(10)《春秋左傳正義》,第4566—4567頁。

而吴滅二邑,則見於《左傳》昭公二十四年:

楚子爲舟師以略吴疆。……吴人踵楚,而邊人不備,遂滅巢及鍾離而還。(11)《春秋左傳正義》,第4574頁。

《左傳》以吴伐楚在前,建母“開吴”在後,次序與《史記》相反,言“吴滅二邑”時,則歸因於“踵楚”及“邊人不備”,無涉“争桑”之事。

吴楚“争桑”始見於《吕氏春秋·察微》,以“争桑”爲“雞父之戰”的原因之一,未交代太子建之母“開吴”一事:

楚之邊邑曰卑梁,其處女與吴之邊邑處女桑於境上,戲而傷卑梁之處女。卑梁人操其傷子以讓吴人,吴人應之不恭,怒殺而去之。吴人往報之,盡屠其家。……吴公子光又率師與楚人戰於雞父,大敗楚人,獲其帥潘子臣、小帷子、陳夏齧,又反伐郢,得荆平王之夫人以歸,實爲雞父之戰。(12)許維遹集釋,梁運華整理:《吕氏春秋集釋》,北京:中華書局,2009年,第419—420頁。

綜上,傳世文獻對“雞父之戰”的記載差異較大。部分差異雖在《楚世家》中有所彌合,然猶有未竟者。因此,有必要探討《楚世家》與《春秋》經傳及《吕氏春秋》間的史源承繼關係。爲便於展現幾組文本間的可能對應及相關史料的動態變化,依《楚世家》行文順序可將叙事綫索歸納爲九個要素,依次爲:A建母在居巢;B開吴;C公子光伐楚;D敗陳、蔡;E吴取建母;F争桑;G吴因建母家攻楚;H吴滅鍾離、居巢;I楚城郢。而後,將他處所見相同或類似要素(類似要素後加數字以示細節有别)標以相同字母,則可得《吴世家》綫索爲:C、E、D、F1(13)《楚世家》言卑梁屬吴,主人公爲小童。《吴世家》言卑梁屬爲楚,主人公爲處女,此與《吕氏春秋》同,故爲“F1”。、H,《左傳》爲:C、D1、A1、B、E1、I、H1,《吕氏春秋》爲:F1、H2、D2、E2。若以《楚世家》所含要素爲標的,則《左傳》所包含的要素最爲完整。B、C、H、I等要素同於《楚世家》,而A、D、E等要素,雖存若干差異,但基本事件亦無過多出入。而F“争桑”要素的掌故特徵明顯,目前僅見於《吕氏春秋》,G“吴因建母家攻楚”則不見於其他文獻。

括上要素及綫索,《楚世家》與《左傳》的動態關係可圖示如下:

《楚世家》與《左傳》所見要素重合度最高,故《楚世家》叙事框架應本自《左傳》,但仍有次序顛倒,細節出入之處。

首先,由於材料倒置,使二者對事件因果的理解不同。將《左傳》C“公子光伐楚”與D1“敗七國聯軍”爲一組,即雞父之戰主體——鍾離之戰,發生於七月戊辰;又將A1“太子建母在郹”與B“開吴”爲一組,即雞父之戰尾聲——入郹之戰,發生於十月甲申。《左傳》將C、D1組置於A1、B組前,以此次序强調二者的因果關係,即太子建母因楚敗而“召吴人而啓之”。《楚世家》則相反地認爲太子建母“開吴”纔引發雞父之戰。

其次,E“吴取建母”二者均有,但表述差異極大。若將《楚世家》所見E要素提煉爲“公子光入居巢取建母”,則《左傳》“諸樊入郹取建母”當别爲E1。從語義看,除相同結果“取建母”外,二者對取建母之人及所入之地的記載皆不相同。率師取建母者,當爲公子光,“諸樊”或係《左傳》誤記(14)楊伯峻撰:《春秋左傳注》,北京:中華書局,1990年,第1447頁。。至於“郹”與“居巢”之别或是戰國秦漢地名更易致誤,對此下文詳考。

最後,“楚城郢”見於《左傳》昭二十三年,即楚平王十年,而吴滅鍾離、居巢則發生於昭公二十四年,《左傳》并不認爲二事存在直接因果關係,僅以時間先後爲次。而《楚世家》不僅將二事皆繫於楚平王十年,更顛倒二事次序,將滅二邑視作“城郢”的原因。

至於僅見於《吕氏春秋》的“争桑”,《史記》多取此説,如《楚世家》《吴太伯世家》《伍子胥列傳》《十二諸侯年表》。此外,《吴越春秋·王僚使公子光傳》對此亦有提及。各説主要區别在於卑梁的歸屬權。《楚世家》《十二諸侯年表·楚表》及《伍子胥列傳》認爲卑梁屬吴,鍾離隸楚。而《吕氏春秋》《吴太伯世家》及《吴越春秋》則以卑梁屬楚。卑梁屬吴而非楚邑,學者早有定論(15)劉光:《春秋末期吴楚“雞父之戰”考析》,《烟臺大學學報(哲學社會科學版)》2017年第1期,第93頁。,而此差異恰反映此六處記載可依吴系和楚系分爲兩組。

吴系史料包括《吕氏春秋》《吴太伯世家》與《吴越春秋》。此三處記載結構高度因循,兹依上述序次分列如下:

楚之邊邑曰卑梁,其處女與吴之邊邑處女桑於境上。

楚 邊邑卑梁氏之處女與吴 邊邑之女争桑。

楚之邊邑脾梁之女與吴 邊邑處女蠶,争界上之桑。(16)(後漢)趙曄撰,周生春輯校彙考:《吴越春秋輯校彙考》,北京:中華書局,2019年,第189頁。

三處史料在卑梁歸屬、争桑之人及文辭結構上高度一致:皆誤以卑梁屬楚且不記吴邊邑名;皆認爲争桑者爲雙方邊邑之女;語句結構都可提取爲“楚邊邑卑梁之女與吴邊邑之女(争)桑”,故三處應屬同一文獻體系。又因《吴太伯世家》保留了《吕氏春秋》之誤,故二者應存在因襲關係。而《吴越春秋》這類相對晚出的區域史文獻,必然會采取《吴太伯世家》的記述。此外,《吴越春秋》又言“界上”,與《吕氏春秋》“境上”呼應,故其記載也顯然受到了《吕氏春秋》影響。

《楚世家》《十二諸侯年表》《伍子胥列傳》則是楚系史料。三者不僅正確指出卑梁屬吴,還記載楚邊邑名爲鍾離。此外,對吴所伐二邑,亦明確爲“鍾離”“居巢”。三者對楚地名的記載,較吴系詳細,可見對楚的情况更熟悉。《楚世家》與《楚表》自不必多言,應即本自楚國史料,而《伍子胥列傳》之所以偏楚系,或與伍子胥雖仕吴,但實爲楚人有關。

綜上,《楚世家》相關記載應是司馬遷雜取三種不同來源史料的産物。司馬遷以《左傳》昭公二十三年爲主體框架,節略和倒置了若干要素,又嵌入《吕氏春秋》所載“争桑”之事,補述戰争的可能導火索,最後以楚系史料補充交代卑梁及鍾離、居巢的歸屬。

二、 流傳形態管窺

相較《左傳》,《楚世家》“雞父之戰”文本混亂而失序。但若僅一語帶過,則抹殺了司馬遷整合既有材料,重新建構有序文本的努力,也錯失了通過分析整合過程窺測相關記載在漢代的可能流傳狀况的機會。諸家對《楚世家》失序的争議,可概括爲以下三點。

第一,地名誤載,《楚世家》將太子建之母所在記爲“居巢”,而未因襲《左傳》之“郹”。郹,孔穎達《正義》曰:“土地名郹,是蔡地。蔡在楚之東北,故建母在郹得召吴人也。”(17)《春秋左傳正義》,第4567頁。楊伯峻認爲在今河南新蔡内(18)楊伯峻:《春秋左傳注》,第1447頁。。若如前文,《楚世家》在文本框架上因襲《左傳》,則司馬遷何以舍《左傳》之“郹”而改作“居巢”呢?

譚其驤言《史記》所言“居巢”即《左傳》所見“巢”。春秋戰國時在江淮即有三處同名異地者。一爲“群舒”之一,即《左傳》昭公二十四年吴“遂滅巢及鍾離”之巢,在今六安縣北;二爲《左傳》定公二年吴“遂圍巢,克之”之巢,在今桐城縣南;三是蔡邑,與“郹”一地二名,即《楚世家》所言之巢,在今阜陽縣南。因此,譚其驤批評梁玉繩據《左傳》而以《史記》爲誤未免武斷(19)譚其驤:《鄂君啓節銘文釋地》,《中華文史論叢》第2輯,北京:中華書局,1962年,第185—186頁。。依譚説,郹春秋時亦稱“巢”,秦漢則稱“居巢”,《左傳》與《楚世家》所述無涉正誤,僅是以秦漢地名稱春秋地域,至多是李零所言“逆溯性誤差”(20)李零:《三代考古的歷史斷想》,《中國學術》第十四輯,北京:商務印書館,2003年,第201頁。。

第二,作戰對象縮减,《楚世家》言除楚人外,吴所敗對象爲“陳、蔡”而非《左傳》所言七國聯軍。《春秋》經明言“戊辰,吴敗頓、胡、沈、蔡、陳、許之師于雞父”,《左傳》又補充道:“吴子以罪人三千先犯胡、沈與陳,……吴師擊之,三國敗,獲胡、沈之君及陳大夫。……奔許與蔡、頓,……三國奔,楚師大奔。”梁玉繩認爲此乃太史公之疏(21)梁玉繩曰:“又吴敗頓、胡、沈、蔡、陳、許并楚爲七,故公子光曰‘七國同役’,此與吴世家止言陳、蔡,亦疏。”(清)梁玉繩撰,賀次君點校:《史記志疑》,北京:中華書局,1981年,第1016頁。。

由漢代文本如《春秋繁露》及《漢書》所記觀之,相關記載在漢代的普遍流傳面貌當同於《左傳》而非《楚世家》。如《春秋繁露》言“吴大敗楚之党六國於雞父”(22)(西漢)董仲舒,蘇輿撰,鍾哲點校:《春秋繁露義證》,北京:中華書局,1992年,第138頁。,正與《春秋》經傳相合。《漢書》亦載:“後楚帥六國伐吴,吴敗之于雞父。”(23)(東漢)班固撰,(唐)顔師古注:《漢書》,北京:中華書局,1962年,第1514頁。對此,顔師古注曰:“昭二十三年,楚薳越帥師,及頓、胡、沈、蔡、陳、許之師與吴師戰于雞父,楚師敗績。”(24)《漢書》,第1515頁。

可見直到班固時期,《春秋》經傳對“雞父之戰”的記載,在漢代流傳時姿態相對穩定,并爲諸家所采。時人對“雞父之戰”記載的主流亦本自《春秋》經傳,認爲吴所伐者爲七國聯軍。《楚世家》關於此事的記載,并非漢代廣泛流傳的普遍形態。

造成差異的原因可能是司馬遷對來源史料的節略,這在《史記》中并非個例。如《晋世家》記城濮之戰:“己巳,與楚兵合戰,楚兵敗,得臣收餘兵去。”(25)《史記》,第2009頁。僅記與晋方作戰者爲楚人。然據《左傳》僖公二十八年“陳、蔡奔,楚右師潰”(26)《春秋左傳正義》,第3961—3962頁。,楚右軍即有“陳、蔡”,而司馬遷并無提及。因而,“雞父之戰”僅載敗陳、蔡,應是司馬遷略去枝節,未必是其疏忽。

第三,因果顛倒,《楚世家》將《左傳》十月“建母開吴”置於七月“公子光伐楚”前,將《左傳》昭二十四年“吴滅鍾離、居巢二邑”置於昭二十三年“城郢”前。從表達邏輯看,《左傳》時間節點明確,先後次序清晰,而《楚世家》時間節點不明,先後次序顛倒。要探討《楚世家》文本呈現當前形態的原因,則須離析此段文本的潜在結構。依叙事重心的不同,《楚世家》雞父之戰相關文本,大致可分爲三個層次:

第一層次,即主綫吴楚之戰,具體爲“公子光伐楚—敗陳蔡”。此層圍繞雞父之戰展開,雖細節與《左傳》略有出入,但戰争走嚮大致吻合。

第二層次,則圍繞楚太子建之母展開,具體爲“建母在居巢—開吴—吴取建母—吴因建母家攻楚”。其中“吴因建母家攻楚”這一要素僅見于《楚世家》,當是司馬遷的增飾。《楚世家》對此層次的其他要素的叙述次序同於《左傳》。

第三層次,即“争桑”,過程爲“争桑—吴滅鍾離、居巢—楚城郢”。此層次以“初”字導入,應是對前兩個層次的補叙。

《楚世家》的文本次序顛倒發生在前兩個層次之間。前兩個層次在内部叙述綫索上與《左傳》所見大體一致,但當兩層次糅合爲一時,其次序便發生了顛倒。由此可推測,漢代廣泛流傳的“雞父之戰”相關記載很可能依前文所劃的層次,爲各自獨立流傳的封閉文本。《楚世家》之所以失序,應是司馬遷整合舊有材料生成新文本時,難以周全文本層次之間的文意、邏輯。

三、 “失序”原因及其生成路徑

對此“失序”,既往研究將問題簡單歸結爲司馬遷的疏失,憾未能回溯《楚世家》文本的生成軌迹,故未很好總結誤因。而上節劃分文本層次的做法,是解釋失序問題的必由之路。所分三個層次文本中,第二層次尤爲重要,其與另兩層存在密切因果關係。第二層次“建母在居巢,開吴”是第一層次“吴使公子光伐楚,遂敗陳、蔡”的原因,而“取太子建母而去”又與第三層次“滅鍾離、居巢”共同構成“楚乃恐而城郢”的原因。由此可知在司馬遷認知中,吴滅鍾離、居巢與吴入居巢接走太子建母二事相伴發生。

首先,《楚世家》先述吴國“取太子建母而去,楚恐,城郢”,又强調“遂滅鍾離、居巢,楚乃恐而城郢”,兩見“城郢”但前接不同事件。《楚世家》言行此事之吴軍皆爲公子光所率,在時間節點含混的情况下,司馬遷認爲“取太子建母”與“滅二邑”密切相關是合理的。

其次,前述“争桑”衹關乎楚之鍾離和吴之卑梁,未提居巢,而戰争結果却言吴滅鍾離、居巢,并點明借助了太子建母家之力,這便與“建母在居巢……取太子建母而去”的記載産生了潜在關聯,印證了二事在《楚世家》文本中的伴生關係。實際上據《左傳》,“取太子建母”在楚平王十年,“滅鍾離、居巢”在楚平王十一年,二者相隔一年且無因果關聯。而《楚世家》的行文邏輯中,正由於建母家與建母同在居巢,纔能與吴國裏應外合,既接走建母,又助吴滅二邑。對此,梁玉繩總結爲“以建母之在郹爲在巢,遂以十年吴入郹爲十一年之滅二邑矣”(27)《史記志疑》,第1016頁。,并可進一步簡化爲如下邏輯鏈條:

建母在郹→(第二層次)建母在居巢→吴入郹→(第二層次)吴入居巢→(第三層次)吴滅鍾離、居巢

貫穿此鏈條的核心是建母所在地“居巢”。依梁氏言,司馬遷誤將“郹”記爲“居巢”,繼而因相似地名“居巢”,將此與“吴滅楚之鍾離、居巢”關聯,并衍生出“因建母家攻楚”之細節,從而導致在文本記述上將吴滅二邑之事提前一年,同繫於楚平王十年。此邏輯看似成立,但邏輯成立的前提爲司馬遷確實誤記“郹”與“居巢”。

然據前引譚其驤説,“居巢”與“郹”同地異名,且《楚世家》相關記載所見兩處“居巢”,實際對應春秋時的兩處“巢”地。“建母在居巢”對應《左傳》昭公二十三年“建之母在郹”。吴所滅“居巢”則是群舒中的小國。因此,“建母在居巢”之“居巢”與“滅鍾離、居巢”之“居巢”同名異地,前者在淮北蔡地,後者在淮南舒地。而司馬遷將其混爲一談,并通過“因建母家攻楚”串聯二者。據此重新梳理《楚世家》文本的生成路徑可得邏輯鏈條如下:

建母在郹=(第二層次)建母在居巢(淮北蔡地)→吴入郹=(第二層次)吴入居巢(淮北蔡地)→(第三層次)吴滅鍾離、居巢(淮南舒地)

故《楚世家》之所以存在邏輯矛盾,并不是因爲誤記“郹”與“居巢”,而是混淆了淮北、淮南兩處“居巢”。這顯然是司馬遷以秦漢時地名改讀春秋史料帶來的“逆溯性誤差”。《中國行政區劃通史·秦漢卷》言居巢秦時屬衡山郡(28)周振鶴主編:《中國行政區劃通史·秦漢卷》,上海:復旦大學出版社,2015年,第41頁。,譚其驤言衡山郡由九江郡分置(29)譚其驤:《長水集》,北京:人民出版社,1987年,第10頁。。故秦時“居巢”由多變一,專指衡山郡屬縣。而《漢書·地理志》以居巢縣屬廬江郡。《中國行政區劃通史·秦漢卷》則先以“居巢縣”屬衡山郡,後屬廬江郡,并言“治今安徽桐城市南”(30)《中國行政區劃通史·秦漢卷》,第378頁。。這也説明從秦到漢,衹有今安徽桐城的巢被設爲居巢縣,而其他幾處“巢”地則逐漸湮没。受此影響,司馬遷將秦漢時的“居巢”唯一化,混淆了淮北蔡地之居巢與淮南群舒之居巢,從而將“吴入居巢”與“吴滅居巢”合一,繫在楚平王十年之下。

綜上,《楚世家》“雞父之戰”文本的生成過程可總結爲:秦漢置縣影響了司馬遷對春秋“巢”地的認知,誤將淮北蔡地之巢與淮南舒地之巢相混淆,概稱“居巢”,進而誤以爲“吴滅鍾離、居巢”與“吴入居巢取太子建母”二事相伴發生,從而誤將分屬兩個層次的文本粘合,造成了將吴滅鍾離、居巢提前一年誤置於“城郢”之前這一文本次序顛倒。

四、 餘 論

《楚世家》“雞父之戰”所見失序,其實是複雜來源文本生成時的常見困境。因爲每一層次的舊有文本都有單獨傳播的可能,這些文本所具有的特定來源、文本性質及邏輯框架,本身帶有各自的原語境,這些原語境固然可以相得益彰,但也有難以調和之處。加之先秦文獻的流動性、公共性特徵(31)參見徐建委:《戰國秦漢間的“公共素材”與周秦漢文學史叙事》,《中山大學學報(社會科學版)》2012年第6期,第1—9頁。,又注定這些文本的整體或部分可能從原語境抽離剥落,成爲建構生成新文本的原料。而當這些史料缺少明確的時間定位,又存在明顯繫聯可能,在其原語境杳不可聞時,就容易在文本拼接時産生諸如《楚世家》所見的次序顛倒與邏輯混亂問題。

宏觀而言,《史記》并非静態、連貫、邏輯自洽的封閉文本系統,我們應以“動態”的眼光來看待歷史的叙述與真實之間的時空移置與邏輯錯位;以“破而後立”的手段解析文本的結構層次和組織邏輯,探討多來源文本的雜糅可能,揭示其組合拼接所帶來的失序現象。如此方能考察《史記》整合不同來源文本的方法、推求轉换新舊文本體系的話語策略以及文本編纂邏輯的重塑方式。這也爲進一步探討古書文獻從戰國到兩漢的發展演變情况,提供了行之有效的手段。