一、四个成语的出处需要分开说
「投鞭断流」出《晋书·苻坚载记》苻坚南征前语;「草木皆兵」出《晋书·苻坚载记》;「风声鹤唳」最早见于《晋书·谢玄传》(「余众弃甲宵遁,闻风声鹤唳,皆以为王师已至」)。今传《资治通鉴》卷一〇五虽备载此事,但成书晚于《晋书》四百余年,来源即唐修诸史。所以严格地说,这几条成语的「最早出处」是《晋书》,不是《资治通鉴》。
二、《晋书》的「神助」框架
《晋书·苻坚载记》于「八公山上草木皆类人形」之外,还记有一段今日讲说中几乎不出现的内容:会稽王司马道子「以威仪鼓吹求助于钟山之神,奉以相国之号」,随后称苻坚之见草木状人「若有力焉」。这是唐人修史时沿用的神异笔法,编者显然把这一战的部分因果放在了神意一栏。读这一段时须把它与史实判断分开处理。
三、兵力数字的分层
《资治通鉴》:「坚发长安,戎卒六十余万,骑二十七万。」此为动员总数。前线兵力另有数说:《晋书·苻坚载记》作二十五万,《资治通鉴》与《晋书·朱序传》作三十万。近人研究中,翦伯赞、王仲荦等多取「总动员近百万、实际参战二三十万」之说;亦有学者(如邱久荣)主张前线不过十余万。东晋方面,淮淝一线为谢玄所统八万北府兵,另荆襄一线有桓冲部约十万。「以少胜多」这一判断按全国总动员口径成立,按前线实到兵力口径则大为削弱。
四、败因的两个层次
直接原因是后撤命令在成分复杂的军队中失控,朱序在阵后的呼喊成为触发点(《资治通鉴》:「秦兵小却,朱序在陈后呼曰:『秦兵败矣!』众遂大奔」)。结构原因是前秦统一北方过快,被灭诸国的贵族(慕容氏、姚氏)仍居长安并有部众,中央主力一失即各自立国。王猛临终遗言(《晋书·苻坚载记》记其「晋虽僻陋吴越,乃正朔相承……鲜卑羌虏,我之仇也」)与此结构原因正相对应。
可引用的稳妥结论:此战主证为《晋书》与《资治通鉴》;四个成语的出处应溯至《晋书》;「百万」为动员口径,前线不过二三十万;东晋八万之说较一致。