---
title: "Self-Refine Prompting (KO)"
source: "https://systems-analysis.info/int/Self-Refine_Prompting_(KO)"
wiki: "systems-analysis.info/int"
article: "Self-Refine_Prompting_(KO)"
language: "ko"
categories:
  - "Category:Korean"
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Prompt engineering"
revision_id: 6618
wiki_created_at: 2026-09-07T00:07:46Z
wiki_modified_at: 2026-09-07T00:07:46Z
downloaded_at: 2026-09-07T23:14:52Z
---

# Self-Refine Prompting (KO)

**Self-Refine** (**자기 정제** 또는 **자기 교정**) — 이는 프롬프트 엔지니어링 분야의 접근 방식으로, 대형 언어 모델(LLM)이 자체 피드백을 기반으로 생성된 응답을 반복적으로 개선할 수 있게 해준다<sup>[\[1\]](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_note-madaan2023-1)</sup>. 이 아이디어는 2023년 Aman Madaan의 주도 아래 연구자 그룹이 제안한 것으로, 언어 모델이 인간과 마찬가지로 항상 첫 번째 시도에서 최선의 결과를 생성하지는 않는다는 관찰에 기반한다.

이 방법에서 동일한 LLM은 순차적으로 세 가지 역할을 수행한다:

1.  **생성기 (Generator)**: 요청에 대한 초기 초안 응답을 생성한다.
2.  **비평가 (Feedback)**: 자신의 응답을 평가하고 건설적인 피드백을 제공한다.
3.  **편집기 (Refiner)**: 이 피드백을 활용하여 개선된 버전의 응답을 생성한다.

이 반복적인 「생성 → 피드백 → 개선」 사이클은 요구되는 품질이 달성되거나 종료 조건이 충족될 때까지 여러 번 반복될 수 있다.

Self-Refine은 모델의 추가 학습, fine-tuning 또는 외부 데이터를 필요로 하지 않으며 — 전체 프로세스는 추론(*inference*) 단계에서 오직 프롬프트만을 통해 제어된다<sup>[\[1\]](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_note-madaan2023-1)</sup>.

## 구현 메커니즘

Self-Refine 방법은 모델의 동작을 안내하는 특별히 구성된 프롬프트의 시퀀스를 통해 구현된다.

1.  **초기 생성**. 모델은 원본 프롬프트를 받아 초안 응답을 생성한다.
2.  **피드백 생성**. 모델은 자신의 이전 응답을 분석하고 그 안의 결함을 파악하는 지시를 받는다. 예를 들어, 응답이 충분히 상세하지 않거나 논리적 오류를 포함하고 있다고 지적할 수 있다. 결과물은 구체적인 지적 사항과 권고를 담은 텍스트 형태의 피드백이다.
3.  **반복적 개선**. 모델은 원본 요청, 자신의 초기 응답, 그리고 생성된 피드백을 새 프롬프트로 받는다. 이를 바탕으로 개선된 버전의 응답을 생성한다.

이 두 단계 「비평 → 수정」 사이클은 여러 번 실행될 수 있다. 각 새로운 반복의 컨텍스트에는 이전 응답 버전과 코멘트가 포함되어 모델이 오류를 반복하지 않도록 돕는다<sup>[\[2\]](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_note-selfrefine_info-2)</sup>. 모델의 동작을 제어하기 위해 *few-shot prompting* 기법이 자주 사용되며, 이때 프롬프트에 원하는 피드백 형식과 수정의 예시가 포함된다.

## 효과성 및 적용

Self-Refine 방법은 다음과 같이 반복적인 정제가 필요한 여러 작업에서 효과성을 입증했다:

- 대화형 응답 생성.
- 창의적 이야기 이어쓰기.
- 단계별 추론을 통한 수학 문제 풀이.
- 프로그램 코드 최적화.

원본 연구에서 Self-Refine을 통해 얻은 응답은 단일 단계 생성과 비교하여 인간 평가 및 자동 지표 기준으로 평균 **~20%** 더 선호되는 것으로 나타났다<sup>[\[1\]](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_note-madaan2023-1)</sup>. 개선은 GPT-4와 같은 최신 모델에서도 달성되었는데, 이는 강력한 LLM조차도 자신의 오류를 수정하기 위해 추가적인 사고 단계만 있으면 충분한 경우가 많음을 시사한다.

**RCI** (Recursive Criticism and Improvement)와 같은 유사한 접근 방식도 컴퓨터 제어 및 논리 문제 풀이와 같은 인터랙티브 작업에서 높은 효율성을 보여주었다. RCI와 Chain-of-Thought 기법의 결합은 시너지 효과를 발휘하여, 내장된 자기 검증 단계를 통해 모델의 복잡한 문제 해결 능력을 눈에 띄게 향상시켰다<sup>[\[3\]](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_note-kim2023_rci-3)</sup>.

## 한계 및 현재 연구

유망한 성과에도 불구하고, 연구에 따르면 자기 반복적 개선에는 몇 가지 한계가 있다.

- **자기 편향 (self-bias)**: 모델은 자신의 응답을 공정하게 판단하는 데 어려움을 겪는다. LLM은 자신이 생성한 텍스트를 호의적으로 인식하고 충분히 비판적으로 평가하지 않는 경향이 있어, 몇 번의 반복 후 품질이 정체되거나 심지어 저하될 수 있다<sup>[\[4\]](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_note-huang2023-4)</sup>.
- **과도한 자신감**: 자기 교정 반복 횟수가 증가함에 따라 모델이 응답의 정확도가 높아지지 않았음에도 불구하고 과도한 자신감을 가질 수 있다는 것이 관찰되었다. 이는 모델의 자신감과 실제 정확도 사이의 불일치를 나타내는 *Expected Calibration Error (ECE)* 지표의 증가로 이어진다<sup>[\[5\]](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_note-zhu2025_calibration-5)</sup>.
- **연산 비용**: 이 방법은 하나의 최종 응답을 얻기 위해 LLM에 여러 번 요청해야 하므로, 단일 패스 생성에 비해 지연 시간과 비용이 크게 증가한다.

현재 연구는 이러한 문제 해결에 집중되어 있다. 한 가지 방향은 각 반복 단계에서 자신감 보정 메커니즘을 도입하는 것이다. 또 다른 방향은 더 객관적인 자기 평가를 위해 외부 정보 소스나 도구(예: 코드 실행, 데이터 검색)를 활용하는 것이다<sup>[\[6\]](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_note-beyond_accuracy_study-6)</sup>.

## 다른 기법과의 비교

- **Chain-of-Thought (CoT)**: CoT는 답에 도달하기 위한 선형적인 추론 체인 생성에 초점을 맞춘다. 반면 Self-Refine은 이미 생성된 응답(CoT를 포함할 수 있는)의 반복적 개선에 초점을 맞춘다.
- **Tree of Thoughts (ToT)**: ToT는 트리 형태로 여러 병렬 추론 경로를 탐색하는 반면, Self-Refine은 하나의 경로를 반복적으로 개선한다. ToT는 해 공간 탐색 기법이고, Self-Refine은 특정 해의 최적화 기법이다.

## 참고 링크

- Self-Refine 프로젝트 공식 사이트
- 원본 논문 "Self-Refine: Iterative Refinement with Self-Feedback"

## 문헌

- 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.

## 주석

1.  <span id="cite_note-madaan2023-1">↑ <sup>[1.0](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_ref-madaan2023_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_ref-madaan2023_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_ref-madaan2023_1-2)</sup> Madaan, Aman; et al. «Self-Refine: Iterative Refinement with Self-Feedback». *arXiv*. <a href="https://arxiv.org/abs/2303.17651" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-selfrefine_info-2">[↑](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_ref-selfrefine_info_2-0) «Self-Refine: Iterative Refinement with Self-Feedback». *Официальный сайт проекта*. <a href="https://selfrefine.info/" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-kim2023_rci-3">[↑](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_ref-kim2023_rci_3-0) Kim, Geunwoo; et al. «Language Models can Solve Computer Tasks». *arXiv*. <a href="https://arxiv.org/abs/2303.17491" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-huang2023-4">[↑](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_ref-huang2023_4-0) Huang, Jie; et al. «Large Language Models Cannot Self-Correct Reasoning Yet». *arXiv*. <a href="https://arxiv.org/abs/2310.08118" class="external autonumber" rel="nofollow">[4]</a></span>
5.  <span id="cite_note-zhu2025_calibration-5">[↑](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_ref-zhu2025_calibration_5-0) Zhu, D., et al. (2025). «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». *arXiv*. <a href="https://arxiv.org/html/2504.02902v1" class="external autonumber" rel="nofollow">[5]</a></span>
6.  <span id="cite_note-beyond_accuracy_study-6">[↑](https://systems-analysis.info/int/Self-Refine_Prompting_(KO)#cite_ref-beyond_accuracy_study_6-0) «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». *arXiv*. <a href="https://arxiv.org/html/2504.02902v1" class="external autonumber" rel="nofollow">[6]</a></span>
