E3-TIR: Enhanced Experience Exploitation for Tool-Integrated Reasoning
Organizations: Harbin Institute of Technology, Shenzhen, China · Huawei Technologies Co., Ltd. · Hong Kong University of Science and Technology
Abstract
While Large Language Models (LLMs) have demonstrated significant potential in Tool-Integrated Reasoning (TIR), existing training paradigms face significant limitations: Zero-RL suffers from inefficient exploration and mode degradation due to a lack of prior guidance, while SFT-then-RL is limited by high data costs and capability plateaus caused by low-entropy collapse. To address these challenges, we propose E3-TIR (Enhanced Experience Exploitation), a warm-up paradigm for the early stages of agent training. Specifically, we formulate training as the dynamic integration of three experience types: Expert Prefixes, Expert Guided, and Self-Exploration. By executing diverse branching exploration around expert "anchors" and employing a mix policy optimization mechanism, we effectively mitigate distribution shifts and resolve optimization conflicts arising from shared prefixes. Our method dynamically adapts the model's knowledge boundaries, effectively balancing exploration diversity with training efficiency.Experimental results demonstrate that E3-TIR achieves a 6 performance improvement over traditional paradigms on tool-use tasks, while requiring less than 10 of the synthetic data. Furthermore, in terms of ROI, a comprehensive metric integrating performance, data cost, and training efficiency we achieve a 1.46x gain compared to baselines. Code is available at https://github.com/yuki-younai/E3-TIR.
Figures & tables
| Method | Mathematical Reasoning | Knowledge-Intensive Reasoning | Avg. | RMR. | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AIME24 | AIME25 | AMC23 | GSM8K | MATH | 2Wiki. | Bamb. | HQA | MuSi. | SimQA | |||
| Qwen2.5-3B-Instruct | 4.5 | 8.6 | 38.3 | 65.3 | 81.0 | 19.2 | 27.5 | 11.5 | 6.3 | 5.9 | 26.8 | |
| + Only SFT | 6.0 | 10.8 | 35.6 | 58.3 | 81.0 | 30.3 | 35.2 | 35.8 | 16.3 | 19.5 | 32.9 | 7.4 |
| + SFT-then-RL | 11.2 | 16.5 | 51.8 | 69.1 | 85.1 | 54.2 | 47.3 | 50.5 | 25.3 | 30.6 | 44.2 | 6.1 |
| + Zero-RL | 12.0 | 13.3 | 48.7 | 71.9 | 85.4 | 46.7 | 50.8 | 48.8 | 23.2 | 31.1 | 43.2 | 7.9 |
| + -TIR (Ours) | 19.0 | 20.8 | 56.0 | 72.3 | 85.2 | 52.3 | 50.3 | 51.4 | 26.9 | 32.6 | 46.7 | 6.2 |
| Method | Computational Reasoning | Knowledge-Intensive Reasoning | Avg. | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| AIME24 | AIME25 | AMC23 | GSM8K | MATH | 2Wiki. | Bamb. | HQA | MuSi. | SimQA | ||
| Qwen2.5-3B-Instruct | 4.5 | 8.6 | 38.3 | 65.3 | 81.0 | 19.2 | 27.5 | 11.5 | 6.3 | 5.9 | 26.8 |
| LLM-based Math Agent | |||||||||||
| ToRL | 10.0 | 20.0 | 53.0 | 72.0 | 84.4 | 24.0 | 25.4 | 17.9 | 8.3 | 6.5 | 32.2 |
| SimpleTIR | 17.5 | 19.1 | 54.3 | 69.4 | 83.9 | 16.1 | 24.2 | 16.5 | 7.2 | 8.8 | 31.7 |
| LLM-based Search Agent | |||||||||||
| Method | Knowledge. | Computational. | ||
|---|---|---|---|---|
| HotQA | Musique. | ACM23 | MATH | |
| -TIR (Warm up) | 44.9 | 19.9 | 43.3 | 65.0 |
| w/o | 35.4_{{\color[rgb]{1,0,0}(-9.5)}} | 13.7_{{\color[rgb]{1,0,0}(-6.2)}} | 36.8_{{\color[rgb]{1,0,0}(-6.5)}} | 56.3_{{\color[rgb]{1,0,0}(-8.7)}} |
| w/o | 42.6_{{\color[rgb]{1,0,0}(-2.3)}} | 17.8_{{\color[rgb]{1,0,0}(-2.1)}} | 43.5_{{\color[rgb]{1,0,0}(+0.2)}} | 63.1_{{\color[rgb]{1,0,0}(-1.9)}} |
| Method | Knowledge. | Computational. | ||
|---|---|---|---|---|
| HotQA | Musique. | AMC23 | MATH | |
| -TIR | 51.4 | 26.9 | 56.0 | 85.2 |
| w/o Branch | 47.2_{{\color[rgb]{1,0,0}(-4.2)}} | 23.1_{{\color[rgb]{1,0,0}(-3.8)}} | 52.3_{{\color[rgb]{1,0,0}(-3.7)}} | 83.6_{{\color[rgb]{1,0,0}(-1.6)}} |
| w/o AAGD | 15.3_{{\color[rgb]{1,0,0}(-36.1)}} | 8.2_{{\color[rgb]{1,0,0}(-18.7)}} | 24.8_{{\color[rgb]{1,0,0}(-31.2)}} | 48.6_{{\color[rgb]{1,0,0}(-36.6)}} |
| w/o Hybrid Adv. | 49.5_{{\color[rgb]{1,0,0}(-1.9)}} | 25.6_{{\color[rgb]{1,0,0}(-1.3)}} | 55.2_{{\color[rgb]{1,0,0}(-0.8)}} | 84.1_{{\color[rgb]{1,0,0}(-1.1)}} |
| Mix SFT+RL | 22.4_{{\color[rgb]{1,0,0}(-29.0)}} | 11.3_{{\color[rgb]{1,0,0}(-15.6)}} | 32.5_{{\color[rgb]{1,0,0}(-23.5)}} | 56.8_{{\color[rgb]{1,0,0}(-28.4)}} |
| Method | Avg Score | Avg Calls | Fail Rate | Redundancy |
|---|---|---|---|---|
| Only SFT | 32.9 | 2.24 | 4.5% | 0.6% |
| SFT-then-RL | 44.2 | 1.82 | 3.8% | 0.8% |
| Zero-RL | 43.2 | 2.52 | 7.4% | 0.5% |
| -TIR | 46.7 | 1.97 | 4.0% | 0.6% |
| Method | ALFWorld | SCIWorld | Avg. |
|---|---|---|---|
| Only SFT | 62.5 | 43.0 | 52.8 |
| SFT-then-RL | 81.5 | 65.0 | 73.3 |
| Zero-RL | 86.5 | 63.5 | 75.0 |
| -TIR | 89.0 | 67.5 | 78.3 |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Config | Warm Up | Post-RL | Zero-RL |
|---|---|---|---|
| 0.5 | 0 | 0 | |
| 0.1 | 0 | 0 | |
| n | 8 | 16 | 16 |
| m | 8 | 0 | 0 |
| k | 3 | 0 | 0 |
| optimizer | AdamW | AdamW | AdamW |
| Example from Musique |
|---|
| Question: |
| What country has the border troops of the country of the literature of the country of Karl Maron citizenship? |
| Labeled Answer: |
| East Germany |
| Model Output by -TIR (Qwen2.5-3B) |
| <think> To solve this question, I need to find out the country whose border troops have the citizenship of the country where the literature of the country of Karl Maron is from. |
| Example from Dataset |
|---|
| Question: |
| Find the number of ordered pairs , where both and are integers between and inclusive, such that . |
| Labeled Answer: 117 |
| Model Output by -TIR (Qwen2.5-3B) |
| <think> To solve the problem, we need to find the number of ordered pairs such that both and are integers between and inclusive, and they satisfy the equation . |
| First, let’s rearrange the equation to make it easier to solve: This is a quadratic equation in terms of . We can use the quadratic formula to solve for : The quadratic formula for is given by: In our equation, , , and . So the solutions for are: This gives us two solutions: For to be an integer, and must be integers. Since is not an integer, must be a multiple of 24 for and to be integers. Let’s denote , where is an integer. Then the solutions for become: Since is not an integer, must be such that and are integers. This means must be an integer that makes and integers. The only way this can happen is if , but would make . However, we need to check if there are any other values of that might work. |
| Example from Dataset |
|---|
| Question: Let be the least prime number for which there exists a positive integer such that is divisible by . Find the least positive integer such that is divisible by . Labeled Answer: 110 |
| Model Output by -TIR (Qwen2.5-3B) |
| <think> To solve this problem, we need to follow these steps: 1. Identify the smallest prime number for which there exists a positive integer such that is divisible by . 2. Once we find this prime , we need to find the smallest positive integer such that is divisible by . Let’s start by iterating over prime numbers and checking the condition for being divisible by . We will use Python to find the smallest prime and then the smallest .First, we will write a function to check if a number is prime and then iterate over prime numbers to find the smallest . Let’s write the code to achieve this. </think> <python> ⬇ 1 from sympy import isprime , primerange 2 # Function to find the smallest prime p 3 def find_smallest_prime_p (): 4 p = 2 5 while True : 6 found = False 7 # Check for the first 1000 values of n to find if there exists an n 8 # such that (n^4 + 1) is divisible by p^2 9 for n in range (1, 1000): 10 if ( n **4 + 1) % ( p **2) == 0: 11 found = True 12 break 13 if found : 14 return p 15 p = next_prime ( p ) 16 17 # Find the smallest prime p 18 smallest_prime_p = find_smallest_prime_p () 19 print (( smallest_prime_p , smallest_m )) </python> <result> Code execution failed: Traceback (most recent call last): File “<string>”, line 26, in <module> File “<string>”, line 15, in find_smallest_prime_p NameError: name ‘next_prime’ is not defined </result> <think> It seems that the previous approach had some issues. Let’s solve this problem step-by-step more methodically. 1. Identify the smallest prime such that there exists a positive integer for which is divisible by . 2. Once we find , determine the smallest integer such that is divisible by . We will start by iterating over prime numbers and check for each prime whether there exists an such that . This means . We will then check for the smallest that satisfies this condition for . Let’s write the corrected and more analytical code to solve this: 1. Generate a list of prime numbers. 2. For each prime , check if there exists an such that . 3. Once we find the smallest such , find the smallest such that . </think> <python> ⬇ 1 from sympy import isprime , primerange , next_prime 2 # Function to find the smallest m for a given prime p 3 def find_smallest_m_for_prime_p ( p ): 4 m = 1 5 while True : 6 if ( pow ( m , 4, p **2) + 1) % ( p **2) == 0: 7 return m 8 m += 1 9 # Iterate over primes 10 primes = list ( primerange (2, 10000)) 11 for p in primes : 12 found = False 13 # Check for an n such that n^4 + 1 is divisible by p^2 14 # The search range for n can be up to p^2 15 for n in range (1, 1000): 16 if ( pow ( n , 4, p **2) + 1) % ( p **2) == 0: 17 found = True 18 break 19 if found : 20 smallest_prime_p = p 21 break 22 smallest_m = find_smallest_m_for_prime_p ( smallest_prime_p ) 23 print (( smallest_prime_p , smallest_m )) </python> <result> (17, 110) </result> <think> The smallest prime number for which there exists a positive integer such that is divisible by is . The least positive integer such that is divisible by is .Thus, the final answer is . </think> |
| <answer> The final answer is 110 </answer> |