ReAct: Synergizing Reasoning and Acting in Language Models (ICLR 2023)
Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao
한 줄 요약
ReAct는 LLM이 생각(Thought) 과 행동(Action) 을 번갈아 수행하게 해서,
추론은 더 근거 기반(grounded) 이 되고, 행동은 더 목적 지향적(goal-directed) 이 되도록 만든 프롬프트 패러다임이다.

왜 이 논문이 중요한가
이 논문이 던지는 질문은 단순하다.
- CoT(Chain-of-Thought) 는 “생각”은 잘하지만, 외부 세계와 상호작용하지 못해서 사실을 지어낼 수 있다.
- Act-only 방식은 검색하거나 움직일 수는 있지만, 왜 그 행동을 하는지에 대한 고수준 추론이 약하다.
- 그렇다면 “생각하면서 행동하고, 행동 결과를 다시 생각에 반영하면” 더 강한 에이전트를 만들 수 있지 않을까?
ReAct는 바로 이 질문에 대한 답이다. 핵심은 reason to act 와 act to reason 이다.
먼저 그림으로 이해하기: CoT, Act-only, ReAct의 차이

Figure 1. Standard / CoT / Act-only / ReAct 비교. 위쪽은 HotpotQA, 아래쪽은 ALFWorld 예시이다. (paper Figure 1, p.2)
이 그림 하나가 논문의 핵심을 거의 다 보여준다.
Figure 1에서 봐야 할 포인트
1) Standard
질문을 받고 곧바로 답을 생성한다.
빠르지만, 다단계 추론이나 검색이 필요한 문제에서는 쉽게 틀린다.
2) CoT (Reason Only)
중간 추론을 적어가며 답한다.
문제는 추론 구조는 그럴듯해도 사실 자체를 잘못 알고 있을 수 있다는 점이다.
즉, 생각은 하지만 그 생각을 외부 정보로 검증하지 않는다.
3) Act-only
검색이나 환경 조작은 하지만,
무엇을 왜 검색해야 하는지, 지금 상태에서 다음 행동이 왜 필요한지를 명시적으로 정리하지 못한다.
그래서 반복 루프에 빠지거나, 관찰은 했는데 답을 못 내는 경우가 생긴다.
4) ReAct
Thought -> Action -> Observation의 루프로 움직인다.
- Thought: 지금 무엇을 해야 하는지 계획
- Action: 검색, 클릭, 이동 등 외부 행동 수행
- Observation: 환경이 돌려준 결과 확인
- 다시 Thought: 방금 본 정보를 바탕으로 계획 수정
즉, ReAct는 “생각만 하는 모델”도 아니고, “움직이기만 하는 모델”도 아니다.
생각과 행동을 한 trajectory 안에서 엮는다는 점이 본질이다.
ReAct의 핵심 아이디어
논문은 이를 아주 간단하게 정식화한다.
기존 에이전트의 액션 공간을 A라고 하면, ReAct는 여기에 언어 공간 L을 더해Â = A ∪ L 로 확장한다.
여기서:
Action ∈ A: 실제 환경을 바꾸는 행동
예)search[entity],lookup[string],move,click,buyThought ∈ L: 환경을 직접 바꾸지는 않지만,
현재 문맥을 정리하고 다음 행동을 준비하는 언어적 추론
이때 Thought는 “말뿐인 설명”이 아니라, 다음 행동을 결정하기 위한 작업 메모리(working memory) 역할을 한다.
핵심 구조
Question / State
→ Thought
→ Action
→ Observation
→ Thought
→ Action
→ Observation
→ ...
이 구조 덕분에 모델은 다음을 할 수 있다.
- 문제를 작은 단계로 나눈다.
- 필요한 정보를 찾기 위해 행동한다.
- 행동 결과를 해석한다.
- 계획을 수정하거나 예외 상황에 대응한다.
- 마지막에 답을 종합한다.
이 논문이 제안하는 중요한 설계 포인트
1. 지식 추론 과제에서는 “dense thought”
HotpotQA, FEVER 같은 과제에서는
생각과 행동을 촘촘하게 번갈아 넣는 방식을 사용한다.
이유는 명확하다.
- 무엇을 먼저 검색할지 정해야 하고
- 검색 결과에서 어떤 문장이 중요한지 골라야 하며
- 다음 검색어를 다시 정해야 하기 때문이다.
즉, 검색 자체보다도 검색을 이끄는 추론이 핵심이다.
2. 의사결정 과제에서는 “sparse thought”
ALFWorld, WebShop처럼 행동 스텝이 긴 환경에서는
매번 생각을 출력하기보다, 정말 중요한 지점에서만 생각을 넣는다.
예를 들면:
- 목표를 하위 목표로 분해할 때
- 하위 목표가 끝났는지 판단할 때
- 다음에 어디를 탐색해야 할지 정할 때
- 옵션 중 어떤 것이 instruction과 맞는지 판단할 때
이 점이 꽤 중요하다.
ReAct는 “무조건 많이 생각하게 하는 방식”이 아니라,
과제 구조에 맞게 생각의 밀도를 조절하는 방식이다.
실험 세팅 요약
논문은 4개 벤치마크에서 ReAct를 평가한다.
지식 집약형 추론
- HotpotQA: 여러 위키 문서를 넘나드는 multi-hop QA
- FEVER: claim이 SUPPORTS / REFUTES / NOT ENOUGH INFO 인지 판단
이 두 과제에서는 외부 환경으로 간단한 Wikipedia API를 둔다.
search[entity]lookup[string]finish[answer]
상호작용 의사결정
- ALFWorld: 텍스트 기반 household game
- WebShop: 온라인 쇼핑 웹 환경
주요 결과 1: ReAct는 Act-only보다 확실히 낫다
이건 논문의 가장 일관된 메시지다.
행동만 할 수 있다고 충분하지 않다.
행동을 올바르게 이끌 언어적 추론이 들어가야 성능이 오른다.
HotpotQA / FEVER 결과
| Prompt Method | HotpotQA (EM) | FEVER (Acc) |
|---|---|---|
| Standard | 28.7 | 57.1 |
| CoT | 29.4 | 56.3 |
| CoT-SC | 33.4 | 60.4 |
| Act | 25.7 | 58.9 |
| ReAct | 27.4 | 60.9 |
| CoT-SC → ReAct | 34.2 | 64.6 |
| ReAct → CoT-SC | 35.1 | 62.0 |
이 표에서 읽어야 할 포인트
- Act-only보다 ReAct가 두 과제 모두 우수하다.
- FEVER에서는 ReAct가 CoT보다 낫다.
사실 검증처럼 최신성과 정확성이 중요한 문제에서는 외부 검색이 특히 유리하다. - 하지만 HotpotQA에서는 순수 CoT가 약간 더 낫기도 하다.
이는 ReAct가 더 grounded한 대신, 추론의 자유도는 줄어드는 trade-off 가 있음을 보여준다. - 가장 좋은 성능은 ReAct와 CoT-SC를 결합한 하이브리드에서 나온다.
즉, 내부 지식과 외부 검색을 잘 섞는 것이 가장 강하다.
주요 결과 2: ReAct + CoT-SC 조합은 적은 샘플로도 강하다

Figure 2. CoT-SC 샘플 수가 늘어날수록 성능이 오르지만, ReAct와 결합한 하이브리드는 더 적은 샘플로도 강한 성능을 낸다. (paper Figure 2, p.5)
Figure 2 해석
핵심은 이것이다.
- CoT-SC는 여러 reasoning sample을 뽑아 다수결을 하는 방식이라,
샘플 수가 늘수록 좋아진다. - 그런데 ReAct와 결합한 방식은 3~5개의 샘플만으로도 21-sample CoT-SC 수준에 근접한다.
- 즉, ReAct는 단순히 성능을 조금 올리는 게 아니라,
내부 추론을 더 효율적으로 외부 정보와 연결하는 구조를 제공한다.
주요 결과 3: ReAct는 hallucination을 줄이지만, 다른 비용도 있다
논문은 HotpotQA 예제 일부를 사람이 직접 분석해
ReAct와 CoT의 성공/실패 유형을 비교한다.
사람이 본 failure mode 분석의 핵심
- CoT의 큰 문제는 hallucination
- 실패 원인의 큰 비중이 잘못된 사실 생성에서 나온다.
- ReAct의 장점은 groundedness
- 외부 검색을 거치기 때문에, 더 사실 기반이고 신뢰 가능하다.
- 대신 ReAct는
- 검색이 잘못되면 흐름이 꼬이고
- 반복적으로 같은 step을 생성하는 loop 문제가 생기며
- 추론 구조를 자유롭게 펼치는 유연성은 CoT보다 떨어질 수 있다.
이 부분이 중요하다.
ReAct는 “모든 면에서 CoT를 압도하는 방법”이 아니라,
근거성(factual grounding)과 유연한 추론 사이의 trade-off를 설계적으로 다루는 방법이다.
주요 결과 4: Fine-tuning을 하면 ReAct의 잠재력이 더 크게 열린다

Figure 3. 작은 모델에서는 prompting만으로 ReAct를 잘 따라 하기 어렵지만, fine-tuning을 하면 ReAct가 가장 크게 이득을 본다. (paper Figure 3, p.7)
Figure 3 해석
논문에서 특히 흥미로운 부분이다.
- Prompting만 할 때는 작은 모델(8B, 62B)이 ReAct를 잘 소화하지 못한다.
- 하지만 3,000개의 trajectory로 fine-tuning하면 ReAct가 가장 강한 방식이 된다.
- 논문이 강조하는 포인트:
- 8B finetuned ReAct > 모든 62B prompting 방법
- 62B finetuned ReAct > 모든 540B prompting 방법
즉, ReAct는 단순 프롬프트 트릭에 그치지 않는다.
trajectory supervision의 형태로 학습시켰을 때 더 큰 잠재력을 가진다.
주요 결과 5: 의사결정 과제에서도 ReAct가 강하다
ALFWorld 결과
| Method | Success Rate (%) |
|---|---|
| Act (best of 6) | 45 |
| ReAct (avg) | 57 |
| ReAct (best of 6) | 71 |
| ReAct-IM (best of 6) | 53 |
| BUTLER (best of 8) | 37 |
WebShop 결과
| Method | Score | Success Rate |
|---|---|---|
| Act | 62.3 | 30.1 |
| ReAct | 66.6 | 40.0 |
| IL | 59.9 | 29.1 |
| IL + RL | 62.4 | 28.7 |
| Human Expert | 82.1 | 59.6 |
여기서 핵심은 무엇인가
ALFWorld
ReAct는 단순히 조금 나은 수준이 아니라,
best success rate 기준 45 → 71로 큰 차이를 만든다.
이유는 sparse thought가 다음을 도와주기 때문이다.
- 하위 목표 추적
- 현재 상태 점검
- 다음 탐색 위치 선택
- commonsense 기반 위치 추론
WebShop
ReAct는 noisy한 실제 웹 환경에서도 유효하다.
예를 들어 instruction이
- 특정 색상
- 특정 사이즈
- 특정 가격 조건
을 동시에 요구할 때,
ReAct는 observation을 보고
“이 상품이 어떤 조건을 만족하고, 어떤 옵션을 눌러야 하는지”를 추론한 뒤 행동한다.
즉, ReAct는 검색과 클릭을 잘하는 모델이 아니라,
instruction과 observation 사이의 의미 간극을 reasoning으로 메우는 모델이다.
이 논문이 특히 인상적인 이유 1: 최신 정보 문제를 잘 드러낸다

Figure 4. 데이터셋 정답이 outdated일 때, ReAct는 실제 검색을 통해 더 최신의 답을 낼 수 있다. (paper Figure 4, p.14)
이 예시는 논문의 메시지를 아주 잘 보여준다.
- 데이터셋 정답은 오래되어 틀릴 수 있다.
- CoT는 내부 기억에 기대다 보니 환각하거나 outdated 사실을 낼 수 있다.
- Act-only는 검색은 하지만 reasoning이 부족해 끝까지 못 가기도 한다.
- ReAct는 검색 결과를 해석해 최신 정보로 업데이트된 답을 도출할 수 있다.
이건 오늘날 tool-using agent를 생각할 때도 매우 중요한 포인트다.
정답이 데이터셋에 있는지보다, 현재 세계와 맞는지가 더 중요할 수 있다.
이 논문이 특히 인상적인 이유 2: 사람의 개입이 쉬워진다

Figure 5. 사람이 thought 몇 줄만 수정해도, 에이전트의 이후 행동 전체를 더 바람직하게 바꿀 수 있다. (paper Figure 5, p.15)
이 부분은 블로그에서 꼭 강조할 만하다.
기존 RL 기반 에이전트나 act-only 에이전트는
중간 행동을 조금 수정해도 전체 정책을 바꾸기 어렵다.
반면 ReAct는 reasoning trace가 외부로 드러나기 때문에, 사람은 다음처럼 개입할 수 있다.
- 잘못된 믿음을 지운다.
- 다음 탐색 후보를 힌트로 준다.
- 현재 하위 목표를 다시 명시해 준다.
즉, ReAct는 성능뿐 아니라
해석 가능성(interpretability), 진단 가능성(diagnosability), 제어 가능성(controllability) 을 함께 높인다.
이 논문이 실제로 남긴 메시지
이 논문이 중요한 이유를 한 문장으로 정리하면 다음과 같다.
좋은 LLM 에이전트는 “잘 생각하는 모델”도 아니고, “잘 행동하는 모델”도 아니다.
생각과 행동이 서로를 보정하는 루프를 가진 모델이다.
조금 더 풀어 쓰면 다음과 같다.
1. 추론만으로는 부족하다
CoT는 내부 지식만으로 문제를 풀 때 강하지만,
외부 세계와의 접점이 없으면 사실 오류를 교정하기 어렵다.
2. 행동만으로도 부족하다
검색을 하고 버튼을 누를 수 있어도,
고수준 계획이 없으면 행동은 쉽게 산만해진다.
3. 핵심은 “trajectory design”이다
ReAct는 거대한 아키텍처 변경보다,
Thought / Action / Observation을 어떻게 엮느냐가 중요하다는 점을 보여준다.
4. 이 구조는 이후 에이전트 연구의 출발점이 되었다
ReAct는 이후 tool use, agent, web navigation, planning 계열 연구에서
사실상 기본 패턴처럼 반복해서 등장하는 아이디어가 되었다.
장점 정리
장점
- Grounded reasoning: 외부 정보에 근거한 추론
- Hallucination 감소: CoT 대비 더 사실 기반
- 상호작용 과제에서 강한 성능: ALFWorld, WebShop에서 강함
- 해석 가능성: 왜 그런 행동을 했는지 중간 thought를 통해 볼 수 있음
- 사람 개입 가능성: thought edit로 정책 수정 가능
- 학습 확장성: fine-tuning 시 강력한 잠재력
한계
- 검색 품질 의존성: 검색이 잘못되면 reasoning도 무너질 수 있음
- 반복 루프 문제: 같은 thought/action을 반복하는 failure 존재
- 추론 유연성 trade-off: grounded한 대신 CoT보다 자유롭게 추론하기 어려울 수 있음
- 프롬프트 길이 문제: 복잡한 과제일수록 demonstration이 길어짐
- 당시 실험의 기반 모델이 PaLM-540B 중심: 재현성과 접근성에 제약
블로그에 바로 쓰기 좋은 핵심 문장
핵심 문장 1
ReAct의 본질은 “CoT에 도구를 붙였다”가 아니라,
추론과 행동을 하나의 trajectory 안에서 상호작용하게 만들었다는 데 있다.
핵심 문장 2
CoT는 잘 생각하지만 사실을 지어낼 수 있고,
Act-only는 행동은 하지만 왜 그 행동을 해야 하는지 흔들릴 수 있다.
ReAct는 이 둘의 약점을 서로 보완한다.
핵심 문장 3
ReAct의 가장 큰 장점은 단순 성능 향상보다,
근거 기반 추론과 해석 가능한 에이전트 행동을 동시에 달성했다는 점이다.
핵심 문장 4
지식 추론 과제에서는 dense thought가,
긴 horizon의 상호작용 과제에서는 sparse thought가 더 적합하다.
즉, ReAct는 “많이 생각하게 하는 기법”이 아니라 생각의 위치를 설계하는 기법이다.
핵심 문장 5
ReAct는 사람에게 intermediate reasoning을 보여주기 때문에,
에이전트를 “블랙박스 정책”이 아니라 수정 가능한 작업 파트너로 바꾼다.
3줄 결론
- CoT는 추론은 좋지만 grounding이 약하고, Act-only는 행동은 가능하지만 계획이 약하다.
- ReAct는 Thought-Action-Observation 루프로 이 둘을 결합해 더 신뢰 가능한 문제 해결을 만든다.
- 성능, 해석 가능성, 인간 개입 가능성까지 함께 올렸다는 점에서 에이전트 연구의 중요한 전환점이다.
참고용 인용 정보
- 논문명: ReAct: Synergizing Reasoning and Acting in Language Models
- 학회: ICLR 2023
- 저자: Shunyu Yao et al.
'AI 생성 글 정리 > agent' 카테고리의 다른 글
| Mamba 논문 핵심 정리 (0) | 2026.04.02 |
|---|---|
| Tree of Thoughts 논문 핵심 정리 (0) | 2026.04.02 |
| Graph of Thoughts 논문 정리 (0) | 2026.04.02 |
| MedGemma Technical Report 핵심 정리 (0) | 2026.04.01 |
| Toolformer 논문 핵심 정리 (0) | 2026.04.01 |