ReThinker-Agent-Framework#
Introduction#
ReThinker is a reasoning framework designed to enable large language models to rethink their intermediate conclusions through Guided reflection and confidence control, significantly enhancing their scientific reasoning capability.
Unlike one-shot chain-of-thought reasoning, ReThinker introduces an iterative mechanism to:
detect low-confidence reasoning steps
proactively backtrack and correct these steps
generate more robust and reliable final answers
This approach significantly improves reasoning accuracy and result stability for complex scientific problems and multi-step reasoning tasks.
Paper link: https://arxiv.org/abs/2602.04496
Core Contributions#
Rethink-capable Agent Framework
ReThinker integrates the “rethink” mechanism into a workflow-based agent system, enabling iterative decision-making and continuous optimization. This design delivers stable and consistent solution quality improvements, rather than relying on sporadic gains from random reflection.
Guided Reflection Mechanism
Unlike critics inferring issues from simplified trajectories, ReThinker explicitly proposes specific improvement points during trajectory summarization and passes this information to the constrained critic role for reflection and correction. This guided approach ensures the rethink process is focused, efficient, and stable.
Confidence Control Strategy
During the candidate selection phase, ReThinker adopts an iterative selection strategy where each round not only considers the previously selected candidates but also explicitly incorporates their confidence scores. This confidence feedback mechanism guides the model to make more reliable and stable selection decisions throughout the multi-round reflection process.
Experimental Results#
Category |
Model / Framework |
HLE |
GAIA |
XBench |
|---|---|---|---|---|
Foundation Model w. tools |
Kimi K2 (Kimi et al., 2025) |
18.1 |
57.7 |
50.0 |
Foundation Model w. tools |
Claude-4.5-Sonnet (Anthropic, 2025) |
24.5 |
71.2 |
66.0 |
Foundation Model w. tools |
DeepSeek-V3.2 (Liu et al., 2025a) |
27.2 |
63.5 |
71.0 |
Foundation Model w. tools |
GLM-4.6 (Zhipu, 2025) |
30.4 |
71.9 |
70.0 |
Foundation Model w. tools |
GPT-5-high (OpenAI, 2025b) |
35.2 |
76.4 |
77.8 |
Foundation Model w. tools |
Gemini-3-Pro (Google, 2025) |
38.3 |
79.0 |
87.0 |
Inference Framework |
WebExplorer (Liu et al., 2025b) |
17.3 |
50.0 |
53.7 |
Inference Framework |
OpenAI DeepResearch (OpenAI, 2025a) |
26.6 |
67.4 |
|
Inference Framework |
Kimi Researcher (Kimi, 2025) |
26.9 |
69.0 |
|
Inference Framework |
Tongyi DeepResearch (30BA3B) (Tongyi et al., 2025) |
32.9 |
70.9 |
75.0 |
Inference Framework |
MiroThinker-v1.0 (30B) (MiroMind et al., 2025) |
33.4 |
73.5 |
70.6 |
Inference Framework |
ReThinker (OpenPangu-72B) (Ours) |
33.1 |
72.8 |
78.0 |
Inference Framework |
ReThinker (Gemini-3-pro) (Ours) |
52.2 |
81.6 |
90.0 |
Usage#
1. Dependency Installation#
First install the required dependencies. In addition to base packages, the rethinker module requires additional dependencies:
pip install evofabric[rethinker]
2. Configuration#
Configure the project file:
configs/config.yaml
Ensure the following fields are correctly filled:
llm_resources:
llm_config_name:
model_name: your-model-name # model name
api_key: your-api-key # openai api key
base_url: your-api-base-url # openai base url
top_p: 1.0
temperature: 1.0
fast_think: false
stop_condition: '<code[^>]*>((?:(?!<code).)*?)</code>'
http_client_kwargs:
verify: false
web_parser:
model: pangu_web_parser # must exist a corresponding llm config in llm_resources
use_jina: true
jina_api_key: your-jina-api-key # jina api key
web_search:
serper_api_key: your-serper-api-key # serper api key
3. Run Rethinker#
Run main program:
python run.py --config configs/config.yaml
4. Output structure#
Note
This step is mandatory if you plan to run the evaluation script.
When config.exp.output_root is set, the output file structure is as follows:
output_root/
qid00001/
node1.json
node2.json
...
result.json
qid00002/
...
Each qidXXXXX directory corresponds to an independent query or experiment, containing intermediate node results and final summary results.
5. Testing#
Run evaluation script:
python evaluation.py \
--api-key=your-api-key \
--model-name=your-model-name \
--base-url=your-base-url \
--save-result=eval.json \
--benchmark=hle
This command will run the specified benchmark and save evaluation results to eval.json.
Acknowledgements#
This project has benefited from work on Eigen-1.
Citation#
@article{tang2026rethinker,
author = {Zhentao Tang and Yuqi Cui and Shixiong Kai and Wenqian Zhao
and Ke Ye and Xing Li and Anxin Tian and Zehua Pei
and Hui‐Ling Zhen and Shoubo Hu and Xiaoguang Li
and Yunhe Wang and Mingxuan Yuan},
title = {ReThinker: Scientific Reasoning by Rethinking with Guided
Reflection and Confidence Control},
year = {2026},
url = {https://arxiv.org/abs/2602.04496}
}