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 andtoxic content. Unlike these models, humans typically utilize external tools tocross-check and refine their initial content, like using a search engine forfact-checking, or a code interpreter for debugging. Inspired by thisobservation, we introduce a framework called CRITIC that allows LLMs, which areessentially "black boxes" to validate and progressively amend their own outputsin a manner similar to human interaction with tools. More specifically,starting with an initial output, CRITIC interacts with appropriate tools toevaluate certain aspects of the text, and then revises the output based on thefeedback obtained during this validation process. Comprehensive evaluationsinvolving free-form question answering, mathematical program synthesis, andtoxicity reduction demonstrate that CRITIC consistently enhances theperformance of LLMs. Meanwhile, our research highlights the crucial importanceof external feedback in promoting the ongoing self-improvement of LLMs.