第一次聯合作戰來得比任何人預想的都早。訊息是沿著那條新走通的路傳回來的——走新路線的人帶回來的口信,說有一支羯人的騎兵正在遼西介面附近活動。距離介面約莫兩天的路程,人數不算多,但方向很明確,正在向南移動,像是在試探慕容氏邊界南端那一處開口的虛實。送信的人在核桃樹下把話說完,灌了半瓢水就走了。韓昭蹲在樹蔭底下聽完了全部內容,沒說話,等那人走遠之後,他才起身,沿著塘邊的泥徑去了舊部棚屋區。
李農正蹲在門檻內側削一根木楔子,聽見腳步聲抬了一下眼皮。韓昭在他對面蹲下來,把訊息原樣說了一遍。李農聽完,沒抬頭,用手裡那根削了一半的木楔子在地上畫了一道弧線,弧線的中段稍微向外鼓出一塊。他用楔尖在那塊鼓出的位置點了一下,說:介面附近那段路,正好是石勒勢力和慕容氏邊界之間的空隙。對方可能是段部的遊騎,也可能是石勒的前鋒斥候。不管是哪一方,如果放任他們在介面附近反覆活動,那條剛走通的路很快就會被截斷。
不能讓它截斷。韓昭蹲在對面,伸手把地上那道弧線旁邊散落的碎土攏平,用手掌抹了一道直線出來,介面剛接上,路還沒走熟。如果現在被截斷了,以後再想接,就得從頭再來一遍。時間和人力都不夠支撐第二次。
李農把木楔子擱在地上,抬起頭看了他一眼。兩人之間隔著門檻和一小片被踩實的泥地,誰都沒急著往下說。過了好一會兒,李農才開口,聲音不高不低,像在說一件已經確定下來的事:如果要打,不能打太久。打完儘快收回來,不要在介面附近逗留。只要你的人停在那裡超過半天,對方就會順著痕跡摸過來。到時候就算你贏了這一場,那條路也還是暴露了。
韓昭點頭,站起來沿著水塘往回走。水面上漂著幾片核桃樹的落葉,跟著水的微瀾一圈一圈地蕩著。他在灶臺邊坐下來,沒點燈,把眼睛閉上,把介面附近的地形在腦子裡過了一遍。他走那條路來回已經三趟了,哪一段有矮坡、哪一段有淺溝、哪一段的路面容易揚塵、哪一段兩側的植被足夠掩護二十個人短暫停留,都在他腦子裡疊成了一幅完整的地圖。他在那幅地圖上反覆走了幾遍,確認了一件事:這一仗要打,但不能打長久,打完就撤。他需要的不是一場壓倒性的交戰,而是一次足夠快、足夠乾淨的接觸——快到來不及被標記,快到對方無法描述發生了什麼。
第二天天亮之前,韓昭帶著二十個人出發了。十名騎兵配了新鞍和新鐙,鞍橋的弧度比舊式矮了一指,便於俯身時貼住馬頸,鐙面也加寬了半寸,踩上去更穩。十名步卒各背一架弩,弩臂用浸過油的牛皮繩縛緊,扣在肩上走起來不會響。他們沿著那條新走通的路線疾行了兩天,途中歇了兩次,每次不超過一炷香。第三天午後,隊伍在遼西介面附近的一處矮坡背面停下來了。韓昭獨自沿著坡側的一道天然裂縫往上爬,在坡頂一塊被風蝕得平整的石頭上趴下來,用望遠鏡朝介面方向望去。
羯人的騎兵約莫七八十騎,正停留在介面外圍一處開闊的平地上,馬匹散在四周低頭啃草,人三三兩兩坐在地上,有的在整理鞍具,有的在分食乾糧。周圍沒有立營,沒有設哨,馬蹄印從北面延伸過來,向西南方向散開。韓昭判斷他們只是經過此地臨時歇腳,沒有長期駐紮的意圖,也沒有意識到介面附近已經有人在活動。他觀察了將近半個時辰,把那些人歇息的姿態、馬匹的拴系方式、人員坐落的分佈格局一一記在腦子裡,然後退下坡頂,把隊伍召到坡背的陰影裡,蹲在地上用樹枝畫了一張簡圖。
他把二十個人分成兩部分。十名騎兵留在坡後隱蔽待命,等他發出訊號再動。他自己帶著十名弩手沿著矮坡側面的一道淺溝向前摸進。那道淺溝是被雨水沖刷出來的,溝底鋪著細碎的石子和風乾的草莖,踩上去聲音很低。他們用了將近一炷香的時間,貼著溝壁移動了百餘步,在距羯人營地約莫一箭之遙的位置停下來。韓昭把手舉起來,十名弩手沿著溝沿一字排開,弩機已經上弦,箭尖搭在望山上,指向那片開闊地。
第一輪弩箭是在羯人開始重新整隊準備離開的瞬間射出的。那是整支隊伍最鬆散也是最脆弱的時刻,一部分人已經上了馬,一部分還在收攏鞍具,佇列在前方聚攏,後方還散著。十支弩箭幾乎同時從淺溝中飛出,落點分佈在騎兵陣列前端的幾匹戰馬和幾名正在勒韁的騎手身上。箭矢接觸到目標的瞬間,前方的幾匹馬驟然立起,嘶鳴聲劃破了開闊地上的寧靜。前排的騎手試圖穩住馬匹,但後面的人還沒有完全收攏,前推後擁之間,陣腳一下子亂了。
就在這個間隙裡,韓昭的騎兵隊從矮坡後策馬衝出來了。十匹馬沿著他事先劃定的路線,貼著坡腳切出一道弧線,從側翼插入了羯人尚未完全收攏的陣列邊緣。馬匹踏起的塵土在午後的光線中騰起一片黃褐色的霧。騎兵隊沒有停留,也沒有試圖深入穿插,而是沿著陣列的邊緣迅速推進了一段,用了一次集中的衝擊把羯人勉強聚攏的前排重新打散,然後立即收住勢頭,調轉方向退回矮坡一側。
韓昭從淺溝中站起來,在弩手之間快速穿行。他一直在盯著羯人的散開方向,對方的隊形已經開始向兩側潰散,但潰散的路徑並不均勻,左側的人聚攏得稍快一些,右側的人散得更開。他立刻調整了弩手的分組,正面四具弩朝向左側那些正在試圖重新聚攏的騎手,側翼六具弩壓向右側散開的人群邊緣。弩箭一輪接一輪地射出,節奏不算快,但每一輪都落在對方正在形成或正在潰散的交界點上。正面的一組建起了一道壓制線,把那些想要收攏的人釘在原地,側翼的一組則逐段切斷潰散人群的邊線,讓他們無法在散開的同時保持彼此之間的聯絡。
韓昭站在淺溝邊緣,看著那些人正在散開的殘影。隊形碎裂的速度比他預想的更快。前排被擊散後,後排的人先是猶豫了一下——那大約只是幾息的停頓——然後也開始向不同方向散開。散開的邊線正在被弩箭逐段切斷,然後碎裂、剝落,最後散向無法再重新聚合的方向。整個過程像一塊被投入水中的薄冰,裂紋從中心向外蔓延,沿著一道道預先存在的紋理裂開,最終分成了互不相干的小塊,各自漂向不同的方向。
韓昭看著那些正在遠去的散落黑影,沒有下令追擊。他把騎兵從矮坡方向召回來,與弩手在淺溝中段匯合,然後開始逐段後撤。弩手先撤,騎兵殿後,每一段有人接應,沒有人落單,也沒有人停下來回頭看。隊伍沿著來路退入矮坡背面的陰影裡,然後沿著那條約好的路線向北回撤。整個過程從第一輪弩箭射出到最後一個步卒離開淺溝,前後不到一炷香的時間。騎兵和弩手都完整地撤了出來,沒有留下傷員,沒有落下器械,連弩手射空的弩機都收進了背囊裡。
韓昭走在隊伍中段,腳步不快不慢。天邊的光正在從金黃變成赭紅,又從赭紅沉入灰藍。夜色從四面的地平線合攏過來,把矮坡、介面、平地上散落的蹄印和被箭矢帶出的零星血跡全部收進暗色的覆蓋層裡。風從西面吹過來,把揚起的塵土卷平,把淺溝裡的腳窩抹勻,把馬蹄踏過的草莖重新拂正。夜色像一層正在被重新覆平的邊緣,將散落的痕跡逐一壓實、抹平,直到地面恢復為一塊完整的狀態,彷彿什麼都沒有被動過。
回到谷地的時候,天邊泛起了青灰色的光。韓昭在水塘邊蹲下來洗了把手,水涼得刺骨,但他沒縮手,讓冷水順著指縫流下去,把弓弦勒出的印子和灰塵一起沖走。他蹲了一會兒,站起來,把刀解下來靠牆放好,然後走進棚屋,在灶臺邊坐下來,靠著牆壁合上了眼。窗外的水車正在晨光中轉著,葉片帶起的水聲在清早的空氣中顯得格外清晰,均勻而持續地向前鋪展著,像有一隻看不見的手正在把水面上的波紋一遍一遍地拂平。
那場仗已經打完了。介面還在那裡,路還在那裡。那些痕跡被夜色收走之後,又被晨光重新覆蓋了一遍。韓昭能感覺到水車的聲音穿過牆壁和窗欞,穿過核桃樹垂下的枝條,沿著那條被確認過的路線,均勻而平穩地向前延伸,像一層正在被反覆加固的墊層。在夜色完全褪盡之前,那道聲音已經提前穩固地鋪展到了下一個介面的邊緣。韓昭在灶臺邊坐了一會兒,沒有點燈,也沒有生火。他聽著窗外水車轉動的聲響逐漸融進越來越亮的天光裡,均勻地向前鋪展,沿著核桃樹的根鬚延伸的方向,沿著介面那一段被重新壓實的地面,在晨光中持續地延伸著,像是用竹筒和木片搭建出來的路標,不需要有人去看,也始終指向該去的方向。
韓昭坐在那裡,讓水聲替他守著介面和路線的邊界。他在晨光中合著眼,但並沒有真正睡著。水車的葉片一上一下地轉著,水聲持續而穩定地穿過棚屋的牆壁,把那條路的輪廓一遍一遍地重描出來。那些輪廓沿著尚未完全開啟的晨色向遠處延伸,經過矮坡,經過淺溝,經過那片已經被重新覆蓋平整的開闊地,一直延向下一個還沒有被命名、還沒有被走通的位置。水聲替他守在那裡,均勻而沉穩,像一層不會乾涸的標記,在晨光裡一圈一圈地鋪開,替他們先一步抵達了下一個介面的邊緣。








