coredot.today
ReAct 논문 해부: AI가 '생각하면서 행동하기'를 배운 순간
블로그로 돌아가기
ReActAI 에이전트도구 사용RAG환각 방지

ReAct 논문 해부: AI가 '생각하면서 행동하기'를 배운 순간

Chain-of-Thought는 생각만 했고, WebGPT는 행동만 했다. 2022년, 프린스턴과 Google의 연구자들이 '생각하면서 행동하기'를 결합했을 때 — 환각률이 56%에서 0%로 떨어졌다. 모든 AI 에이전트의 원형이 된 ReAct 논문을 해부한다.

코어닷투데이2026-03-0127

들어가며: 탐정 로봇의 두 가지 방식

ReAct: 생각하고 검색하고 관찰하는 AI 탐정

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를 제어할 수 있는 다른 장치를 찾아야겠다" → 다시 검색 → "키보드 기능 키" 발견 → 정답.

환각 vs 근거 있는 추론

방식 A의 환각률: 56%. 방식 B의 환각률: 0%.

이것이 ReAct 논문의 핵심이다. 그리고 이 "생각하면서 행동하기" 루프가 2026년 현재 모든 AI 에이전트의 작동 원리가 되었다 — Claude Code, Cursor, Devin, ChatGPT 에이전트 모두.


제1장: 왜 ReAct가 필요했는가 — 생각과 행동의 분리

Chain-of-Thought: 생각만 하고 현실을 무시

2022년 1월, Jason Wei 등 Google Brain 연구자들이 Chain-of-Thought(CoT) 프롬프팅을 발표했다. 프롬프트에 추론 단계를 보여주면 LLM이 복잡한 추론을 수행할 수 있다는 발견이었다. GPT-3 글에서 다뤘듯, PaLM-540B에 CoT 예시 8개만 넣으면 GSM8K 수학 벤치마크에서 SOTA 달성.

하지만 치명적 한계가 있었다. ReAct 논문의 표현:

"CoT 추론은 정적 블랙박스다. 모델이 자체 내부 표현을 사용하여 사고를 생성하며 외부 세계에 근거하지 않아, 반응적으로 추론하거나 지식을 업데이트하는 능력이 제한된다."

쉽게 말해: 머릿속으로만 생각하면서 도서관에 가서 확인하지 않는 학생과 같다. 자기 기억이 맞다고 확신하지만, 기억이 틀릴 수 있다.

행동만 하고 생각하지 않는 AI

반대편에는 행동만 하는 접근법들이 있었다:

모델무엇을 했나무엇이 부족했나
WebGPT (OpenAI, 2021)웹 검색 + 인간 피드백명시적 추론 과정 없음
SayCan (Google, 2022)로봇 행동 + 물리적 제약추상적 목표 추론 없음
MRKL (AI21, 2022)모듈형 도구 호출고수준 계획 없음

이들은 도구를 사용했지만, 왜 그 도구를 사용하는지, 결과를 어떻게 해석하는지 추론하지 않았다. 작업 기억(working memory)도 없었고, 고수준 목표를 유지하지도 못했다.

💡
2022년의 간극: AI는 생각하거나(CoT) 행동하거나(WebGPT, SayCan) 둘 중 하나만 할 수 있었다. 생각과 행동을 교차로 수행하는 — 인간이 자연스럽게 하는 것 — 시스템은 없었다.

제2장: ReAct 논문 — "생각하면서 행동하기"

논문 기본 정보

  • 제목: ReAct: Synergizing Reasoning and Acting in Language Models
  • 저자: Shunyu Yao (Princeton), Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran (Google Brain), Karthik Narasimhan (Princeton), Yuan Cao (Google Brain)
  • 발표: ICLR 2023 (arXiv 2022년 10월 6일)
  • 모델: PaLM-540B (주 실험), GPT-3 (부록)
  • 인용: 3,000회+ (2026년 기준)

Shunyu Yao는 이후 Tree of Thoughts(NeurIPS 2023, Game of 24에서 GPT-4 CoT 4% → 74% 달성)와 Reflexion의 공저자가 되었고, 이후 OpenAI에 합류했다.

Thought-Action-Observation 루프

ReAct의 핵심 아이디어: 에이전트의 행동 공간에 "사고(Thought)"를 추가한다. 사고는 환경에 영향을 주지 않고, 관찰 피드백도 생성하지 않는다. 대신 현재 맥락에서 유용한 정보를 추론하여 미래의 추론이나 행동을 지원한다.

ReAct: Thought → Action → Observation 루프 ⟳ LOOP
Thought 1Apple Remote가 원래 어떤 프로그램과 상호작용하도록 설계됐는지 검색해야 한다
Action 1Search[Apple Remote]
Observation 1Apple Remote는 2005년 도입된 리모컨... Front Row 미디어 센터 프로그램을 제어하도록 설계...
Thought 2Apple Remote는 Front Row를 제어하도록 설계됐다. Front Row를 제어할 수 있는 다른 장치를 찾아야 한다
Action 2Search[Front Row]
Observation 2[Front Row]를 찾을 수 없음. 유사: ["Front Row (software)"...]
Thought 3Front Row를 찾지 못했다. Front Row (software)로 검색해야 한다
Action 3Search[Front Row (software)]
Observation 3Front Row는 단종된 미디어 센터 소프트웨어... Apple Remote 또는 키보드 기능 키로 제어...
Thought 4Front Row는 Apple Remote 또는 키보드 기능 키로 제어된다. 답은 키보드 기능 키!
Action 4Finish[keyboard function keys] ✓ 정답!

핵심 시너지: 추론이 행동을 돕고, 행동이 추론을 돕는다.

  • 추론 → 행동: 목표 분해, 진행 추적, 예외 처리, 다음에 무엇을 검색할지 결정
  • 행동 → 추론: 실제 정보로 추론을 근거(grounding), 환각 방지, 새 데이터 제공

프롬프트 기반 — 학습 불필요

놀라운 점: ReAct는 모델의 가중치를 전혀 바꾸지 않는다. 동결된 PaLM-540B에 Few-Shot 예시만 프롬프트에 넣어준다. HotPotQA에 6개, FEVER에 3개, ALFWorld에 과제 유형당 3개의 인간 작성 궤적이 전부다.

논문이 식별한 유용한 사고의 유형:

  • 과제 목표 분해 및 행동 계획 수립
  • 과제 해결에 관련된 상식 지식 주입
  • 관찰에서 중요한 부분 추출
  • 진행 상황 추적 및 행동 계획 전환
  • 예외 처리 및 행동 계획 조정
  • 산술 추론 수행

제3장: 실험 결과 — 환각 56% vs 0%

지식 집약적 추론: HotPotQA & FEVER

HotPotQA 정확도 (EM) — PaLM-540B
Standard
28.7
CoT
29.4
Act only
25.7
ReAct
27.4
ReAct→CoT-SC
35.1 🏆

ReAct 단독은 CoT보다 약간 낮지만(27.4 vs 29.4), 둘을 결합하면 최고 성능(35.1)을 달성한다.

그러나 진짜 혁명적 결과는 환각률이다:

56% CoT 환각 실패율 오류의 과반수가 사실 날조
0% ReAct 환각 실패율 환각 오류 완전 제거
14% CoT 거짓 양성 정답이지만 환각된 추론
6% ReAct 거짓 양성 환각 없이도 낮은 거짓 양성

200개 HotPotQA 궤적의 인간 분석에서, CoT의 주요 실패 원인이 **환각(56%)**인 반면, ReAct의 환각은 0%. ReAct의 주요 실패 원인은 "추론 오류(47%)" — 이전 생각과 행동을 반복하며 다음 적절한 행동을 추론하지 못하는 것과, "검색 결과 오류(23%)"였다.

인터랙티브 의사결정: ALFWorld & WebShop

🏠 ALFWorld (가상 가정 환경)
ReAct 최고: 71% (vs Act 45%, BUTLER 37%)
ReAct 최저(48%)도 Act 최고(45%)를 이김
BUTLER는 10만 전문가 궤적으로 학습!
ReAct는 2-shot 프롬프팅만 사용
🛒 WebShop (온라인 쇼핑)
ReAct 성공률: 40% (vs Act 30.1%)
모방학습+RL(10,587건): 28.7%
1-shot 프롬프팅이 만 건 학습을 이김!
인간 전문가: 59.6% (여전히 간극)

제4장: ReAct vs 다른 에이전트 프레임워크

유사 개념 비교

에이전트 프레임워크 비교
CoT 생각만 환각 위험. 내부 지식 충분할 때 적합
ReAct 생각 + 행동 환각 0%. 범용 에이전트의 기본 루프
Reflexion ReAct + 반성 시행착오 학습. HumanEval 91%
Plan-and-Execute 계획 먼저 → 실행 잘 정의된 워크플로우에 적합
LATS 트리 탐색 + ReAct HumanEval 92.7%. 비용 높음
Tree of Thoughts 다중 경로 추론 Game of 24: 74% (CoT 4%)

언제 뭘 쓰는가:

  • ReAct: 도구 사용이 필요한 범용 에이전트 과제
  • CoT: 내부 지식으로 충분한 과제 (수학, 논리)
  • Reflexion: 시행착오 학습이 가능한 과제 (코드 생성)
  • Plan-and-Execute: 예측 가능한 정형 워크플로우
  • LATS: 광범위한 행동 공간 탐색이 필요한 과제

제5장: ReAct의 유산 — 모든 에이전트의 원형

2023~2026: ReAct가 만들어낸 세계

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과의 관계: 검색도 "행동"이다

기본 RAG(Retrieval-Augmented Generation)는 사실 단일 사이클 ReAct다:

Thought (암묵적)"관련 문서를 찾아야 한다"
Action벡터 스토어에서 검색
Observation검색된 문서 청크
Generation검색 결과 기반 응답 생성

Agentic RAG는 이것을 다중 사이클 ReAct로 확장한 것: 에이전트가 무엇이 부족한지 추론하고, 검색 쿼리를 수립하고, 검색하고, 결과를 관찰하고, 정보가 충분한지 추론하고, 필요하면 다시 검색.

논문의 HotPotQA 예시가 이것을 직접 보여준다: "Front Row" 검색 실패 → "Front Row (software)"로 재검색. 이 적응적 검색 전략은 정적 RAG에서는 불가능하다.


제6장: 보안 — ReAct 에이전트의 위험

간접 프롬프트 인젝션: Observation이 공격 벡터

ReAct 에이전트의 가장 큰 보안 위험: Observation 단계가 외부의 신뢰할 수 없는 데이터를 모델 컨텍스트에 주입한다.

Greshake et al. (2023.2)이 시연한 것:

  • 공격자가 웹페이지에 악의적 지시를 숨김 (0크기 폰트)
  • Bing Chat이 그 페이지를 검색(Action)하고 내용을 관찰(Observation)
  • 숨겨진 지시가 에이전트를 "데이터 해적"으로 전환 → 개인정보 유출 시도
⚠️
혼동된 대리인(Confused Deputy) 문제: 에이전트가 사용자의 권한으로 행동하지만, 공격자의 지시를 따르는 상황. 예: 이메일 보조 에이전트가 이메일을 읽고(Action), 악의적 지시가 숨겨진 이메일 내용을 관찰(Observation)하고, 민감한 메일을 공격자에게 전달. 에이전트는 사용자의 이메일 권한을 가지지만 공격자를 위해 행동한다.

복합 신뢰도 문제

HITL 글에서 다뤘듯, ReAct 루프의 각 단계에는 오류 확률이 있고, 다단계 에이전트에서 이 확률은 곱해진다.

완화 전략: 위험한 행동에 사용자 확인 요구, 최소 권한 원칙 적용, 모든 LLM 응답을 비신뢰 데이터로 취급, 도구 설계에 오류 방지(poka-yoke) 원칙 적용.


맺으며: 1971년 STRIPS에서 2022년 ReAct까지

에이전트 AI 특집에서 다뤘듯, ReAct의 "추론 → 행동 → 관찰" 루프는 1971년 STRIPS의 "전제 조건 확인 → 행동 → 상태 갱신"과 구조적으로 동일하다. 51년의 시간차를 두고, 에이전트의 핵심 작동 원리는 변하지 않았다.

변한 것은 기반 기술이다. STRIPS는 형식 논리로, ReAct는 LLM으로 추론한다. STRIPS는 로봇 팔의 제한된 세계에서, ReAct는 Wikipedia와 웹 전체에서 행동한다.

ReAct 논문이 증명한 것:

  1. 생각과 행동의 결합이 환각을 제거한다 (56% → 0%)
  2. 프롬프트 예시 몇 개가 10만 건 학습 데이터를 이긴다 (ALFWorld: 71% vs 37%)
  3. 추론이 행동을 돕고, 행동이 추론을 돕는다 — 이 시너지가 핵심

그리고 이 세 가지 교훈이 2026년 현재 모든 AI 에이전트 시스템에 내장되어 있다. Claude Code가 파일을 읽고 코드를 수정할 때, Cursor가 테스트를 실행하고 오류를 분석할 때, ChatGPT가 웹을 검색하고 결과를 종합할 때 — 그 안에서 작동하는 것은 2022년 프린스턴과 Google의 연구자 7명이 만든 Thought-Action-Observation 루프다.

코어닷투데이의 AI 제품에서도 이 원리는 작동하고 있다. AI 아르스 키오스크가 사용자 의도를 추론하고 적절한 콘텐츠를 선택할 때, 의정지원 AI가 정책 문서를 검색하고 맥락을 분석할 때 — 그것이 ReAct다. 생각하고, 행동하고, 관찰하고, 다시 생각한다.