Self-Refine Prompting (CS)
Self-Refine (samoupřesnění nebo samokorekce) — je přístup v oblasti prompt inženýrství, který umožňuje velkým jazykovým modelům (LLM) iterativně zlepšovat vygenerovanou odpověď na základě vlastní zpětné vazby[1]. Myšlenka byla navržena skupinou výzkumníků pod vedením Amana Madaana v roce 2023 a vychází z pozorování, že podobně jako člověk ani jazykové modely vždy negenerují nejlepší výsledek na první pokus.
V této metodě plní jedna a tatáž LLM postupně tři role:
- Generátor (Generator): vytváří počáteční hrubou odpověď na dotaz.
- Kritik (Feedback): hodnotí vlastní odpověď a poskytuje konstruktivní zpětnou vazbu.
- Editor (Refiner): využívá tuto zpětnou vazbu k vytvoření vylepšené verze odpovědi.
Tento iterativní cyklus „generování → zpětná vazba → zlepšení" se může opakovat několikrát, dokud není dosaženo požadované kvality nebo splněna podmínka zastavení.
Důležité je, že Self-Refine nevyžaduje dodatečné trénování modelu, fine-tuning ani externí data — celý proces je řízen výhradně prostřednictvím promptů ve fázi inference[1].
Mechanismus implementace
Metoda Self-Refine je realizována prostřednictvím sekvence speciálně zkonstruovaných promptů, které řídí chování modelu.
- Počáteční generování. Model obdrží výchozí prompt a vygeneruje hrubou odpověď.
- Vytvoření zpětné vazby. Model obdrží instrukci, aby analyzoval svou předchozí odpověď a identifikoval v ní nedostatky. Může například poznamenat, že odpověď není dostatečně podrobná nebo obsahuje logickou chybu. Výsledkem je textová zpětná vazba s konkrétními připomínkami a doporučeními.
- Iterativní zlepšování. Model obdrží jako nový prompt původní dotaz, svou počáteční odpověď a vygenerovanou zpětnou vazbu. Na jejich základě vytvoří vylepšenou verzi odpovědi.
Tento dvoustupňový cyklus „kritika → revize" může být proveden několikrát. Do kontextu každé nové iterace jsou zahrnuty předchozí varianty odpovědí a komentáře, což modelu pomáhá vyhýbat se opakování chyb[2]. Pro řízení chování modelu se často používají techniky few-shot prompting, kdy jsou do promptu zahrnuty příklady požadovaného formátu zpětné vazby a oprav.
Efektivita a využití
Metoda Self-Refine prokázala svou efektivitu na řadě úloh vyžadujících opakované upřesňování, jako jsou:
- Generování dialogových odpovědí.
- Tvůrčí pokračování příběhu.
- Řešení matematických úloh metodou postupného uvažování.
- Optimalizace zdrojového kódu.
V originálním výzkumu byly odpovědi získané pomocí Self-Refine v průměru o ~20 % více preferovány podle hodnocení lidí i automatických metrik ve srovnání s jednokrokovým generováním[1]. Zlepšení bylo dosaženo i u nejmodernějších modelů, jako je GPT-4, což naznačuje, že i výkonným LLM často chybí pouze jeden dodatečný krok uvažování k opravě vlastních chyb.
Podobné přístupy, jako je RCI (Recursive Criticism and Improvement), také prokázaly vysokou efektivitu v interaktivních úlohách, například při ovládání počítače a řešení logických úloh. Kombinace RCI s technikou „řetězce myšlenek" (Chain-of-Thought) přinesla synergický efekt a výrazně zlepšila schopnost modelu řešit složité problémy díky zabudovanému kroku ověření[3].
Omezení a aktuální výzkum
Navzdory slibným výsledkům výzkumy ukazují, že iterativní samozdokonalování má řadu omezení.
- Vlastní zaujatost (self-bias): Modely mají obtíže nestranně hodnotit vlastní odpovědi. LLM mají tendenci příznivě vnímat vlastní vygenerovaný text a nedostatečně ho kriticky posuzovat, což může vést ke stagnaci nebo dokonce ke zhoršení kvality po několika iteracích[4].
- Přílišná sebejistota: Bylo pozorováno, že s rostoucím počtem iterací samokorekce může model nabývat přílišné sebejistoty ve svých odpovědích, i když se nestaly přesnějšími. To vede k růstu hodnoty Expected Calibration Error (ECE) — nesouladu mezi sebejistotou modelu a skutečnou přesností[5].
- Výpočetní náklady: Metoda vyžaduje několik volání LLM pro získání jedné výsledné odpovědi, což výrazně zvyšuje latenci a náklady ve srovnání s jednokrokovým generováním.
Aktuální výzkum se zaměřuje na řešení těchto problémů. Jedním ze směrů je zavedení mechanismů kalibrace sebejistoty v každém kroku iterace. Dalším je zapojení externích zdrojů informací nebo nástrojů (například spuštění kódu, vyhledávání dat) pro objektivnější sebehodnocení[6].
Srovnání s dalšími technikami
- Chain-of-Thought (CoT): CoT se zaměřuje na generování lineárního řetězce uvažování vedoucího k odpovědi. Self-Refine se naproti tomu zaměřuje na iterativní zlepšování již vygenerované odpovědi (která může obsahovat CoT).
- Tree of Thoughts (ToT): ToT prozkoumává mnoho paralelních cest uvažování ve formě stromu, zatímco Self-Refine zlepšuje jednu cestu iterativně. ToT je technika průzkumu prostoru řešení, zatímco Self-Refine je technika optimalizace konkrétního řešení.
Odkazy
- Oficiální stránky projektu Self-Refine
- Původní vědecký článek „Self-Refine: Iterative Refinement with Self-Feedback"
Literatura
- Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
- Kim, G. et al. (2023). Language Models Can Solve Computer Tasks. arXiv:2303.17491.
- Gou, Z. et al. (2023). CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing. arXiv:2305.11738.
- Huang, J. et al. (2023). Large Language Models Cannot Self-Correct Reasoning Yet. arXiv:2310.01798.
- Pan, L. et al. (2023). Automatically Correcting Large Language Models: Surveying the Landscape of Diverse Self-Correction Strategies. arXiv:2308.03188.
- Jiang, C. et al. (2024). Importance Weighting Can Help Large Language Models Self-Improve. arXiv:2408.09849.
- Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
- Zhu, D. et al. (2025). Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models. arXiv:2504.02902.
- Hao, Q. et al. (2025). RL of Thoughts: Navigating LLM Reasoning with Inference-time Reinforcement Learning. arXiv:2505.14140.
- Cui, Y. et al. (2023). Check Your Facts and Try Again: Improving Large Language Models by Reducing Hallucination. arXiv:2302.12813.
- Wei, Z. et al. (2024). ReSearch: Iterative Self-Reflection for Better LLM Calibration. arXiv:2405.13022.
Poznámky
- ↑ 1.0 1.1 1.2 Madaan, Aman; et al. «Self-Refine: Iterative Refinement with Self-Feedback». arXiv. [1]
- ↑ «Self-Refine: Iterative Refinement with Self-Feedback». Официальный сайт проекта. [2]
- ↑ Kim, Geunwoo; et al. «Language Models can Solve Computer Tasks». arXiv. [3]
- ↑ Huang, Jie; et al. «Large Language Models Cannot Self-Correct Reasoning Yet». arXiv. [4]
- ↑ Zhu, D., et al. (2025). «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [5]
- ↑ «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [6]