[논문 리뷰]REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS

gyoon·2025년 5월 16일

NLP

목록 보기
8/12

💡AI Agent란?


2025년 인공지능 업계에서 가장 주목해야 할 트렌드 중 하나로 AI Agent는 많은 주목을 받고 있다.
많은 기업에서 AI Agent에 대한 기대감을 가지고 있고 투자 규모 역시 확대되고 있다.


그렇다면 AI Agent란 무엇일까?

AI Agent인간의 개입 없이 스스로 복잡한 문제를 해결하고, 상황에 맞는 판단을 내릴 뿐 아니라 목표 달성을 위해 지식 데이터베이스나 웹 검색과 코딩 등 자유자재로 활용할 수 있는 능력을 갖춘 소프트웨어를 말한다.


🔍 AI Agent의 주요 기능


그렇다면 AI Agent의 주요 기능은 무엇이 있을까?

AI Agent의 가장 주요 기능은 추론행동이다. 시간이 지남에 따라 더 많은 기능이 발전하고 있다.

  • 추론: 핵심적인 인지 과정에는 논리와 사용 가능한 정보를 사용해 결론을 도출하고, 추론하고, 문제를 해결하는 과정이 포함된다. 강력한 추론 기능을 갖춘 AI Agent는 데이터를 분석하고 패턴을 식별하며 증거와 컨텍스트를 기반으로 정보에 입각한 결정을 내릴 수 있다.
  • 행동: 결정, 계획 또는 외부 입력을 기반으로 조치를 취하거나 태스크를 수행하는 능력은 AI Agent가 환경과 상호작용하고 목표를 달성하는 데 매우 중요하다.
  • 관찰: AI Agent가 컨텍스트를 이해하고 정보에 입각한 결정을 내리려면 인식 또는 감지를 통해 환경이나 상황 정보를 수집하는 것이 필수적이다.
  • 계획: 목표 달성을 위한 전략적 계획 수립은 지능적인 행동의 핵심 요소이다. 계획 기능을 갖춘 AI 에이전트는 필요한 단계를 파악하고, 잠재적인 작업을 평가하고, 사용 가능한 정보와 원하는 결과를 바탕으로 최선의 작업 과정을 선택할 수 있다.

이 외에도 협업, 자체 조정 등 많은 기능이 새롭게 추가되고 있다.


이번 글에서는 AI Agent의 가장 주요 기능추론과 행동에 대해 다루어 다수의 LLM Agent 설계의 기반이 된 논문을 다뤄보고자 한다.


🔹Abstract


대규모 언어 모델(LLM)은 언어 이해 및 상호작용 기반 의사결정과 같은 다양한 과제에서 인상적인 성능을 보여주고 있다. 그러나 추론 능력(chain-of-thought prompting)과 행동 생성 능력(action plan generation)은 대부분 서로 분리하여 개별적으로 연구되어 왔다.

하지만 본 논문에서 저자는 ReAct 방식을 제안한다.

🔍 ReAct

추론 과정(reasoning traces)과업 특화 행동(task-specific action)을 교차 방식으로 생성하도록 하여, 시너지를 극대화 하는 방법
추론 과정은 모델이 행동 계획을 유도,추적,갱신하고 예외 상황을 처리하는 데 도움을 주며, 반대로 행동은 외부 지식베이스나 환경과 상호작용하여 정보를 획득할 수 있도록 한다.

해당 방식은 기본 SOTA와 비교했을 때 더 뛰어난 성능을 보이고, human interpretability와 trustworthiness 측면에서도 향상된 결과를 나타냈다.


🔹Introduction


human intelligence의 독특한 특징 중 하나는 과업 중심의 행동언어적 추론매끄럽게 결합할 수 있는 능력이다. 이는 자기 조절이나 전략 수립, 그리고 작업 기억의 유지 등 human cognition의 핵심 기능에 중요한 역할을 한다.

예를 들어, 부엌에서 요리를 준비하는 상황을 생각해보자.
우리는 특정 행동들 사이에서, 다음과 같이 언어적 추론을 수행한다.

  • 진행 상황 추적: "모든 재료를 다 썰었으니 이제 물을 끓여야겠다."
  • 계획을 수정하거나 예외 상황 처리: "소금이 없네. 그럼 간장과 후추로 대신해야겠다."
  • 외부 정보가 필요함을 인식할 때: "반죽은 어떻게 만들더라? 인터넷에서 찾아봐야겠다."

반대로 행동을 통해 추론을 지원하거나 의문을 해결하기도 한다.

  • 요리책을 펴본다, 냉장고를 연다, 재료를 확인한다
    : "지금 당장 만들 수 있는 요리는 뭐가 있을까?"

이처럼 추론과 행동이 밀접하게 얽힌 구조는, 인간이 낯선 상황이나 불확실한 정보 하에서도 빠르게 학습하고 안정적인 의사결정을 내릴 수 있게 한다.

최근 연구들은 자율 시스템에서 언어적 추론과 상호작용 기반 의사결정을 결합할 수 있는 가능성을 보여주었다.

한편, 적절하게 프롬프트된 LLM은 산술 계산, 상식 추론, 기호 논리 과제 등에서 다단계 추론 과정을 수행하는 능력을 보여주었다.
그러나 이러한 chain-of-thought 추론은 static black box 형태이다. (모델이 자기 내부 표현만을 사용해 사고를 생성하며, 외부 세계와 연결되어 있지 않음)
→ 이는 모델이 상황에 따라 반응적으로 추론하거나 지식을 업데이트하는 능력을 제한하게 된다. 그 결과, 사실 왜곡이나 오류의 전파 같은 문제가 발생할 수 있다.


저자가 제시하는 ReAct언어 모델이 다양한 언어 추론 및 의사결정 과제를 해결할 수 있도록 추론과 행동을 결합하는 방식이다.

ReAct는 LLM이 추론 경로와 행동을 교차적으로 생성하도록 프롬프트를 구성

  • 이로 인해 모델은 동적인 추론을 통해 고차원 행동 계획을 생성, 유지, 조정할 수 있게 된다. → 행동하기 위한 추론이다.
  • 또한 외부 환경과 상호작용하여 정보 획득도 가능하다. → 추론을 위한 행동이다.

ReAct와 최신 기법들을 다음의 네 가지 다양한 벤치마크에서 실증적으로 평가하였다.

  1. 질문 응답 (HotPotQA, Yang et al., 2018)
  2. 사실 검증 (FEVER, Thorne et al., 2018)
  3. 텍스트 기반 게임 (ALFWorld, Shridhar et al., 2020b)
  4. 웹페이지 내비게이션 (WebShop, Yao et al., 2022)

저자는 단순한 행동 기반 모델들과의 비교를 통해, 희소하면서도 다양한 추론 과정이 의사결정에 있어 중요함을 실험적으로 입증하였다.
또한, 모델의 해석 가능성 / 신뢰성/ 문제 진단 가능성과 같은 추가적 이점을 제공한다.


🔹REACT: SYNERGIZING REASONING + ACTING


일반적으로, 에이전트가 환경과 상호작용하며 과업을 해결하는 상황을 생각해보자. 시간 단계 tt에서, 에이전트는 환경으로부터 관찰 otOo_t \in \mathcal{O}를 받고, policy에 따라 행동 atAa_t \in \mathcal{A}를 수행한다.

이때, 문맥(context)은 ct=(o1,a1,...,ot1,at1,ot)c_t = (o_1, a_1, ..., o_{t-1}, a_{t-1}, o_t)로 구성된다.

그런데 이처럼 문맥 ctc_t에서 행동 ata_t으로의 매핑이 암시적이고 복잡할 경우 policy 학습은 매우 어렵고, 계산적으로도 부담이 크다.

예를들어 Figure 1(1c)의 QA 과제를 수행하는 에이전트는, 질문 및 이전 행동과 관찰의 전체 흐름을 복잡하게 추론해야 하므로 최종 행동(Act 4) 을 올바르게 생성하지 못한다.
또한 Figure 1(2a)의 에이전트는, 문맥으로부터 sinkbasin 1에 peppershaker 1이 존재하지 않는다는 사실을 이해하지 못하여, 잘못된 행동을 반복(hallucination)한다.


ReAct의 핵심 아이디어

A=AL\mathcal{A}' = \mathcal{A} \cup \mathcal{L}
L\mathcal{L}: 언어의 공간이며 언어적 행동 즉, 사고 또는 추론 경로로 간주된다.

ReAct는 행동 공간 A\mathcal{A}를 언어 공간 L\mathcal{L}과 결합하여 다음과 같이 확장한다.

  • 언어적 행동 atLa_t \in \mathcal{L}는 외부 환경에 영향을 미치지 않으므로 관찰 결과를 생성하지 않는다.
  • 이러한 사고(thought)는 현재 문맥 ctc_t에 대한 추론을 통해 유용한 정보를 구성하고, 문맥을 ct+1=(ct,at)c_{t+1} = (c_t, a_t)로 업데이트 → 이후 행동 또는 추론에 도움을 주도록 설계

🔹 Figure 1에 나타난 thought의 예시

  • 과업 목표를 세분화하고 행동 계획을 생성 (2b의 Act 1, 1d의 Thought 1)
  • 상식적 지식을 삽입하여 과업 수행에 활용 (2b의 Act 1)
  • 관찰에서 중요한 정보를 추출 (1d의 Thought 2, 4)
  • 과업 진행 상황을 추적하고 행동 계획을 전환 (2b의 Act 8)
  • 예외 상황을 처리하고 계획을 수정 (1d의 Thought 3) 등

하지만 언어 공간 L\mathcal{L}은 무한(unbounded)하기 때문에, 이러한 확장된 행동 공간에서의 학습은 어렵고, 강력한 언어 사전 지식이 필요하다.


🔹실험 설정 조정

  • 사전학습된 frozen LLM인 PaLM-540B를 사용
  • 몇 개의 few-shot 인컨텍스트 예시를 프롬프트로 제공
  • 과업 해결을 위한 도메인 특화 행동과 자유 형식의 언어적 사고를 모두 생성

→ 각 in-context 예시는, 사람이 수행한 과업 해결 경로를 따라 구성되며, 행동, 사고, 관찰이 포함


🔹과업 유형에 따른 ReAct 설계 차이

  • 추론 중심 과업 (Figure 1(1))
    : Thought와 Action을 교대로 생성하여, 하나의 작업 경로가 [Thought → Action → Observation] 단계로 구성

  • 행동 중심 과업 (Figure 1(2))
    : Thought는 전체 작업 경로 중 중요한 지점에만 드물게 등장(sparse)하면 충분하므로, Thought와 Action의 비동기적 발생 시점은 LLM이 스스로 결정하도록 한다.

🔹ReAct의 특징 정리

  • 직관적이고 설계가 간단
    • ReAct 프롬프트는 사람이 자신의 생각을 말로 덧붙이는 것만으로 구성
    • 특별한 형식 지정, 예시 선택, 사고 설계가 필요하지 않음
    • 과업별 프롬프트 설계는 뒤에 자세히 설명

  • 범용적이고 유연함
    • Thought 공간과 발생 위치가 유연하기 때문에, QA, 사실 검증, 텍스트 게임, 웹 내비게이션 등 다양한 과업에 적용 가능

  • 강력하고 견고함
    • 단 1~6개의 예시만으로도 새로운 과업 인스턴스에 대해 뛰어난 일반화 성능
    • 단순 행동/추론만 사용하는 기존 방식보다 일관되게 우수
    • 3장에서 파인튜닝의 추가 효과, 4장에서 프롬프트 변화에 대한 견고성도 실험적으로 입증

  • 인간 친화적이고 제어 가능함
    • 추론과 행동이 순차적으로 드러나기 때문에 해석 가능
    • 사람은 모델의 추론 근거 및 사실 여부를 쉽게 점검
    • 중간에 사고(thought)를 편집하여 에이전트의 행동을 제어하거나 수정할 수도 있음

🔹KNOWLEDGE-INTENSIVE REASONING TASKS


저자는 먼저 multi-hop 질문 응답과 사실 검증처럼 지식 집약적인 추론 과제부터 실험을 시작한다.
Figure 1(1d)에서 볼 수 있듯이, ReAct는 Wikipedia API와 상호작용하여 추론을 위한 정보를 검색할 수 있고, 반대로 추론을 통해 다음 검색 대상을 결정함으로써 추론과 행동 간의 시너지를 보여준다.


🔻SETUP

🔹 Domains


두 가지 지식 검색 및 추론 과제를 다룬다.

  1. HopPotQA
    → 두 개 이상의 Wikipedia 문단을 기반으로 하는 멀티홉 질문 응답 벤치마크

  1. FEVER
    → 사실 검증 벤치마크. 각 주장은 WIkipedia 문서를 기반으로 SUPPORTS, REFUTES, 또는 NOT ENOUGH INFO로 분류

이 논문에서는 질문만 입력으로 제공하는 환경에서 작업을 수행한다.
모델은 지원 문단 없이 질문/주장만을 입력으로 받고, 자체 지식 또는 외부 지식 검색을 통해 reasoning을 수행해야 한다.


🔹 Action Space


저자는 간단한 Wikipedia API를 구성하여 다음과 같은 3가지 행동을 정의하였다.

  1. search[entitiy]
    해당 엔티티가 존재할 경우, 해당 Wikipedia 페이지의 처음 5개 문장을 반환, 존재하지 않으면 유사한 상위 5개 엔티티 추천

  1. lookup[string]
    해당 문자열이 포함된 페이지에서 다음 문장을 반환

  1. finish[answer]
    현재 과제를 주어진 답변으로 종료

이 행동 공간은 단순히 문서 이름 기반의 일부 문단만 검색 가능하여, 최신의 고성능 검색기보다 훨씬 제한적이다. 그 목적은 인간이 Wikipedia를 사용하는 방식에 가깝게 시뮬레이션하며, 언어 기반 추론을 통해 검색을 유도하는 모델을 강제하는 것이다.


🔻METHOD

🔹 ReAct Prompting


  • HotPotQA: 학습 데이터에서 6개 사례
  • FEVER: 3개 사례를 무작위로 선택
    → 각각 ReAct 형식의 추론-행동-관찰 경로(trajectory)를 수동으로 작성하여 few-shot 프롬프트로 사용.

Figure 1(d)처럼 각 trajectory는 여러 번의 Thought–Action–Observation 단계로 구성되며, 자유 형식의 thought는 다음과 같은 목적에 사용

  • 질문을 하위 문제로 분해
    → “x를 검색하고, y를 찾고, z를 확인해야 해.”
  • 관찰로부터 정보 추출
    → “x는 1844년에 시작됨.”, “이 문단에서는 x에 대해 알 수 없음.”
  • 상식 추론 수행
    → “x는 y가 아니므로, 대신 z일 것이다.”
  • 수치/산술 추론
    → “1844 < 1989”
  • 검색 전략 조정
    → “x 대신 y를 검색해볼까?”
  • 최종 답안 도출
    → “...따라서 답은 x이다.”

🔹 Baselines


ReAct 프롬프트에서 각 요소를 제거해 다음과 같은 baseline 구성

  1. Standard Prompting (Standard)
    모든 Thought, Action, Observation 제거
    → 일반적 zero/few-shot 형태
  2. Chain-of-Thought (CoT)
    Action과 Observation은 제거
    → 추론만 수행하는 베이스라인
    CoT Self-Consistency (CoT-SC) 버전도 포함
    → 21개의 CoT 경로를 생성 후, 다수결로 최종 답 결정
    3. Acting-Only Prompt (Act)
    Thought 제거
    → WebGPT 방식 유사하지만 imitation/강화학습 대신 prompting 기반

🔹 Combining Internal and External Knowledge


ReAct는 보다 사실적이고 근거가 있는 경로를 생성하며, CoT는 추론 구조 구성 능력은 우수하지만 종종 사실 왜곡(hallucination)에 취약함
ReAct + CoT-SC를 결합한 전략


🔹 Finetuning


수작업으로 reasoning trace 및 행동 경로를 대규모로 만들기 어려워서 Zelikman et al. (2022) 방식 참고하여, ReAct가 정답을 맞힌 trajectory 3,000개로 PaLM-8B / 62B를 파인튜닝.


🔻RESULTS AND OBSERVATIONS


🔹 ReAct outperforms Act consistently


ReAct가 Act에 비해 두 벤치마크에서 우월한 성능을 보였고, fine-tuning 결과 도한 reasoning tracesinformed acting에 도움이 된다는 것을 보여주었다.


🔹 ReAct vs. CoT


  • FEVER: ReAct가 CoT보다 우수 (60.9 vs. 56.3)
  • HotPotQA: CoT가 약간 앞섬 (29.4 vs. 27.4)

→ 사실 기반 과제에서는 정확한 정보 검색이 결정적임


🔹 ReAct + CoT-SC perform best for prompting LLMs


Table 1과 Figure 2를 보아 내부 지식 + 외부 지식의 적절한 결합이 이루어진 ReAct + CoT-SC가 가장 우수한 성능을 보였음을 알 수 있다.


🔹 ReAct performs best for fine-tuning


  • 프롬프트만 사용 시 ReAct는 가장 낮은 성능 (이중 추론/행동 학습 어려움 때문)
  • 단 3,000개 예시로 파인튜닝 → ReAct가 4가지 중 최고 성능
    • PaLM-8B finetuned ReAct > PaLM-62B prompting 전부
    • PaLM-62B finetuned ReAct > PaLM-540B prompting 전부
  • 반면 Standard 또는 CoT만 파인튜닝하면 성능 떨어짐
    → 단순히 지식 암기만을 학습시킴
    → 반면 ReAct/Act는 정보 검색 + reasoning 능력을 학습

즉, 현재 prompting 방식만으로는 도메인 특화 SoTA 모델에는 미치지 못하지만, 사람이 작성한 데이터로 파인튜닝을 추가하면 ReAct의 잠재력을 더 끌어낼 수 있을 것이라 기대함.


🔹Conclusion


저자는 이 논문에서 ReAct를 제안하였다. ReAct는 대규모 언어 모델(LLM)에서 추론(reasoning)행동(acting)을 시너지 있게 결합하는 간단하지만 효과적인 방법이다.

HotpotQA에서의 초기 파인튜닝 실험은 유망한 결과를 보여주었지만, 추후 성능 향상을 위해서는 고품질의 인간 주석 데이터로부터의 학습이 필요하다.

ReAct멀티태스크 학습(multi-task training)으로 확장하고, 강화학습(reinforcement learning) 같은 보완적인 학습 패러다임과 결합함으로써, LLM의 잠재력을 더욱 폭넓은 응용 분야에 걸쳐 효과적으로 발휘할 수 있는 더 강력한 에이전트를 구축할 수 있을 것이다.


👀 My thoughts


  • AI Agent에 대해 공부하다 기초적인 논문을 읽으면 좋겠다고 생각해서 읽었는데 생각보다 이해하기 좀 어려워서 나중에 한번 더 읽으면 좋겠다는 생각이 들었다.
  • AI Agent의 기본이 되는 추론과 행동을 교차적으로 수행한다 아이디어의 시작이 되는 논문이라 의미있는 논문 리뷰인 것 같다.

0개의 댓글