Essential features for a system to be an agent aren't agreed on. Personally, I like: - Independent action. The ability to operate with minimal human intervention. - Planning/Chain-of-Thought. The ability to break a given problem into steps that can be executed later. (Required) - Memory. Some out-of-context memory that can be stored to and retrieved from, generally associatively. (Optional) - Tools. The ability to emit placeholders with the expectation that some external system will act accordingly. (Optional) References: - [Agent Survey](https://github.com/WooooDyy/LLM-Agent-Paper-List?tab=readme-ov-file) - Role-playing Agent