A generative AI agent needs to answer a user's question like, "What's the current weather in Paris and what's the capital of France?" To do this, the agent first reasons it needs to find weather information and separately identify the capital. Then, it acts by using a weather API tool for Paris and a knowledge base lookup tool for France's capital, before synthesizing the answer. This iterative process of reasoning about sub-tasks and then using tools to gather information is characteristic of: