{
  "id": "opro",
  "code": "PTL-0074",
  "term": "Optimization by Prompting",
  "aliases": [
    "OPRO",
    "LLMs as optimizers"
  ],
  "category": "optimization",
  "definition": "Optimization by PROmpting (OPRO) uses a language model as an optimizer, giving it a meta-prompt containing previously tried prompts and their scores and asking it to propose a better prompt, repeating over many rounds.",
  "description": "OPRO found instructions such as \"Take a deep breath and work on this problem step-by-step\" that improved math benchmark accuracy for the model being optimized.",
  "example": null,
  "broader": [],
  "narrower": [],
  "related": [
    "automatic-prompt-engineer",
    "dspy"
  ],
  "introduced": 2023,
  "sources": [
    {
      "title": "Large Language Models as Optimizers",
      "authors": "Yang et al.",
      "year": 2023,
      "url": "https://arxiv.org/abs/2309.03409"
    }
  ],
  "url": "https://protologue.com/t/opro/",
  "citation": "Protologue. (2026). Optimization by Prompting. In Protologue: A Taxonomy of Prompting and LLM Techniques (v1.0.0, PTL-0074). https://protologue.com/t/opro/"
}