The 49ers have agreed to a trade that will send Alex Smith to the Kansas City Chiefs in exchange for two draft choices.