How to Build a General-Purpose LLM Agent?