## Workflow Diagram: Training and Executing Processes
### Overview
The image presents a workflow diagram illustrating both the training and executing processes of a system designed to handle complex queries, specifically in the context of planning a trip. The diagram is divided into two main sections: (a) Training process and (b) Executing process. Each section outlines the steps involved, from initial input to final output, using various tools and techniques.
### Components/Axes
**Section (a): Training Process**
* **Multi Tools:** A list of tools labeled "Tool_1: Description1", "Tool_2: Description1", ..., "Tooln_: Description1".
* **Workflow Generation:** The process of creating a workflow from the multi tools.
* **Candidate Tools DAG:** A directed acyclic graph (DAG) representing tasks. Nodes are numbered 1 through 7, with "Task" at the top and "Finish" at the bottom.
* **Query Reverse-Engineering:** The process of analyzing the DAG.
* **Complex Query:** A query that requires multiple steps to resolve.
* **Intent Analysis and Re-planning:** The process of analyzing the intent of the query and re-planning the workflow.
* **New DAG:** A new DAG, similar to the first, but with nodes numbered 1 through 8.
* **Training Dataset:** A dataset used for training the system.
* **Filter:** The process of filtering the training dataset.
* **Fine-tuning:** The process of fine-tuning the system using the filtered dataset.
* **GRPO:** An acronym, likely referring to a specific algorithm or process. Represented by two robot icons.
**Section (b): Executing Process**
* **Query:** A user query, specifically: "Plan a 5-day hiking retreat. Find a city, get flight and hotel costs, and give me a total budget."
* **Candidate Tools:** A collection of tools represented by icons, including Google (G), a map pin, an airplane, a yen symbol (¥), a hotel icon, and an email icon.
* **Planning:** The initial stage of the execution process.
* **find_city:** A function to find a city.
* **get_flights:** A function to get flight information.
* **get_hotels:** A function to get hotel information.
* **make_report:** A function to create a final plan and budget.
* **Executing:** The stage where the plan is executed.
* **Step 1:** "Use find_city to find a destination for hiking."
* **Step 2:** "In parallel, use get_flights and get_hotels to find costs."
* **Step 3:** "Use make_report to create a final plan and budget."
* **Final answer:** The final output of the execution process, represented by a travel plan icon.
### Detailed Analysis or ### Content Details
**Training Process (a):**
1. **Multi Tools** are used for **Workflow Generation**, resulting in a **Candidate Tools DAG**.
2. The DAG undergoes **Query Reverse-Engineering** to handle a **Complex Query**.
3. **Intent Analysis and Re-planning** leads to a **New DAG**.
4. The **Training Dataset** is **Filtered** and used for **Fine-tuning** via **GRPO**.
**Executing Process (b):**
1. A **Query** is input into the system.
2. The system uses **Candidate Tools** to perform **Planning**.
3. The planning stage involves the functions: `find_city`, `get_flights`, `get_hotels`, and `make_report`.
4. The **Executing** stage consists of three steps:
* Step 1: Use `find_city` to find a destination for hiking.
* Step 2: In parallel, use `get_flights` and `get_hotels` to find costs.
* Step 3: Use `make_report` to create a final plan and budget.
5. The final output is the **Final answer**.
### Key Observations
* The training process focuses on creating and refining workflows based on complex queries.
* The executing process demonstrates how a specific query is handled using a set of predefined tools and functions.
* The DAGs in the training process represent the structure of tasks and their dependencies.
* The GRPO component suggests an iterative refinement process.
### Interpretation
The diagram illustrates a system designed to automate the process of answering complex queries, specifically in the domain of travel planning. The training process focuses on learning and optimizing workflows, while the executing process applies these workflows to specific user queries. The use of DAGs suggests a structured approach to task management and dependency resolution. The GRPO component likely plays a role in improving the system's performance over time through fine-tuning and re-planning. The parallel execution of `get_flights` and `get_hotels` indicates an attempt to optimize the execution time.