{
  "id": "self-refine",
  "code": "PTL-0047",
  "term": "Self-Refine",
  "aliases": [
    "iterative refinement",
    "self-critique"
  ],
  "category": "verification",
  "definition": "Self-Refine is an iterative method in which the same model generates an output, critiques it with specific feedback, and revises it, repeating until a stopping condition is met.",
  "description": "It requires no extra training or separate models. Madaan et al. reported improvements across tasks such as code optimization, dialogue, and math reasoning, though later work found that unaided self-correction of reasoning can fail without external signals.",
  "example": null,
  "broader": [],
  "narrower": [],
  "related": [
    "reflexion",
    "evaluator-optimizer",
    "chain-of-verification"
  ],
  "introduced": 2023,
  "sources": [
    {
      "title": "Self-Refine: Iterative Refinement with Self-Feedback",
      "authors": "Madaan et al.",
      "year": 2023,
      "url": "https://arxiv.org/abs/2303.17651"
    },
    {
      "title": "Large Language Models Cannot Self-Correct Reasoning Yet",
      "authors": "Huang et al.",
      "year": 2023,
      "url": "https://arxiv.org/abs/2310.01798"
    }
  ],
  "url": "https://protologue.com/t/self-refine/",
  "citation": "Protologue. (2026). Self-Refine. In Protologue: A Taxonomy of Prompting and LLM Techniques (v1.0.0, PTL-0047). https://protologue.com/t/self-refine/"
}