031 安市城之战——顿兵坚城,功败垂成¶
时间:645年(贞观十九年)二月至九月 | 交战方:唐太宗李世民(亲征) vs 高句丽安市城守军 兵力:唐军约十万(陆军六万、水军四万) vs 安市守军史无确数(高丽援军十五万先被击破) 兵法验证:地形篇·火攻篇·行军篇·谋攻篇 结果:十城皆下、野战大捷,独安市顿兵六十余日不克,辽左早寒粮秣将尽,太宗敕令班师,东征未能竟功
一、导读¶
安市城之战是唐太宗戎马一生唯一一场未竟全功的亲征,也是他留给后世的反面教材:野战所向披靡——驻跸(bì)山一战击溃高丽十五万援军;攻坚却束手无策——一座守将姓名都不见于正史的山城,硬生生顶住了十万唐军六十余日。此役像一面镜子,把《孙子兵法》「其下攻城」的警告照得分毫毕现,也把「知天知地」四个字的分量称了出来:能算敌军的每一个动向,却算不准一座石城背后那个不肯投降的城主与一天天逼近的严冬。读安市,读的是绝代名将如何输给一座城。
二、双方态势¶
唐军方面: - 统帅:唐太宗李世民亲征,李勣(jì)统陆军前锋,张亮率水军渡海策应,长孙无忌等从驾。 - 兵力:约十万——李勣步骑六万出陆路,张亮率江淮岭硖劲卒四万、战舰五百艘自莱州渡海。 - 地形:辽东诸城多为依山而筑的坚城,安市(今辽宁海城境内)城倚山险、下瞰平川。 - 后勤:粮道自关内绵延数千里,秋季一过则草枯水冻、转输断绝。 - 政治约束:魏征卒后谏诤乏人,太宗志在毕太宗之世解决高句丽,实为亲征之「欲」所驱。
高句丽方面: - 统帅:安市城主(姓名史载不详),北部傉(rù)萨高延寿、高惠真先后统援军。 - 兵力:安市守军史无确数;六月高延寿、高惠真率高丽、靺鞨兵十五万来援。 - 地形:山城石壁、粮储充足,守军利在死守待冬。 - 后勤:城内自给,雪原为屏。 - 政治约束:渊盖苏文弑主专国,高丽上下反唐意志决绝,败则族灭,退无可退。
决策节点: - 〔决策点1〕唐军五月火攻辽东城速胜,太宗亲临前线督战;高延寿十五万援军于驻跸山被伏击全歼。 - 〔决策点2〕安市城主拒绝招降,恃险死守;唐军舍围点他进之议,顿兵城下。 - 〔决策点3〕唐军于城东南昼夜筑土山,六十余日山成,压近城墙。 - 〔决策点4〕土山崩塌压毁城堞,守将傅伏爱擅离职守,高丽数百人乘乱出战,反夺土山据守;太宗怒斩伏爱,猛攻三日不克。 - 〔决策点5〕辽左早寒草枯水冻、军粮将尽,太宗敕令班师,临行赐城主缣百匹以嘉其忠守。
三、兵法原文对照¶
《孙子兵法·火攻篇》:
「行火必有因,烟火必素具。发火有时,起火有日。」
《孙子兵法·行军篇》:
「凡处军相敌:绝山依谷,视生处高,战隆无登。」
《孙子兵法·地形篇》:
「知天知地,胜乃不穷。」
《孙子兵法·谋攻篇》:
「故上兵伐谋,其次伐交,其次伐兵,其下攻城。」
四、战役经过¶
〔决策点1:一路破竹〕645年二月,太宗自洛阳启驾亲征,水陆十万并进。四月,李勣克盖牟城,张亮渡海取卑沙城。五月,围辽东城,唐军乘风纵火,「焚其楼雉(zhì)」,木构楼橹烟焰蔽天,辽东城陷,白岩城继降。六月,高延寿、高惠真率十五万来援,太宗亲自部署伏兵,大破之于驻跸山,延寿、惠真举众降。至此高丽西部防线土崩,玄菟、横山、盖牟等十城皆下——若乘胜直趋平壤,东路已无大战可打。
〔决策点2:一座不肯开门的城〕七月,大军进围安市。城主拒不纳降,凭山城之险死守。诸将或请舍安市先取建安,太宗以恐腹背受敌不允;招降不至,遂定计攻坚。谁也没有想到,全役最硬的一块骨头就是这座不见于兵家名册的边城。
〔决策点3:六十日筑一座山〕安市城高池深,强攻徒耗。唐军改变打法:于城东南昼夜筑土山,与城墙竞高,六十余日山势渐成,俯瞰城中,「山几与城齐」。这是那个时代攻城术的极限操作——不能破墙,就把山搬到墙边。城内守军则以凿城、夜袭、抢筑内城层层拆招,城中鸡犬不惊,井然有序,太宗叹曰:「安市当守者非庸人。」
〔决策点4:山崩与夺山〕九月,土山终于压塌城墙一角,缺口已在眼前——守将傅伏爱却恰在此时擅离所部。高丽守军数百人乘隙出战,不仅堵住缺口,反客为主夺占了土山,掘堑立栅,把唐军六十天的工程变成高丽的城外堡垒。太宗闻变震怒,斩傅伏爱以徇,命诸军猛攻三日,山城岿然不动。
〔决策点5:知天而退〕至此,胜负的天平已不由战场决定:辽左早寒,草枯水冻,塞外风雪将至,而军粮将尽、士马疲敝。太宗审时度势,敕令班师——军阵严整而退,安市城主登城再拜相送,太宗嘉其能为主死守,赐缣(jiān)百匹以劝事君。此役唐军拔十城、徙七万口、野战三捷斩首四万余级,然安市不下,即为未竟全功;太宗事后深悔此行,叹曰:「魏征若在,不使我有是行也!」
五、兵法验证¶
验证一:火攻篇——「行火必有因,烟火必素具」(正反对照) 同一支军队在同一个战役里的两次攻坚,正好演示「因」的有无:辽东城楼橹皆木构,又有南风可借——「因」与「具」齐备,一把火三日破坚城;安市是依山石城,火攻无「因」可乘,唐军转用土山,等于承认火攻篇在石壁面前的失效。孙子「行火必有因」的深意至此显出第二层:攻城之术必须与「因」同行,无因之城,再强的国力也只能换打法——而换打法要付时间,时间恰恰是唐军最缺的。
验证二:行军篇——「战隆无登」(反面) 唐军的土山战术,本质是把「登」做到极致:六十日人力垒起的山,就是为仰攻而设。然而行军篇早有明训——「绝山依谷,视生处高,战隆无登」,仰攻坚高,兵家大忌;高丽守军反夺土山、掘堑自固之后,攻守之势瞬间倒转,唐军从「处高」跌回「仰攻」,三日不下便是此忌的现世报。傅伏爱的擅离是偶然,但把胜负押在一座人工土山上,偶然的代价注定由全军偿还。
验证三:地形篇——「知天知地,胜乃不穷」(正反两面) 太宗知地:选线、布伏、水陆配合,野战之精当世无对;太宗知天:见草枯水冻、粮秣将尽即断然班师,保全了十万大军——退兵本身就是「知天」的正用。但反过来看,此役的失利恰出在天地的「时差」上:山城攻坚的耗时远超预估,六十日土山把唐军拖进了辽东的冬天。知天知地者胜乃不穷,前提是算得进日程——安市之败,败在天时被低估了一天,也败在地形被高估了一尺。
验证四:谋攻篇——「其下攻城」(反面) 安市是「其下攻城」的完整案例:孙子明言「杀士三分之一而城不拔者,此攻之灾也」,唐军顿兵六旬,锐气与粮秣同耗,十五万援军击破换来的战略窗口,在城墙下一天天关上。太宗后来叹「魏征若在,不使我有是行也」,等于亲自承认:此役从决策起点就值得再议——若采薛收式的伐谋(联新罗、扰其后),或直接绕城北上(诸将之请),或可免顿兵之灾。名将最难的一课,恰恰是承认「能攻」不等于「该攻」。
总结:安市之战的兵法账目,胜负双方各记一半:唐军在火攻(有因则胜)、知天(知寒则退)上得分,在攻坚(其下攻城)、仰登(战隆无登)上失分;高丽城主则以死守演完《虚实篇》「守而必固者,守其所不攻也」的下半句——把一座无名山城守成了对手啃不动的「不可胜」。十万大军与一座边城的较量,验证的是同一句老话:兵法的上限由进攻方决定,下限由地形和意志决定。
六、成败启示¶
从唐太宗的角度读安市,此役的价值恰在其「不完美」:一位几乎从无败绩的统帅,示范了如何输掉一场打不赢也不该拖的仗。第一层:攻坚的账要按日历算,不能按实力算——唐军战力对守军是碾压级的,但石城把「战力比」换算成了「时间比」,而辽东的日历对客军不利;今天的项目评估同理,优势再大,若胜在对手的时间表上而不在自己的,就是伪优势。第二层:最后一步的纪律比之前的胜利更重要——土山崩塌本可挽回,傅伏爱一人失职放大成全局溃点;长期行动的失败常在收尾阶段,越是接近成功,越要把关键节点上的「人」盯紧。第三层是那位无名城主一侧的启示:弱者的全部战略就是「把自己变成不可胜」——他不求胜,只求把冬天拖来;当时间站在你这边时,撑住就是最锋利的进攻。太宗赐缣百匹的动作意味深长:真正的强者,尊重的从来不是胜负,而是把胜负拖入自己节奏的对手。至于那句「魏征若在」的叹息,则是给所有决策者的备忘——身边没有敢说「不要打」的人时,胜利的清单上往往少一行止损的条款。
七、拓展¶
- 成语溯源:
- 功败垂成(《晋书·谢玄传论》:「庙算有余,良图不果;降龄何促,功败垂成」)——十城皆下而一城不克,唐征高句丽的四个字总结。
- 草枯水冻(史文谓「辽左早寒,草枯水冻,士马难久留」,《资治通鉴》卷一百九十八)——北地战事的季节铁律。
- 关联战役:030 虎牢关之战(同一统帅「围点打援」与「顿兵攻坚」的正反对照);022 街亭之战(同为地利之失的代价);043 宁锦之战(顿兵坚城之下的历史重演);《旧唐书·太宗本纪》《新唐书·东夷传》《资治通鉴》卷一百九十七至一百九十八。
- 延伸阅读:《中国历代战争史》第六册唐征高句丽章;陈寅恪《唐代政治史述论稿》辽东经营诸论;拜根兴《七世纪中叶唐与新罗关系研究》。