Building Autonomous LLM Agents For Real Tasks