ReAct

ReAct(Reasoning and Acting, 추론 및 행동)는 거대 언어 모델(LLM)이 복잡한 작업을 수행할 때 ‘논리적 추론(Reasoning)‘과 외부 환경과의 ‘상호작용적 행동(Acting)‘을 교차로 수행하도록 유도하는 프롬프팅 기법이자 AI 에이전트 설계 패턴이다. 프린스턴 대학교와 구글 리서치 연구진에 의해 처음 제안되었다.

이 패턴은 모델이 단순히 학습된 가중치 내부의 지식에만 의존하지 않도록 만든다. 모델은 스스로 현재 상황을 분석하여 계획을 세우고(Thought), 필요한 정보를 구하기 위해 외부 도구(웹 검색, 데이터베이스 쿼리, API 호출 등)를 실행하며(Action), 그 결과를 바탕으로 새로운 정보를 인지하는(Observation) 순환(Loop) 과정을 정답을 도출할 때까지 반복한다.

LLM의 성능을 향상시키기 위해 발전해 온 대표적인 프롬프팅 및 실행 패턴들의 특징과 한계를 비교하면 다음과 같다.

적용 패턴핵심 메커니즘외부 도구 연동 여부주요 특징 및 한계점
표준 프롬프팅 (Standard Prompting)주어진 지시에 따라 즉각적으로 최종 답변을 생성함불가능 (내부 지식만 활용)처리 속도가 빠르고 비용이 적으나, 논리적 연산이 필요한 복잡한 문제나 최신 정보가 요구되는 작업에서 할루시네이션(환각)을 쉽게 유발함
CoT (Chain-of-Thought)“단계별로 생각해보자”라는 지시를 통해 최종 답변 전 중간 추론 과정을 텍스트로 생성함불가능 (내부 지식만 활용)모델의 수학적, 논리적 문제 해결 능력은 크게 향상되나, 여전히 외부 세계의 사실을 열람할 수 없어 잘못된 전제에서 추론을 시작하면 오답에 도달함
ReAct (Reasoning + Acting)Thought(생각) → Action(도구 실행) → Observation(결과 관찰)의 루프를 반복하여 답변을 도출함가능 (검색 엔진, API, 코드 실행기 등)외부 데이터를 적극 수용하여 정보의 신뢰도와 정확성을 극대화하지만, 여러 번의 모델 호출이 발생하므로 지연 시간(Latency)과 토큰 사용 비용이 대폭 증가함

출처 (Sources):

Entities