明初京軍總數在八十萬以上。(19)永樂時征安南,用兵至八十萬(《明史》卷一五四《張輔傳》)。正統中征麓川,用兵亦十五萬(同上書卷一七一《王驥傳》)。永樂宣德二朝六次對蒙古用兵,都以京軍為主力。到正統十四年(1449)土木之變,喪沒幾盡。《明史》卷一七〇《於謙傳》說:
時京師勁甲精騎皆陷沒。所餘疲卒不及十萬。人心恐慌,上下無固誌。
事後一麵補充,一麵著手改革。當時主持兵政的兵部尚書於謙以為三大營的缺點,是在分作三個獨立組織,各為教令。臨時調發,軍士和將弁都不相習。乘機改革,在諸營中選出精兵十萬,分作十營集中團練,名為團營。其餘軍歸本營,稱為老家。京軍之製為之一變。到成化時又選出十四萬軍分十二營團練,稱為選鋒,餘軍仍稱老家,專任役作。團營之法又稍變。到正德時因“流寇”之亂,調邊軍入衛,設東西官廳練兵,於是邊軍成為選鋒,十二團營又成為老家了。嘉靖時經過幾次嚴重的外患,幾次改革,又恢複三大營舊製,改三千為神樞營,募兵四萬充伍。形式上雖然似乎還原,可是以募兵代世軍,實質上已大不相同了。
京軍內一部分由外衛番上京師者稱為班軍。在名義上是集中訓練,鞏衛京師。實際上卻被政府和權貴役作苦工,《明史》卷九〇《兵誌》二說:
成化間海內燕安,外衛卒在京隻供營繕諸役,勢家私占複半之,卒多畏苦,往往愆期。
修建宮殿陵墓,浚理城池,一切大工程都以班軍充役,使供役軍士,財力交殫,每遇班操,寧死不赴。(20)甚至調發出征的也被扣留役使,《明史》卷一九九《鄭曉傳》記:
俺答圍大同右衛急。……曉言:今兵事方棘,而所簡聽征京軍三萬五千人,乃令執役赴工,何以備戰守,乞歸之營伍。