Designing agentic loops