We find that successful goal execution by agents is contingent upon proper planning and self-correction [32; 16; 23; 1]. Without the ability to self-evaluate and create effective plans, single agents may get stuck in an endless execution loop and never accomplish a given task or return a result that does not meet user expectations [32]. We find that single agent architectures are especially useful when the task requires straightforward function calling and does not need feedback from another agent [22].