\(\bullet\)_Components._ Typically, there are three main components in an LLM-based agent: _memory, planning50_, and _execution_. Specifically, the _memory_ component aims to store the information perceived from the environment and can be utilized to support decision-making. In particular, LLM-based agents usually maintain information in both short-term memory and long-term memory with the operations of reading and writing. Short-term memory usually refers to the internal context window of LLMs (_i.e._, input), where LLMs can read and write through actions like reasoning [880]. While long-term memory can be mapped to the external storage like vector databases [537], where LLMs can read through retrieval and write with reflection [686]. Specially, profiles are usually implemented with long-term memory, which is an important feature for an agent that specifies its role and function [818]. The _planning_ component is responsible for generating the action plan based on the information from the memory component. In data format, the plan usually takes the form of text-based instructions [441] or code-based programs [443]. To generate it, LLM-based agents will first propose several candidates and then select a more suitable one among them [436]. The initial plan can be further refined with execution feedback from the environment [528]. The _execution_ component is in charge of carrying out the plan from the planning component, which can be fulfilled by the internal LLM [441] or external tools [880].