언어적 강화학습(Verbal Reinforcement Learning) 기반 Reflexion 프레임워크 (2023-03-20)

언어적 강화학습(Verbal Reinforcement Learning) 기반 Reflexion 프레임워크 (2023-03-20)

2025-12-07, G30DR

1. 서론: 거대 언어 모델 에이전트의 진화와 한계

최근 인공지능 연구의 흐름은 정적인 텍스트 생성 모델을 넘어, 동적인 환경과 상호작용하며 목표를 달성하는 에이전트(Agent) 시스템으로 급격히 이동하고 있다. ReAct, Toolformer, HuggingGPT, WebGPT와 같은 선행 연구들은 거대 언어 모델(Large Language Models, LLM)이 단순히 언어를 이해하는 것을 넘어, API를 호출하고 웹을 검색하며 도구를 사용하여 복잡한 과제를 수행할 수 있는 잠재력을 입증하였다.1 이러한 에이전트들은 방대한 파라미터를 가진 모델을 핵심 추론 엔진(Reasoning Engine)으로 활용하여 텍스트와 행동(Action)을 생성하고, 주어진 문맥 내의 예시(In-context Learning)를 통해 작업을 수행하는 방식을 취한다.

그러나 이러한 접근 방식은 명확한 한계에 봉착해 있다. 기존의 LLM 에이전트들은 주로 ‘원샷(One-shot)’ 또는 고정된 프롬프트 방식에 의존하기 때문에, 복잡한 다단계 과제에서 필연적으로 발생하는 시행착오(Trial-and-Error)를 통해 학습하는 능력이 현저히 부족하다. 인간은 실수를 저지르면 그 원인을 분석하고, “다음에는 이렇게 하지 말아야지“라고 성찰(Reflection)하여 행동을 교정하는 반면, 일반적인 LLM 에이전트는 한 번 실패한 궤적(Trajectory)에 갇히거나, 동일한 오류를 반복적으로 범하는 경향을 보인다.

이러한 문제를 해결하기 위해 전통적인 강화학습(Reinforcement Learning, RL) 방법론을 적용하려는 시도가 있었으나, PPO(Proximal Policy Optimization)와 같은 기존 알고리즘은 LLM 환경에서 치명적인 비효율성을 드러낸다. 첫째, 유의미한 정책(Policy)을 학습하기 위해 수십만 건 이상의 방대한 훈련 샘플이 요구된다.1 둘째, GPT-4나 PaLM과 같은 거대 모델의 가중치(Weights)를 직접 미세 조정(Fine-tuning)하는 것은 막대한 계산 자원과 비용을 소모하며, API 형태로 제공되는 독점적 모델(Proprietary Models)에는 적용 자체가 불가능한 경우가 많다. 셋째, 신경망의 가중치 업데이트를 통해 학습된 정책은 블랙박스(Black-box) 형태이므로, 에이전트가 왜 그러한 행동 변화를 일으켰는지 해석하기 어렵다는 설명 가능성(Explainability)의 문제가 존재한다.3

이에 대한 대안으로 Shinn et al.(2023)은 ’Reflexion’이라는 혁신적인 프레임워크를 제안하였다. Reflexion은 모델의 가중치를 물리적으로 업데이트하지 않고, 대신 ’언어적 피드백(Linguistic Feedback)’을 통해 에이전트를 강화하는 기법이다.1 이 프레임워크의 핵심은 에이전트가 자신의 실패를 언어적으로 성찰(Self-Reflection)하고, 이 성찰 내용을 일화적 기억(Episodic Memory)에 저장하여 다음 시도에서의 의사결정 컨텍스트로 활용함으로써 행동을 교정하는 것이다. 이는 인간의 고차원적 인지 과정인 메타 인지(Meta-cognition)를 모방한 것으로, 기존 RL 대비 훨씬 가볍고 효율적이며 높은 해석 가능성을 제공한다.

본 보고서는 Reflexion 프레임워크의 이론적 배경, 아키텍처, 작동 원리, 그리고 다양한 벤치마크에서의 성능을 심층적으로 분석하고, 기존 방법론과의 비교를 통해 이 기술이 갖는 학술적, 실용적 함의를 포괄적으로 고찰한다.

2. 이론적 배경 및 핵심 개념

2.1 언어적 강화학습 (Verbal Reinforcement Learning)의 패러다임 전환

전통적인 딥러닝 기반 강화학습에서 학습(Learning)의 정의는 스칼라 값인 보상(Reward)을 최대화하기 위해 신경망의 파라미터 벡터 \theta를 수치적으로 최적화하는 과정이다. 즉, 에이전트의 경험은 그라디언트(Gradient)로 변환되어 가중치 행렬에 녹아든다. 그러나 Reflexion은 ’언어적 강화학습’이라는 새로운 패러다임을 통해 이 과정을 재정의한다.

여기서 ’강화(Reinforcement)’의 매개체는 부동 소수점(Floating-point) 형태의 가중치 변화가 아니라, 자연어로 기술된 ’성찰 텍스트(Reflection Text)’이다. 에이전트는 환경으로부터 받은 피드백(성공/실패 여부, 에러 메시지, 상태 변화 등)을 분석하여 “내가 왜 실패했는지”, “어떤 가정이 틀렸는지“를 서술하고, 이 텍스트가 다음 에피소드의 프롬프트 컨텍스트(Context)로 주입된다.1

이 방식은 다음과 같은 근본적인 이론적 전환을 내포한다:

  • 파라미터 공간(\Theta)에서의 최적화 \rightarrow 컨텍스트 공간(\mathcal{C})에서의 최적화: 모델 자체를 수정하는 것이 아니라, 모델이 참조하는 정보(기억)를 수정함으로써 출력 분포를 변화시킨다.
  • 암묵적 지식(Implicit Knowledge) \rightarrow 명시적 지식(Explicit Knowledge): 기존 RL 에이전트는 수만 번의 반복을 통해 “이 상황에서는 A 행동이 좋다“는 것을 암묵적으로 체화하지만, Reflexion 에이전트는 “A 행동은 B 때문에 실패했으므로 C를 해야 한다“는 명시적인 논리를 기억한다. 이는 소수의 샘플(Few-shot)만으로도 급격한 성능 향상을 가능하게 하는 원동력이다.2

2.2 인지과학적 기반: 이중 시스템 이론 (Dual Process Theory)

Reflexion 프레임워크의 설계 철학은 인지과학의 이중 시스템 이론과 깊게 맞닿아 있다. 노벨 경제학상 수상자 대니얼 카너먼(Daniel Kahneman)이 대중화한 이 이론은 인간의 사고를 두 가지 시스템으로 구분한다.

시스템특성LLM 에이전트의 대응Reflexion의 역할
System 1빠르고, 직관적이며, 무의식적이고, 자동적인 사고토큰 단위의 즉각적인 생성, 기존 ReAct/Zero-shot CoT에이전트의 초기 시도(Actor의 기본 동작)
System 2느리고, 분석적이며, 의식적이고, 규칙 기반의 사고명시적인 계획 수립, 오류 분석, 코드 디버깅자기 성찰(Self-Reflection) 단계

기존의 LLM 에이전트는 주로 System 1에 의존하여 입력에 대한 즉각적인 반응을 생성한다. 이는 속도가 빠르지만, 복잡한 논리적 함정이나 새로운 유형의 오류에 취약하다. Reflexion은 에이전트에게 강제적인 ’멈춤(Pause)’과 ’숙고(Deliberation)’의 단계를 부여함으로써 System 2와 같은 사고 과정을 알고리즘적으로 구현한다.6 실패한 시도에 대해 명시적으로 비판하고(Critique), 대안을 모색하는 과정은 단순한 텍스트 생성을 넘어선 고차원적인 추론 능력을 발현시킨다. 이는 에이전트가 자신의 출력을 객관화하여 바라볼 수 있게 하는 ’메타 인지’의 구현체라 할 수 있다.

2.3 일화적 기억 (Episodic Memory)의 역할과 구조

Reflexion 프레임워크에서 기억(Memory)은 단순한 데이터 저장소가 아니라 실질적인 학습이 일어나는 동적 공간이다. 에이전트는 단기 기억과 장기 기억을 유기적으로 결합하여 의사결정에 활용한다.7

  1. 단기 기억 (Short-term Memory / Trajectory History): 현재 수행 중인 작업의 구체적인 맥락을 제공한다. 에이전트가 어떤 행동(a_t)을 했고 어떤 관찰(o_t)을 얻었는지에 대한 시계열적 기록(\tau)이다. 이는 ReAct와 같은 기존 프레임워크에서도 활용되는 요소이다.
  2. 장기 기억 (Long-term Memory / Reflection Buffer): Reflexion의 독창적인 요소로, 과거의 트라이얼(Trials)에서 축적된 ‘성찰(Reflection)’ 데이터들이 저장된다. 이 기억은 단순한 사실의 나열이 아니라, “X 상황에서는 Y가 아니라 Z를 해야 한다“는 교훈(Lesson)들의 집합이다.

이 두 가지 기억 요소가 결합됨으로써, 에이전트는 “지금 문이 잠겨 있다(단기 기억)“는 사실과 “지난번에 열쇠 없이 문을 열려다 실패했으니 열쇠를 먼저 찾아야 한다(장기 기억)“는 교훈을 통합하여 “열쇠를 찾는다“는 최적의 행동을 도출할 수 있다. 이는 수천 번의 에피소드를 통해 통계적으로 행동을 교정하는 기존 RL과 달리, 단 2~3번의 실패 경험만으로도 즉각적인 전략 수정이 가능하게 한다.7

3. Reflexion 프레임워크의 아키텍처 및 구성 요소

Reflexion은 세 가지 핵심 모델인 행위자(Actor), 평가자(Evaluator), **자기 성찰 모델(Self-Reflection)**과 이를 연결하는 **메모리 버퍼(Memory)**로 구성된다. 이들은 유기적으로 상호작용하며 반복적인 학습 루프를 형성한다.

3.1 행위자 (Actor, M_a): 행동과 추론의 주체

행위자는 실제로 환경과 상호작용하며 행동을 생성하는 LLM 에이전트이다.

  • 기본 구조: Chain-of-Thought (CoT) 또는 ReAct 프레임워크를 기반으로 구축된다. 즉, 단순히 행동만을 출력하는 것이 아니라, “생각(Thought)“과 “행동(Action)“을 번갈아 생성하며 문제 해결 과정을 명시적으로 드러낸다.5
  • 입력 (Input): 현재의 상태 관찰(o_t)뿐만 아니라, 메모리 버퍼(mem)에 저장된 과거의 성찰 텍스트들을 프롬프트의 컨텍스트로 입력받는다.
  • 작동 메커니즘: 첫 번째 시도(Trial 0)에서 행위자는 일반적인 ReAct 에이전트처럼 행동한다. 그러나 실패 후 재시도(Trial t > 0)할 때는, 입력된 성찰 텍스트가 일종의 ‘제약 조건’ 또는 ’힌트’로 작용하여 탐색 공간을 효율적으로 좁혀준다. 예를 들어, “도구를 사용할 때 인자(Argument) 형식을 확인하라“는 성찰이 입력되면, 행위자는 도구 사용 시 더 신중한 구문을 생성하게 된다.8

3.2 평가자 (Evaluator, M_e): 피드백 루프의 핵심

평가자는 행위자가 생성한 궤적(Trajectory)의 품질을 측정하고 보상(Reward)을 부여하는 역할을 수행한다. Reflexion에서 평가자는 단순히 스칼라 보상만을 주는 것이 아니라, 자기 성찰 모델이 분석할 수 있는 ’원시 데이터(Raw Data)’를 제공하는 중요한 역할을 한다. 평가자의 구현은 과제의 성격에 따라 달라진다.5

3.2.1 추론 및 의사결정 과제 (Reasoning & Decision Making)

AlfWorld나 HotPotQA와 같은 과제에서는 다음과 같은 방식이 사용된다.

  • 정확도 기반 (Exact Match): 정답이 명확히 존재하는 경우, 생성된 답과 정답을 비교한다.
  • 휴리스틱 함수 (Heuristics): 명확한 정답이 없는 경우, 사전에 정의된 규칙을 따른다. 예를 들어, AlfWorld에서는 에이전트가 목표 상태(Goal State)에 도달했는지 여부를 환경이 반환하는 신호를 통해 판단한다.
  • LLM 기반 평가: 더 복잡한 상황에서는 또 다른 LLM이 에이전트의 행동을 논리적으로 평가하는 ‘판사(Judge)’ 역할을 수행할 수 있다.

3.2.2 프로그래밍 과제 (Programming)

HumanEval과 같은 코딩 과제에서 Reflexion은 가장 정교한 평가 메커니즘을 보여준다.

  • 단위 테스트 생성 및 실행 (Unit Test Execution): 에이전트는 단순히 코드를 작성하는 것을 넘어, 해당 코드를 검증하기 위한 **단위 테스트(Unit Tests)**를 스스로 생성한다.
  • 평가 프로세스:
  1. 에이전트가 코드와 테스트 케이스를 생성한다.
  2. 생성된 테스트 케이스의 문법적 유효성을 추상 구문 트리(AST) 파싱을 통해 검증한다.
  3. 유효한 테스트 케이스를 샌드박스 환경에서 실행한다.
  4. 실행 결과(Pass/Fail, 에러 메시지, Traceback)가 곧 평가자의 출력이 된다. 이 에러 메시지는 자기 성찰 모델에게 “어디가 틀렸는지“를 알려주는 가장 강력한 단서가 된다.7

3.3 자기 성찰 모델 (Self-Reflection, M_{sr}): 메타 인지의 구현

Reflexion 프레임워크의 가장 독창적인 구성 요소이다. 평가자로부터 실패 신호를 받으면, 이 모델은 “왜 실패했는가?“에 대한 답을 자연어로 생성한다.

  • 입력 (Input): 실패한 궤적(\tau), 평가자의 피드백(오류 메시지 등).
  • 출력 (Output): 구체적이고 행동 유도적인 성찰 텍스트(sr).
  • 작동 원리: 이 모델 역시 LLM(주로 GPT-4 등)이다. 특별히 설계된 프롬프트를 통해, 단순한 상황 요약이 아니라 **실패 원인 분석(Root Cause Analysis)**과 **미래 행동 제안(Future Action Plan)**을 수행하도록 유도된다.3
  • 예시: “코드가 IndexError로 실패했다“는 피드백을 받으면, 자기 성찰 모델은 “루프의 범위가 리스트의 길이를 초과했다. 다음 시도에서는 range(len(lst)) 대신 range(len(lst)-1)을 고려하거나 경계 조건을 확인해야 한다“와 같은 구체적인 성찰을 생성한다. 이 텍스트는 메모리에 저장되어 다음 시도의 ‘의미적 그라디언트(Semantic Gradient)’ 역할을 수행한다.7

3.4 메모리 (Memory): 지속적 학습의 매개체

  • 구조: 일화적 기억 버퍼(Episodic Memory Buffer)로서, mem = [sr_0, sr_1,..., sr_t]와 같이 과거의 성찰들을 리스트 형태로 유지한다.
  • 컨텍스트 관리: LLM의 입력 토큰 제한(Context Window)을 고려하여, 메모리는 무한정 커질 수 없다. 따라서 최근 N개의 성찰만 유지하는 슬라이딩 윈도우(Sliding Window) 방식이나, 현재 상황과 가장 관련성 높은 성찰을 검색(Retrieval)하여 사용하는 방식이 적용된다.7 이는 에이전트가 너무 오래된 정보에 얽매이지 않고 최신 교훈을 우선시하게 한다.

4. Reflexion 알고리즘의 단계별 프로세스

Reflexion의 학습 루프는 정형화된 알고리즘을 따르며, 이는 기존의 강화학습 루프와 구조적으로 유사하지만 데이터의 형태가 다르다.1

4.1 알고리즘 상세 (Step-by-Step)

  1. 초기화 (Initialization):
  • 행위자(M_a), 평가자(M_e), 자기 성찰 모델(M_{sr})을 로드한다.
  • 메모리(mem)를 빈 리스트로 초기화한다.
  • 최대 시도 횟수(MaxTrials)를 설정한다.
  1. 최초 시도 (Initial Trial, t=0):
  • 행위자가 초기 정책 \pi를 사용하여 궤적 \tau_0를 생성한다. 이때 mem은 비어 있으므로, 에이전트는 자신의 기본 능력(Zero-shot or Few-shot)에 의존한다.
  • 평가자 M_e\tau_0를 평가하여 보상 r_0를 산출한다.
  1. 반복 루프 (Iterative Loop, t=1 to MaxTrials):
  • 종료 조건 검사: 만약 r_t가 ’성공’을 나타내거나 t가 최대 횟수에 도달하면 루프를 종료한다.
  • 자기 성찰 생성: M_{sr}은 현재 궤적 \tau_t와 평가 결과 r_t를 입력받아 성찰 텍스트 sr_t를 생성한다.
  • 메모리 업데이트: 생성된 sr_t를 메모리에 추가한다 (mem \leftarrow mem \cup \{sr_t\}).
  • 새로운 행동 생성: 행위자 M_a는 업데이트된 메모리 mem을 컨텍스트로 참조하여 새로운 궤적 \tau_{t+1}을 생성한다. 이때 프롬프트는 “다음의 성찰들을 참고하여 이전에 범한 실수를 반복하지 마라“는 지시를 포함한다.
  • 재평가: 평가자 M_e가 새로운 궤적을 평가한다.

4.2 수학적 정식화

Reflexion은 에이전트의 정책을 \pi_{\theta}(a|s, mem)으로 정의한다. 여기서 \theta는 LLM의 고정된 파라미터이고, mem은 동적으로 변하는 컨텍스트이다. 최적화 목표는 mem을 업데이트함으로써 기대 보상 \mathbb{E}를 최대화하는 것이다. 이는 전통적 RL이 \nabla_{\theta} J(\theta)를 통해 \theta를 수정하는 것과 대비되어, \Delta mem을 통해 정책을 수정하는 비모수적(Non-parametric) 최적화 과정으로 해석될 수 있다.

5. 실험 결과 및 벤치마크 분석

Reflexion 프레임워크는 순차적 의사결정, 프로그래밍, 지식 추론 등 다양한 도메인에서 기존 SOTA 모델들을 능가하는 성능을 입증하였다. 특히, 모델 자체를 변경하지 않고도 GPT-4와 같은 강력한 모델의 성능을 추가적으로 끌어올렸다는 점이 주목할 만하다.

5.1 순차적 의사결정: AlfWorld

AlfWorld는 텍스트 기반의 환경에서 가정 내 작업을 수행하는 시뮬레이션 벤치마크이다 (예: “차가운 사과를 찾아서 전자레인지에 데운 뒤 쓰레기통에 버려라”).

  • 성능 데이터: Reflexion 에이전트는 12번의 반복 학습 단계(Iterative Learning Steps) 만에 베이스라인(ReAct) 대비 **22%**의 절대적인 성능 향상을 기록하였다.2
  • 성공률: 총 134개의 과제 중 130개를 해결하여 약 97%의 성공률을 달성했다. 이는 ReAct 에이전트가 흔히 겪는 ’무한 루프(동일한 장소를 계속 왔다 갔다 함)’나 ’상태 인식 오류’를 자기 성찰을 통해 효과적으로 극복했음을 보여준다.9
  • 분석: AlfWorld에서 Reflexion의 강점은 탐색 효율성에 있다. 에이전트가 “찬장에 사과가 없다“는 사실을 확인한 뒤, 성찰 모델이 “찬장에 없으면 냉장고를 찾아봐야 한다“는 구체적인 지침을 생성함으로써 불필요한 탐색을 줄이고 목표 지향적인 행동을 유도한다.

5.2 프로그래밍: HumanEval & MBPP

프로그래밍은 Reflexion의 메커니즘이 가장 빛을 발하는 분야이다. 코드의 실행 결과는 성공/실패가 명확하며, 에러 메시지라는 풍부한 피드백이 제공되기 때문이다.

벤치마크모델 / 방법론성능 (Pass@1)비고
HumanEval (Python)GPT-4 (Baseline)80.1%
Reflexion (GPT-4)91.0%SOTA 달성 (+10.9%) 7
HumanEval (Rust)GPT-4 (Baseline)60.0%
Reflexion (GPT-4)68.0%(+8.0%) 7
MBPPPaLM26.2%
Reflexion(State-of-the-Art)5
  • 성과 분석: Reflexion은 HumanEval에서 91%라는 경이로운 정확도를 기록했다. 이는 에이전트가 단순히 코드를 생성하는 것이 아니라, 스스로 테스트 케이스를 작성하고 검증하는 ‘테스트 주도 개발(Test-Driven Development, TDD)’ 방식을 채택했기 때문이다.
  • 병목의 이동: 기존에는 ’올바른 코드를 생성하는 능력’이 병목이었다면, Reflexion 환경에서는 ’올바른 테스트 케이스를 생성하고 에러를 해석하는 능력’으로 병목이 이동하였다.10 에이전트가 자신의 코드가 틀렸음을 인지할 수만 있다면, 반복적인 성찰을 통해 결국 정답에 도달할 확률이 매우 높아짐을 시사한다.

5.3 지식 추론: HotPotQA

HotPotQA는 여러 문서에 흩어진 정보를 종합하여 답변해야 하는 멀티 홉(Multi-hop) 질의응답 데이터셋이다.

  • 성과: Reflexion은 HotPotQA에서도 에이전트의 추론 능력을 유의미하게 향상시켰다.7 특히 검색 쿼리가 실패하거나 잘못된 문서를 참조했을 때, 성찰 과정이 이를 감지하고 “이전 검색어는 너무 모호했으므로, 더 구체적인 키워드를 사용해야 한다“는 피드백을 생성하여 검색의 질을 높였다.
  • 비교: 단순히 사고의 사슬(Chain-of-Thought, CoT)만 사용하는 것보다, Reflexion을 통해 과거의 잘못된 추론 경로를 기억하고 회피하는 전략이 더 높은 정확도를 보였다.5

6. 비교 분석 (Comparative Analysis)

Reflexion의 기술적 위치를 명확히 하기 위해, 기존의 주요 프레임워크인 ReAct, Chain-of-Thought(CoT), 그리고 전통적 강화학습(RL)과 다각도로 비교 분석한다.

6.1 Reflexion vs. ReAct

ReAct(Reasoning + Acting)는 추론과 행동을 인터리빙(Interleaving)하는 접근법이지만, 근본적으로 기억의 부재라는 단점을 가진다.

  • 메모리 관리: ReAct는 현재 에피소드 내의 문맥만을 유지한다. 만약 에이전트가 실패하여 처음부터 다시 시작할 경우, ReAct 에이전트는 이전의 실패를 기억하지 못하고 똑같은 실수를 반복할 가능성이 높다. 반면, Reflexion은 에피소드 간(Cross-episodic) 메모리를 유지하여 이전의 실패를 ’교훈’으로 전환한다.11
  • 학습 능력: ReAct는 고정된 능력으로 과제를 수행하는 반면, Reflexion은 경험을 통해 ’학습’하고 ’적응’한다. 이는 WebShop과 같은 환경에서 ReAct가 4회 시도 후에도 성능 개선이 없었던 반면, Reflexion은 지속적인 개선을 보인 실험 결과에서 명확히 드러난다.12

6.2 Reflexion vs. Chain-of-Thought (CoT)

CoT는 모델의 추론 성능을 높이는 프롬프트 전략이다.

  • 상호보완성: Reflexion은 CoT를 대체하는 경쟁 관계가 아니라, 이를 포함하는 상위 개념이다. Reflexion의 Actor 모델은 내부적으로 CoT를 사용하여 추론 단계를 생성한다.
  • 피드백 루프: CoT는 단일 패스(Single-pass) 추론인 반면, Reflexion은 다중 패스(Multi-pass) 추론이다. CoT가 한 번의 논리적 전개에 집중한다면, Reflexion은 그 전개 과정이 틀렸을 때 이를 수정할 수 있는 기회를 제공한다. 실험 결과, Reflexion + CoT 조합은 CoT Only 또는 CoT + Simple Memory보다 항상 우수한 성능을 보였다.5

6.3 Reflexion vs. 전통적 강화학습 (Traditional RL)

이 비교는 Reflexion의 존재 의의를 가장 잘 보여준다.

비교 항목전통적 RL (PPO, DQN 등)Reflexion (Verbal RL)
업데이트 대상신경망 가중치 (\theta)에이전트의 기억/컨텍스트 (mem)
피드백 형태스칼라 보상 (Reward Scalar)언어적 성찰 (Verbal Reflection)
샘플 효율성낮음 (수만~수백만 건 필요)높음 (소수의 시행착오로 충분)
해석 가능성낮음 (Black-box Policy)매우 높음 (사람이 읽을 수 있는 텍스트)
계산 비용높음 (Gradient 계산 및 Backprop)낮음 (Inference 비용만 발생)
적용 용이성복잡함 (환경 구축, 하이퍼파라미터 튜닝)간편함 (프롬프트 엔지니어링 위주)

전통적 RL이 수많은 반복을 통해 신경망을 미세하게 조각하는 ’하드웨어적 튜닝’이라면, Reflexion은 에이전트에게 말로써 조언을 해주는 ’소프트웨어적 코칭’이라 할 수 있다.2

7. 구현 전략 및 프롬프트 엔지니어링

Reflexion의 성공적인 구현은 정교한 프롬프트 엔지니어링에 달려 있다. 보고서 작성 시점에서 구체적인 프롬프트 전문은 벤치마크마다 상이하나, 핵심 전략은 다음과 같이 요약된다.5

7.1 Actor 프롬프트 구성

Actor에게는 두 가지 핵심 정보가 제공되어야 한다.

  1. Task Description: 현재 수행해야 할 과제의 정의.
  2. Memory Context: “다음은 당신이 이전에 시도했다가 실패한 기록과, 그로부터 도출된 성찰들이다. 이를 참고하여 동일한 실수를 반복하지 말고 새로운 계획을 수립하라“는 명시적 지시가 포함된다. 이는 LLM이 이전 정보를 무시하지 않고 제약 조건(Hard Constraint)으로 받아들이도록 강제한다.

7.2 Self-Reflection 프롬프트 구성

자기 성찰 모델은 철저한 비평가(Critic) 페르소나를 가져야 한다.

  • 역할 부여: “당신은 에이전트의 수행을 평가하는 고급 분석가이다.”
  • 분석 지침: “단순히 실패했다는 사실을 나열하지 말고, 실패했는지 근본 원인을 찾고, 어떻게 수정해야 하는지 구체적인 행동 지침을 2-3문장으로 작성하라.”.3
  • Grounding: 성찰이 환각으로 빠지지 않도록, 평가자가 제공한 에러 메시지나 궤적의 특정 부분을 인용하도록 유도한다.

7.3 메모리 관리 전략

컨텍스트 윈도우의 제한은 Reflexion의 가장 큰 기술적 난관 중 하나이다.

  • FIFO (First-In-First-Out): 가장 오래된 성찰을 삭제한다.
  • Relevance-based Pruning: 현재 상황과 관련성이 낮은 성찰을 제거한다.
  • Summarization: 여러 개의 성찰이 쌓이면, 이를 하나의 고차원적인 교훈으로 요약하여 압축한다.

8. 논쟁, 한계점 및 향후 과제

Reflexion이 뛰어난 성과를 보였음에도 불구하고, 학계와 업계에서는 몇 가지 중요한 한계점과 논쟁이 존재한다.

8.1 레이블 유출(Label Leakage) 논란

일각에서는 Reflexion이 진정한 의미의 ’학습’이 아니라는 비판을 제기한다. 테스트 세트(Test Set)의 정답을 확인하는 평가자(Oracle)를 루프 내에 포함시키는 것은, 마치 시험을 보면서 채점 결과를 계속 확인하는 것과 같다는 지적이다.13

  • 반론: 이러한 비판은 AlfWorld와 같은 환경에서는 유효할 수 있으나, HumanEval과 같은 코딩 과제에서는 적용되지 않는다. 코딩 과제에서 Reflexion 에이전트는 정답(Canonical Solution)을 보는 것이 아니라, 자신이 만든 테스트 케이스를 통과하려고 노력하기 때문이다. 즉, 에이전트는 외부의 정답이 아니라 내부의 일관성(Internal Consistency)을 추구하며 성능을 향상시킨다. 이는 현실 세계의 프로그래밍 과정과 매우 유사하다.

8.2 환각(Hallucination)과 오류의 강화

LLM의 고질적인 문제인 환각 현상은 Reflexion에서도 여전히 위험 요소이다.

  • 성찰의 환각: 자기 성찰 모델 자체가 잘못된 분석을 내놓을 수 있다. (예: 논리 오류를 문법 오류로 착각).
  • 오류 전파: 잘못된 성찰이 메모리에 저장되면, 에이전트는 잘못된 가이드라인을 따르게 되어 성능이 오히려 저하되거나 엉뚱한 방향으로 편향(Bias)될 수 있다.14 이를 방지하기 위해 성찰의 신뢰도를 평가하는 메커니즘이 추가로 필요하다.

8.3 근거 없는 성찰 (Non-Grounded Reflection)

단순한 형태의 Reflexion 구현에서는 성찰 단계가 외부 프로세스나 지식에 근거하지 않고 오직 LLM의 내부 지식에만 의존할 경우, 결과물이 크게 개선되지 않을 수 있다.16 이를 보완하기 위해 웹 검색이나 외부 도구를 활용하여 성찰의 사실적 근거를 마련하는(Grounding) 연구가 진행되고 있다.6

8.4 컨텍스트 비용과 지연 시간

Reflexion은 반복적인 추론과 긴 컨텍스트 입력을 요구하므로, 단일 추론(Single Inference) 대비 비용과 시간이 많이 소요된다. 실시간 응답이 필요한 애플리케이션에는 적용이 어려울 수 있으며, 이를 최적화하기 위한 경량화된 Reflexion 모델 연구가 필요하다.

9. 결론 및 제언

9.1 연구 요약

Reflexion 프레임워크는 거대 언어 모델 에이전트가 값비싼 가중치 업데이트 없이도 시행착오를 통해 스스로 학습할 수 있음을 증명하였다. 행위자, 평가자, 자기 성찰 모델의 유기적인 상호작용과 언어적 피드백 루프는 에이전트에게 인간의 ‘System 2’ 사고와 유사한 메타 인지 능력을 부여했으며, 그 결과 코딩 및 의사결정 과제에서 GPT-4를 능가하는 압도적인 성능을 달성하였다.

9.2 기술적 함의

Reflexion은 ’모델 중심(Model-centric)’의 AI 개발에서 ‘시스템 중심(System-centric)’ 또는 ’에이전트 중심(Agent-centric)’으로의 전환을 상징한다. 이제 중요한 것은 모델의 파라미터 크기뿐만 아니라, 모델이 스스로를 얼마나 잘 평가하고 성찰할 수 있느냐는 ‘자기 수정(Self-Correction)’ 능력이다. 이는 해석 가능한 AI(XAI)의 발전에도 크게 기여하며, 블랙박스였던 AI의 사고 과정을 투명하게 들여다볼 수 있는 창을 제공한다.

9.3 향후 전망

Reflexion은 아직 초기 단계의 기술이며, 향후 다음과 같은 방향으로 발전할 것으로 전망된다.

  1. 자동화된 평가자의 고도화: 정답이 없는 개방형 과제(Open-ended Task)에서도 신뢰할 수 있는 평가 모델을 구축하는 것.
  2. 다중 에이전트 협업: 단일 에이전트의 성찰을 넘어, 여러 에이전트가 서로를 비평하고 교정하는 사회적 성찰(Social Reflection) 시스템으로의 확장.17
  3. 안전성 및 정렬(Alignment): 성찰 과정을 통해 에이전트가 유해한 행동을 스스로 억제하고 인간의 가치에 부합하도록 유도하는 연구.3

결론적으로, Reflexion은 LLM을 단순한 텍스트 생성기에서 자율적으로 학습하고 진화하는 지능형 에이전트로 진보시키는 핵심적인 가교 기술(Bridge Technology)이다. 이 프레임워크의 지속적인 발전은 향후 AGI(범용 인공지능)를 향한 여정에서 필수적인 이정표가 될 것이다.

10. 참고 자료

  1. Reflexion: Language Agents with Verbal Reinforcement Learning - OpenReview, https://openreview.net/pdf?id=vAElhFcKW6
  2. A New Era of AI Learning: Reflexion’s Path to Smarter Systems | by Tarun Singh | Medium, https://medium.com/@krtarunsingh/a-new-era-of-ai-learning-reflexions-path-to-smarter-systems-49bf6a5881c3
  3. Reflexion: Actor, Evaluator and Reflector Agents | by Rosie Faulkner | Nov, 2025 | Medium, https://medium.com/@faulknerproject/reflexion-actor-evaluator-and-reflector-agents-12dc26979de6
  4. [2303.11366] Reflexion: Language Agents with Verbal Reinforcement Learning - arXiv, https://arxiv.org/abs/2303.11366
  5. Reflexion | Prompt Engineering Guide, https://www.promptingguide.ai/techniques/reflexion
  6. Building a Self-Correcting AI: A Deep Dive into the Reflexion Agent with LangChain and LangGraph | by Vi Q. Ha | Medium, https://medium.com/@vi.ha.engr/building-a-self-correcting-ai-a-deep-dive-into-the-reflexion-agent-with-langchain-and-langgraph-ae2b1ddb8c3b
  7. Reflexion: an autonomous agent with dynamic memory and … - arXiv, https://arxiv.org/html/2303.11366
  8. Reflexion: Agents in Action - Unalarming, https://unalarming.com/reflexion-agents-in-action
  9. [R] Reflexion: an autonomous agent with dynamic memory and self-reflection - Noah Shinn et al 2023 Northeastern University Boston - Outperforms GPT-4 on HumanEval accuracy (0.67 –> 0.88)! : r/MachineLearning - Reddit, https://www.reddit.com/r/MachineLearning/comments/1215dbl/r_reflexion_an_autonomous_agent_with_dynamic/
  10. Reflexion-based GPT-4 significantly outperforms GPT-4 on HumanEval accuracy (0.67 –> 0.88) : r/singularity - Reddit, https://www.reddit.com/r/singularity/comments/1210cl0/reflexionbased_gpt4_significantly_outperforms/
  11. ReAct vs Reflexion: Comparative Analysis of Two Thinking Frameworks - AIProtocolsHub, https://aiprotocolshub.com/blog/react-vs-reflexion
  12. Reflexion vs React performance on WebShop across 100 customer shopping requests., https://www.researchgate.net/figure/Reflexion-vs-React-performance-on-WebShop-across-100-customer-shopping-requests_fig3_369414009
  13. [D] concerns about the series of works in reflexion(self-adjustment)-powered LLM agent, https://www.reddit.com/r/MachineLearning/comments/1am3ior/d_concerns_about_the_series_of_works_in/
  14. Stop LLM Hallucinations: Reduce Errors by 60–80% - Master of Code, https://masterofcode.com/blog/hallucinations-in-llms-what-you-need-to-know-before-integration
  15. From Illusion to Insight: A Taxonomic Survey of Hallucination Mitigation Techniques in LLMs, https://www.mdpi.com/2673-2688/6/10/260
  16. Reflection Agents - LangChain Blog, https://blog.langchain.com/reflection-agents/
  17. Multi-Agent Reflection Frameworks - Emergent Mind, https://www.emergentmind.com/topics/multi-agent-reflection-frameworks