A Survey on Large Language Model based Autonomous Agents