IMO, they should program the generals so they only join the fray either when the enemy is on the verge of routing, or when the AI's own troops are on the verge of routing. IE they should be used as an emergency reserve, to enter combat only at the critical moment.