Self-Refine Prompting (PL)
Self-Refine (samouściślanie lub samokorekta) — to podejście w dziedzinie prompt engineeringu, pozwalające dużym modelom językowym (LLM) iteracyjnie ulepszać wygenerowaną odpowiedź na podstawie własnej informacji zwrotnej[1]. Pomysł został zaproponowany przez grupę badaczy pod kierownictwem Amana Madaana w 2023 roku i opiera się na obserwacji, że — podobnie jak człowiek — modele językowe nie zawsze generują najlepszy wynik za pierwszym razem.
W tej metodzie jeden i ten sam LLM pełni kolejno trzy role:
- Generator (Generator): tworzy wstępną, roboczą odpowiedź na zapytanie.
- Krytyk (Feedback): ocenia własną odpowiedź i dostarcza konstruktywnej informacji zwrotnej.
- Redaktor (Refiner): wykorzystuje tę informację zwrotną do stworzenia ulepszonej wersji odpowiedzi.
Ten iteracyjny cykl „generacja → informacja zwrotna → ulepszenie" może powtarzać się wielokrotnie, aż do osiągnięcia wymaganej jakości lub spełnienia warunku zatrzymania.
Co istotne, Self-Refine nie wymaga dodatkowego uczenia modelu, fine-tuningu ani zewnętrznych danych — cały proces jest sterowany wyłącznie przez prompty na etapie wnioskowania (inference)[1].
Mechanizm realizacji
Metoda Self-Refine jest realizowana poprzez sekwencję specjalnie skonstruowanych promptów, które kierują zachowaniem modelu.
- Wstępna generacja. Model otrzymuje wyjściowy prompt i generuje roboczą odpowiedź.
- Tworzenie informacji zwrotnej. Model otrzymuje instrukcję przeanalizowania swojej poprzedniej odpowiedzi i wskazania jej słabych stron. Na przykład może zauważyć, że odpowiedź jest niewystarczająco szczegółowa lub zawiera błąd logiczny. Wynikiem jest tekstowa informacja zwrotna z konkretnymi uwagami i zaleceniami.
- Iteracyjne ulepszanie. Model otrzymuje jako nowy prompt wyjściowe zapytanie, swoją pierwotną odpowiedź oraz wygenerowaną informację zwrotną. Na tej podstawie tworzy ulepszoną wersję odpowiedzi.
Ten dwuetapowy cykl „krytyka → redakcja" może być wykonywany wielokrotnie. Do kontekstu każdej nowej iteracji włączane są poprzednie wersje odpowiedzi i komentarze, co pomaga modelowi unikać powtarzania błędów[2]. Do sterowania zachowaniem modelu często stosowane są techniki few-shot prompting, gdzie do promptu dołączane są przykłady pożądanego formatu informacji zwrotnej i poprawek.
Skuteczność i zastosowanie
Metoda Self-Refine wykazała swoją skuteczność w szeregu zadań wymagających wielokrotnego uściślania, takich jak:
- Generowanie odpowiedzi dialogowych.
- Twórcze kontynuowanie historii.
- Rozwiązywanie zadań matematycznych z użyciem rozumowania krok po kroku.
- Optymalizacja kodu programistycznego.
W oryginalnym badaniu odpowiedzi uzyskane za pomocą Self-Refine okazały się średnio o ~20% bardziej preferowane według ocen ludzi i automatycznych metryk w porównaniu z generacją jednoetapową[1]. Poprawa była osiągana nawet dla najnowocześniejszych modeli, takich jak GPT-4, co wskazuje, że nawet potężnym LLM często brakuje jedynie dodatkowego kroku refleksji, aby poprawić własne błędy.
Podobne podejścia, takie jak RCI (Recursive Criticism and Improvement), również wykazały wysoką skuteczność w zadaniach interaktywnych, na przykład w sterowaniu komputerem i rozwiązywaniu zadań logicznych. Połączenie RCI z techniką „łańcucha myśli" (Chain-of-Thought) dało efekt synergiczny, wyraźnie poprawiając zdolność modelu do rozwiązywania złożonych problemów dzięki wbudowanemu krokowi samokontroli[3].
Ograniczenia i bieżące badania
Pomimo obiecujących sukcesów, badania pokazują, że samodzielne iteracyjne ulepszanie ma szereg ograniczeń.
- Samostronniczość (self-bias): Modele mają trudność z bezstronną oceną własnych odpowiedzi. LLM mają tendencję do przychylnego postrzegania własnego wygenerowanego tekstu i niewystarczająco krytycznej jego oceny, co może prowadzić do stagnacji, a nawet pogorszenia jakości po kilku iteracjach[4].
- Nadmierna pewność siebie: Zaobserwowano, że wraz ze wzrostem liczby iteracji samokorekty model może nabierać nadmiernej pewności co do swoich odpowiedzi, nawet jeśli nie stały się one dokładniejsze. Prowadzi to do wzrostu wskaźnika Expected Calibration Error (ECE) — rozbieżności między pewnością modelu a rzeczywistą dokładnością[5].
- Koszty obliczeniowe: Metoda wymaga kilkukrotnego odwołania się do LLM w celu uzyskania jednej ostatecznej odpowiedzi, co znacznie zwiększa opóźnienie i koszty w porównaniu z generacją jednoprzebiegową.
Bieżące badania są nakierowane na rozwiązanie tych problemów. Jeden z kierunków to wdrożenie mechanizmów kalibracji pewności na każdym kroku iteracji. Inny — angażowanie zewnętrznych źródeł informacji lub narzędzi (np. wykonywanie kodu, wyszukiwanie danych) w celu bardziej obiektywnej samooceny[6].
Porównanie z innymi technikami
- Chain-of-Thought (CoT): CoT skupia się na generowaniu liniowego łańcucha rozumowania, aby dojść do odpowiedzi. Self-Refine natomiast skupia się na iteracyjnym ulepszaniu już wygenerowanej odpowiedzi (która może zawierać CoT).
- Tree of Thoughts (ToT): ToT eksploruje wiele równoległych ścieżek rozumowania w postaci drzewa, podczas gdy Self-Refine ulepsza jedną ścieżkę iteracyjnie. ToT jest techniką eksploracji przestrzeni rozwiązań, a Self-Refine — techniką optymalizacji konkretnego rozwiązania.
Odnośniki
- Oficjalna strona projektu Self-Refine
- Oryginalna publikacja naukowa \"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.
Przypisy
- ↑ 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]