CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing

Zhibin Gou, Zhihong Shao, Yeyun Gong, Yelong Shen, Yujiu Yang +2 more
2/12/2026

No official code found. Best implementation: microsoft/ProphetNet (746 stars, MIT, last commit 2024-07-25).

Abstract

Recent developments in large language models (LLMs) have been impressive. However, these models sometimes show inconsistencies and problematic behavior, such as hallucinating facts, generating flawed code, or creating offensive and toxic content. Unlike these models, humans typically utilize external tools to cross-check and refine their initial content, like using a search engine for fact-checking, or a code interpreter for debugging. Inspired by this observation, we introduce a framework called CRITIC that allows LLMs, which are essentially"black boxes"to validate and progressively amend their own outputs in a manner similar to human interaction with tools. More specifically, starting with an initial output, CRITIC interacts with appropriate tools to evaluate certain aspects of the text, and then revises the output based on the feedback obtained during this validation process. Comprehensive evaluations involving free-form question answering, mathematical program synthesis, and toxicity reduction demonstrate that CRITIC consistently enhances the performance of LLMs. Meanwhile, our research highlights the crucial importance of external feedback in promoting the ongoing self-improvement of LLMs.

View on arXivView PDF

Code Implementations(1)

MIT

A research project for natural language generation, containing the official implementations by MSRA NLC team.

746116Shell, PythonFeb 17, 20202 years agoMIT

Similar Papers

Cite this paper

@article{gou2026critic,
  title  = {CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing},
  author = {Zhibin Gou and Zhihong Shao and Yeyun Gong and Yelong Shen and Yujiu Yang and Nan Duan and Weizhu Chen},
  year   = {2026},
  eprint = {2305.11738},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/pdf/2305.11738},
  journal = {ICLR 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2305.11738.svg)](https://codeofpaper.com/paper/2305.11738)

Discussion