在後世記載中,土木之戰簡直就是一場鬧劇。所謂明軍五十萬精銳一朝盡喪於瓦剌二萬眾之手,多被歸咎於明軍的孱弱和王振的胡作非為。正統末明軍的戰鬥力當然已不如洪武、永樂時,但此時距永樂時期僅二十餘年,距宣宗率京營親征兀良哈更不足二十年,軍隊實力下降當不致如此之快,土木之戰中明軍規模並非五十萬,而是二十萬,或可稍為明軍戰鬥力低下的解釋。從群臣擊殺王振餘黨開始,後人就把英宗被俘歸咎王振。《明史》卷十二《英宗後紀》贊曰:「獨以王振擅權開釁,遂至乘輿播遷。」是有代表性的說法。但英宗以永樂、宣德親征獲勝為楷模,在瓦剌日益侵逼、邊報日急的形勢下親征,也是合理的選擇。史載王振在到達土木堡後貪等輜重而不入懷來,又錯選紮營地點,以致為瓦剌追及。[55]實則瓦剌已先於明軍到達土木堡以東,明軍就地駐營乃至無法取水,都是不得已的選擇。明軍情報錯誤,進無敵蹤,退為所乘,才是致敗的主因。而宣府東北防禦崩潰,給瓦剌敞開大門以伏擊明軍,宣府兵在戰局緊張時不予配合,使瓦剌獲得了意料之外的巨大勝利。[56]總之,土木之戰的結局帶有相當的偶然性,宦官弄權在本次戰爭中並非明軍失敗的關鍵因素,而明軍戰鬥力下降應是制度多年敗壞的結果,當時並非後世所渲染的那麼不堪一擊。
由於明代軍數是當時的秘密,歷來對不同時代京營的規模眾說紛紜。明代後期往往有諸如「國初京營不下七八十萬」的說法,雖不可靠,卻經常被現代學者引用。其實,就某些特定時期而言,根據《會典》提供的制度資料,《實錄》提供的軍事調動與軍隊分配情況,以及當時方志、筆記提供的具體數字,具體探討京營規模並不困難。這對解決一些歷來難有定論的戰爭、軍事制度問題或有裨益。 關於明前中期史實,同時代記載本已匱乏。在明軍人數這個問題上,李賢雖有較準確的記載,《實錄》卻不加採用。明代中後期史學家撰述時,多輾轉傳抄,對史實往往不加辨析,或照錄劉定之耳聞號稱之辭,或雖有疑問卻不能解惑,致使以訛傳訛,五十萬大軍盡喪土木堡之說遂成定論。清初人私修明史,又率抄襲明人舊說,乃至妄省文句,使訛誤更深。至修《明史》時仍粗匯實錄與各家之說,對明顯可疑的說法也沒有作出解釋,甚至專取敘述明軍失敗情況最嚴重的記載,不但貽誤後人,且難免誇大失實之譏。謝國楨《史料學概論》第五章第三節指出:「清朝統治者諱言明朝驅逐蒙古於漠北的事跡,猶如諱言建州女真曾臣服於明朝一樣。」所以《明史》對「對於明初的事實記載多不詳實。」看來這種諱言建州以致諱言蒙古的傾向,還導致了《明史》在記錄明代中期明軍失敗時隨意渲染敗狀。總之,關於明前中期史實,不但明後期諸史家及清人記載特別是《明史》難以盡實,即連《實錄》也未可遽信,在當時人的文集、筆記中反而能找到差近事實的記錄。