ReThinker-Agent-Framework#

Paper: arXiv

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#

Benchmark 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}
}