
ReAct 논문 해부: AI가 '생각하면서 행동하기'를 배운 순간
Chain-of-Thought는 생각만 했고, WebGPT는 행동만 했다. 2022년, 프린스턴과 Google의 연구자들이 '생각하면서 행동하기'를 결합했을 때 — 환각률이 56%에서 0%로 떨어졌다. 인지과학의 '내적 언어' 이론부터 2026년 모든 AI 에이전트의 작동 원리가 된 ReAct까지, 논문의 모든 핵심을 풀어본다.

Chain-of-Thought는 생각만 했고, WebGPT는 행동만 했다. 2022년, 프린스턴과 Google의 연구자들이 '생각하면서 행동하기'를 결합했을 때 — 환각률이 56%에서 0%로 떨어졌다. 인지과학의 '내적 언어' 이론부터 2026년 모든 AI 에이전트의 작동 원리가 된 ReAct까지, 논문의 모든 핵심을 풀어본다.

AI에게 복잡한 질문을 한다고 상상해보자: "Apple Remote가 원래 상호작용하도록 설계된 프로그램을 제어할 수 있는 다른 장치는 무엇인가?"
방식 A — 혼자 생각하기 (Chain-of-Thought): AI가 내부 지식만으로 추론한다. "Apple Remote는 Apple TV와 상호작용하도록 설계되었으니... Apple TV를 제어할 수 있는 장치는 iPhone, iPad, iPod Touch겠지." 자신감 있지만 틀렸다. Apple Remote는 Apple TV가 아니라 Front Row 소프트웨어용이었다.
방식 B — 생각하면서 검색하기 (ReAct): AI가 먼저 생각한다: "Apple Remote가 원래 어떤 프로그램과 상호작용하도록 설계됐는지 검색해야겠다." → Wikipedia 검색 → "Front Row 미디어 센터 프로그램을 제어하도록 설계" 발견 → "이제 Front Row를 제어할 수 있는 다른 장치를 찾아야겠다" → 다시 검색 → "키보드 기능 키" 발견 → 정답.

방식 A의 환각률: 56%. 방식 B의 환각률: 0%.
이것이 ReAct 논문의 핵심이다. 그리고 이 "생각하면서 행동하기" 루프가 2026년 현재 모든 AI 에이전트의 작동 원리가 되었다 — Claude Code, Cursor, Devin, ChatGPT 에이전트 모두.
ReAct 논문은 AI 논문치고는 드물게 인지과학에서 출발한다. 서론의 첫 문장이 이렇다:
"인간 지능의 고유한 특징은 과제 지향적 행동과 언어적 추론(또는 내적 언어)을 매끄럽게 결합하는 능력이다."
여기서 내적 언어(inner speech)란 소련의 심리학자 레프 비고츠키(Lev Vygotsky)가 1934년 Thinking and Speech에서 제안한 개념이다. 어린이가 블록을 쌓으면서 "이건 여기에 놓고... 아, 이건 안 맞네... 이걸 먼저 해야겠다"라고 소리 내어 말하는 것을 관찰한 그는, 이런 자기 지시적 언어(egocentric speech)가 성장하면서 내면화되어 내적 언어가 된다고 주장했다.
비고츠키의 후계자 알렉산드르 루리아(Luria, 1965)는 이 내적 언어가 자기 조절(self-regulation)의 핵심 도구라고 발전시켰다. 우리가 복잡한 문제를 풀 때 머릿속으로 "지금 여기까지 했고, 다음에는 이걸 해야 하고, 이 부분이 좀 이상한데..."라고 독백하는 것 — 이것이 바로 내적 언어이며, 인간이 행동 사이사이에 사고를 삽입하는 메커니즘이다.
또한 앨런 배들리(Baddeley, 1992)의 작업 기억(working memory) 이론도 중요하다. 인간의 작업 기억은 용량이 제한되어 있지만, 언어적 리허설(내적 언어로 정보를 반복)을 통해 이를 유지하고 조작한다. ReAct에서 "Thought" 단계가 정확히 이 역할을 한다 — 현재까지의 맥락을 언어로 정리하여 작업 기억을 유지하는 것이다.
논문은 이 인지과학적 통찰을 직관적인 비유로 풀어낸다:
"주방에서 요리를 하는 경우를 생각해보자. 구체적인 행동 사이사이에 우리는 언어로 추론한다 — 진행 추적('재료를 다 썰었으니 물을 끓여야겠다'), 예외 처리('소금이 없으니 간장과 후추를 대신 쓰자'), 외부 정보 필요성 인식('반죽은 어떻게 만들지? 인터넷에서 찾아보자'). 또한 행동을 통해 추론을 지원하기도 한다 — 요리책을 펼쳐보거나 냉장고를 열어 재료를 확인하여 '지금 뭘 만들 수 있지?'라는 질문에 답한다."
이 비유가 중요한 이유는, 행동과 사고가 일방향이 아니라 양방향이라는 것을 보여주기 때문이다:
2022년까지 AI는 이 양방향 시너지를 구현하지 못했다. 생각만 하거나(CoT), 행동만 하거나(WebGPT).
2022년 1월, Jason Wei 등 Google Brain 연구자들이 Chain-of-Thought(CoT) 프롬프팅을 발표했다. 프롬프트에 추론 단계를 보여주면 LLM이 복잡한 추론을 수행할 수 있다는 발견이었다. GPT-3 글에서 다뤘듯, PaLM-540B에 CoT 예시 8개만 넣으면 GSM8K 수학 벤치마크에서 SOTA 달성.
하지만 치명적 한계가 있었다. ReAct 논문의 표현:
"CoT 추론은 정적 블랙박스다. 모델이 자체 내부 표현을 사용하여 사고를 생성하며 외부 세계에 근거하지 않아, 반응적으로 추론하거나 지식을 업데이트하는 능력이 제한된다."
쉽게 말해: 머릿속으로만 생각하면서 도서관에 가서 확인하지 않는 학생과 같다. 자기 기억이 맞다고 확신하지만, 기억이 틀릴 수 있다.
반대편에는 행동만 하는 접근법들이 있었다:
| 모델 | 무엇을 했나 | 무엇이 부족했나 |
|---|---|---|
| WebGPT (OpenAI, 2021) | 웹 검색 + 인간 피드백 | 명시적 추론 과정 없음 |
| SayCan (Google, 2022) | 로봇 행동 + 물리적 제약 | 추상적 목표 추론 없음 |
| MRKL (AI21, 2022) | 모듈형 도구 호출 | 고수준 계획 없음 |
이들은 도구를 사용했지만, 왜 그 도구를 사용하는지, 결과를 어떻게 해석하는지 추론하지 않았다. 작업 기억(working memory)도 없었고, 고수준 목표를 유지하지도 못했다.
Shunyu Yao는 이후 Tree of Thoughts(NeurIPS 2023, Game of 24에서 GPT-4 CoT 4% → 74% 달성)와 Reflexion의 공저자가 되었고, 이후 OpenAI에 합류했다.
ReAct의 수학적 정의는 놀랍도록 단순하다. 에이전트가 환경과 상호작용할 때, 원래 행동 공간 (검색, 클릭, 답변 등)에 **언어 공간 **을 합친다:
언어 공간 에 속하는 행동 — 논문은 이를 사고(thought) 또는 추론 흔적(reasoning trace)이라 부른다 — 은 환경에 영향을 주지 않는다. 관찰 피드백도 생성하지 않는다. 대신 현재 맥락에서 유용한 정보를 추론하여 미래의 추론이나 행동을 지원한다.
이것이 핵심이다. 기존 에이전트의 행동 공간은 뿐이었다. 검색, 클릭, 답변. 생각이 행동의 선택지에 포함되지 않았다. ReAct는 "생각한다"를 정식 행동으로 격상시킨 것이다.
핵심 시너지: 추론이 행동을 돕고, 행동이 추론을 돕는다.
놀라운 점: ReAct는 모델의 가중치를 전혀 바꾸지 않는다. 동결된 PaLM-540B에 Few-Shot 예시만 프롬프트에 넣어준다. HotPotQA에 6개, FEVER에 3개, ALFWorld에 과제 유형당 3개의 인간 작성 궤적이 전부다.
논문이 식별한 유용한 사고의 유형:
흥미로운 설계 선택이 있다. 논문은 과제 유형에 따라 사고의 밀도를 다르게 설정한다:
비유하면, 수학 풀이에서는 매 줄마다 검산하지만, 요리를 하면서 양파를 자를 때까지 매 초마다 "나는 지금 양파를 자르고 있다"라고 생각하지는 않는 것이다. 하위 목표가 전환되는 시점에서만 — "양파 다 잘랐으니 이제 팬을 달구자" — 생각이 삽입된다.
논문이 설계한 Wikipedia API 도구도 주목할 만하다:
| 액션 | 설명 | 해당되는 인간 행동 |
|---|---|---|
search[entity] | 엔티티의 위키 페이지 첫 5문장 반환 (없으면 유사 항목 5개 제안) | Wikipedia에서 검색 |
lookup[string] | 현재 페이지에서 문자열이 포함된 다음 문장 반환 | Ctrl+F로 페이지 내 검색 |
finish[answer] | 답변을 제출하고 종료 | 최종 답변 작성 |
논문은 이 도구가 최신 검색 기술보다 훨씬 약하다고 명시한다. 의도적이다. 목적은 "인간이 Wikipedia와 상호작용하는 방식을 시뮬레이션하고, 모델이 언어적 추론을 통해 명시적으로 검색하도록 강제하는 것"이다. 강력한 도구로 성능을 올리는 것이 아니라, 추론과 행동의 시너지를 순수하게 측정하려는 설계 의도다.
ReAct 단독은 CoT보다 약간 낮지만(27.4 vs 29.4), 둘을 결합하면 최고 성능(35.1)을 달성한다.
그러나 진짜 혁명적 결과는 환각률이다:
200개 HotPotQA 궤적의 인간 분석에서, CoT의 주요 실패 원인이 환각(56%)인 반면, ReAct의 환각은 0%. ReAct의 주요 실패 원인은 "추론 오류(47%)" — 이전 생각과 행동을 반복하며 다음 적절한 행동을 추론하지 못하는 것과, "검색 결과 오류(23%)"였다.
이 결과에서 핵심적인 통찰이 나온다. ReAct는 사실적이지만 덜 유연하고, CoT는 유연하지만 환각한다.
논문의 분석:
"추론, 행동, 관찰 단계를 교차하는 구조적 제약이 ReAct의 근거성과 신뢰성을 높이지만, 동시에 추론 단계를 자유롭게 구성하는 유연성을 줄여 CoT보다 추론 오류율이 높아진다."
ReAct에서 특히 빈번한 오류 패턴은 반복 루프다 — 모델이 이전 생각과 행동을 그대로 반복하며 빠져나오지 못하는 것. 논문은 이것이 탐욕적 디코딩(greedy decoding)의 한계일 수 있으며, 빔 서치 같은 더 나은 디코딩이 도움될 수 있다고 추측한다.
FEVER(사실 검증) 과제에서 ReAct가 CoT를 더 확실히 이긴 이유(60.9 vs 56.3)를 논문은 이렇게 설명한다:
"FEVER 주장에서 SUPPORTS와 REFUTES는 아주 미세한 차이로 갈릴 수 있어, 행동을 통해 정확하고 최신의 지식을 검색하는 것이 결정적이다."
구체적 예를 보자:
연도, 수치, 고유명사 — 이런 "사소하지만 결정적인" 사실에서 CoT는 자기 기억에 의존해 틀리고, ReAct는 검색으로 확인해서 맞힌다.
논문은 ReAct와 CoT를 상호 보완적으로 결합하는 두 가지 전략을 제안한다:
전략 A — ReAct → CoT-SC: ReAct가 제한 단계(HotpotQA 7단계, FEVER 5단계) 내에 답을 못 내면, CoT-SC(Self-Consistency, 21개 샘플 다수결)로 전환한다. "검색이 안 통하면 내부 지식에 의존하자."
전략 B — CoT-SC → ReAct: CoT-SC 21개 샘플에서 다수결 답이 절반도 안 되면(즉, 내부 지식이 불확실하면), ReAct로 전환한다. "내부 지식으로 확신이 안 서면 검색해보자."
주목할 점: 두 결합 전략 모두 CoT-SC 21개 샘플의 성능을 단 3~5개 샘플로 달성한다. 연산 효율에서도 압도적이다.
FEVER에서는 "내부 지식이 불확실할 때 검색"(전략 B)이, HotpotQA에서는 "검색이 실패할 때 내부 지식"(전략 A)이 최고. 이것이 두 지식 소스를 적재적소에 활용하는 것의 가치를 증명한다.
흥미로운 부수 발견이 있다. HotpotQA의 일부 문제에서 데이터셋 레이블 자체가 오래되어 틀린 경우가 있었다. 예를 들어 호텔의 규모를 묻는 질문에서, 데이터셋 구축 이후 호텔이 확장되었을 때:
논문은 이를 근거로, 인터넷 기반 언어 모델(WebGPT 등)에 추론 능력을 통합하면 최신 정보 활용이 크게 개선될 것이라고 제안한다.
ALFWorld의 에이전트 궤적(trajectory) 비교를 통해, 사고의 유무가 어떤 차이를 만드는지 구체적으로 보자.
과제: "깨끗한 칼을 조리대에 놓아라" (칼을 찾고, 세척하고, 조리대에 배치)
Act only 에이전트는 "먼저 싱크대로 이동해야 한다"는 상식적 추론을 하지 못해 같은 실패를 무한 반복한다. ReAct는 "싱크대로 가자"라는 사고 하나로 이 함정을 피한다.
논문은 ReAct 이전에 가장 유사했던 접근법인 Inner Monologue(IM, Huang et al., 2022)와의 차이를 엄밀히 분석한다. IM은 로봇 에이전트에 "내면의 독백"을 추가했지만, 그 독백은 사실 (1) 현재 하위 목표가 무엇인지와 (2) 환경 상태의 재확인만으로 제한되었다.
논문의 날카로운 비판:
"Inner Monologue는 진정한 내면의 사고를 포함하지 않는다"
ReAct-IM(IM 스타일로 제한된 사고)과 ReAct를 비교한 실험 결과:
18%p 차이. 핵심 차이는 무엇인가?
ReAct-IM이 못하는 것들:
이것은 중요한 시사점이다. 외부 환경의 피드백을 반복하는 것(IM)과 내부적으로 추론하는 것(ReAct)은 근본적으로 다르다. 전자는 반응적(reactive)이고, 후자는 전략적(deliberative)이다.
WebShop은 118만 개의 실제 Amazon 상품과 1.2만 건의 구매 지시로 구성된 벤치마크다. ReAct가 "노이즈가 많은 현실 환경"에서도 작동하는지를 검증한다.
예시 과제: "16팩 사과 시나몬 맛 동결건조 바나나칩, $50 미만"
Act only가 0.125점(8개 조건 중 1개만 충족)을 받는 반면, ReAct는 만점. 핵심은 "이 상품이 조건에 맞는가?"라는 추론 단계 — 관찰(상품 정보)과 지시(구매 조건)를 비교하는 사고가 있느냐 없느냐의 차이다.
프롬프팅만으로는 한계가 있다. PaLM-540B처럼 거대한 모델이어야 몇 개의 예시만으로 ReAct 패턴을 따를 수 있다. 논문은 이를 넘어서기 위해 파인튜닝 실험을 수행한다.
방법: ReAct 프롬프팅으로 PaLM-540B가 생성한 궤적 중 정답을 맞힌 3,000개를 수집하여, 더 작은 모델(PaLM-8B, PaLM-62B)을 파인튜닝한다. 일종의 부트스트래핑(bootstrapping) — 큰 모델의 성공적 행동을 작은 모델이 배운다.
결과는 놀라웠다:
핵심 발견:
이 결과는 2026년의 관점에서 예언적이다. 2024-25년의 "작은 추론 모델" 트렌드 — DeepSeek-R1 증류, Qwen-2.5 시리즈, Phi 시리즈 — 가 정확히 이 방향이다.
논문의 부록에 매우 흥미로운 실험이 있다. ALFWorld에서 ReAct가 실패할 때, 인간이 사고(Thought)만 편집하여 성공으로 이끄는 것이다.
실패한 ReAct 궤적에서 딱 2개의 사고만 수정하자 — 환각된 문장을 삭제하고 힌트를 추가 — 에이전트가 완전히 다른 행동 패턴을 보이며 과제를 성공했다.
논문은 이를 "모델의 내부 신념, 추론 스타일, 또는 유연한 사고 공간이 지원하는 무엇이든 수정할 수 있다"고 표현하며, 인간-AI 정렬(alignment)의 새로운 패러다임이 될 수 있다고 전망한다. 사고가 투명하게 드러나므로 인간이 AI의 판단 근거를 검사(inspect)하고, 잘못된 부분만 정밀하게 교정할 수 있다.
언제 뭘 쓰는가:
ReAct의 Thought-Action-Observation 루프는 사실상 모든 현대 AI 에이전트의 작동 원리가 되었다:
LangChain: 최초의 ReAct 에이전트 구현. zero-shot-react-description이 플래그십 에이전트 타입. 시스템 프롬프트: "You run in a loop of Thought, Action, PAUSE, Observation."
Claude Code: Anthropic의 가이드: "LLM이 자신의 프로세스와 도구 사용을 동적으로 지시." 실행 흐름: 입력 → 어떤 도구를 사용할지 추론 → 실행 → 결과 관찰 → 계속.
OpenAI Function Calling (2023.6): ReAct의 Action 단계를 API 제품으로 만든 것. 자유형 텍스트 대신 구조화된 JSON으로 함수와 파라미터를 출력.
MCP (2024.11): Anthropic이 발표한 에이전트-도구 연결 오픈 표준. ReAct의 Action 단계를 표준화한 것 — 각 에이전트가 커스텀 도구 통합 대신 범용 프로토콜 사용.
기본 RAG(Retrieval-Augmented Generation)는 사실 단일 사이클 ReAct다:
Agentic RAG는 이것을 다중 사이클 ReAct로 확장한 것: 에이전트가 무엇이 부족한지 추론하고, 검색 쿼리를 수립하고, 검색하고, 결과를 관찰하고, 정보가 충분한지 추론하고, 필요하면 다시 검색.
논문의 HotPotQA 예시가 이것을 직접 보여준다: "Front Row" 검색 실패 → "Front Row (software)"로 재검색. 이 적응적 검색 전략은 정적 RAG에서는 불가능하다.
ReAct 에이전트의 가장 큰 보안 위험: Observation 단계가 외부의 신뢰할 수 없는 데이터를 모델 컨텍스트에 주입한다.
Greshake et al. (2023.2)이 시연한 것:
HITL 글에서 다뤘듯, ReAct 루프의 각 단계에는 오류 확률이 있고, 다단계 에이전트에서 이 확률은 곱해진다.
완화 전략: 위험한 행동에 사용자 확인 요구, 최소 권한 원칙 적용, 모든 LLM 응답을 비신뢰 데이터로 취급, 도구 설계에 오류 방지(poka-yoke) 원칙 적용.
이 논문의 여정을 돌아보면 놀라운 연결고리가 보인다.
1934년, 비고츠키는 아이들이 블록을 쌓으면서 독백하는 것을 관찰하고, 언어가 행동을 안내하는 인지 도구라고 주장했다. 1971년, STRIPS는 로봇이 "전제 조건 확인 → 행동 → 상태 갱신"의 루프로 세계와 상호작용하게 만들었다. 2022년, ReAct는 이 두 전통을 LLM 안에서 통합했다. — 행동 공간에 언어를 추가하는 한 줄의 수식이, 반세기에 걸친 인지과학과 AI 연구를 하나로 엮은 것이다.
ReAct 논문이 증명한 것:
2026년 현재, 이 교훈들은 모든 AI 에이전트 시스템에 내장되어 있다. Claude Code가 파일을 읽고 코드를 수정할 때, Cursor가 테스트를 실행하고 오류를 분석할 때, ChatGPT가 웹을 검색하고 결과를 종합할 때 — 그 안에서 작동하는 것은 2022년 프린스턴과 Google의 연구자 7명이 만든 Thought-Action-Observation 루프다.
그리고 그 루프의 뿌리에는, 90년 전 아이들의 독백을 관찰하던 심리학자의 통찰이 있다. 인간은 원래 생각하면서 행동하는 존재이고, AI도 그렇게 해야 비로소 제대로 작동한다.
참고 논문: Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao. "ReAct: Synergizing Reasoning and Acting in Language Models." ICLR 2023. arXiv:2210.03629
프로젝트 페이지 및 코드: react-lm.github.io