Automatically choosing the best execution approach (LLM reasoning, tool use, or code) for each step based on task requirements.