An Evaluation-Driven Approach to Designing LLM Agents: Process and Architecture