Abstract:
- LLM 의 언어 이해 및 의사 결정 능력을 한층 더 높은 수준으로 끌어올리기 위해 ‘추론(reasoning)’과 ‘행동(acting)’을 결합하는 방법을 소개함.
- 기존에는 LLM 의 추론 능력과 행동 계획 능력을 분리해서 다루는 경우가 많았음. 예로 “사고 과정을 자세히 풀어 써서(Chain-of-Thought) 답을 찾는 방식”과, “어떤 툴(tool)을 언제 실행할지 계획하거나, 어떤 액션을 취할지를 결정하는 방식”이 따로 연구된 것.
- 논문에서는 추론 과정(reasoning traces)과 행동 계획(actions)을 서로 연계해서 진행하면 LLM이 더 정확하고 유연하게 문제를 풀 수 있다고 제안하는 것.
- ReAct의 핵심 아이디어는 다음과 같음:
- 추론(Reasoning): 모델이 내부적으로 어떤 단계를 거쳐 결과에 도달할 수 있는지 생각하는 것.
- 행동(Acting): LLM이 외부 지식 베이스(예: Wikipedia API)나 환경(게임, 웹샵 등)에서 필요한 정보를 얻거나 조작하기 위해 액션을 결정하고 실행. LLM 외부의 지식을 얻을 수 있기도 함.
- 이 두 과정을 상호작용시키는 것이 ReAct(Reason + Act) 기법의 핵심임:
- a) LLM이 스스로 생각(추론)을 전개하고,
- b) 해당 추론 결과를 바탕으로 필요한 액션(검색, API 호출 등)을 실행한 뒤
- c) 다시 액션 결과를 토대로 추론을 업데이트하거나 다음 액션을 결정함.
- 이렇게 추론과 행동이 순환 구조로 얽히게 만든다. 이런 추론을 통해 지금 어떤 정보가 부족한지, 혹은 어떤 방향으로 탐색할지를 명확히 하게 되고, 액션을 통해 실제 필요한 정보를 가져와 추론에 반영할 수 있다.
- 이런 매커니즘을 통해 환각을 줄이고, 오류를 줄일 수 있고, 다양한 문제를 해결할 수 있음.
- 기존에 LLM 은 자신이 가진 생각와 상상으로만 해결 방법을 제시하는 것이 가능했지만 다양한 도구를 사용해서 행동함으로써 문제를 해결할 수 있는 실천력을 가지게 된 것.
- ReAct 의 적용 사례는 다음과 같음:
- 질의응답(Question Answering: HotpotQA) & 사실 검증(Fever):
- LLM이 단순히 내부의 지식을 꺼내서 답만 내는 것이 아니라, Wikipedia API와 상호작용하여 추가 정보를 검색하고 그 결과를 추론에 반영함.
- 이를 통해, LLM이 답변을 이끌어내는 과정이 정교해지고(에러 전파 및 환각 감소), 사람이 추론 과정을 쉽게 따라갈 수 있음.
- 인터랙티브 의사결정(Interactive Decision Making): ALFWorld, WebShop:
- ALFWorld, WebShop 는 Agent 가 외부 상황에 상호 작용하면서 적합한 의사결정을 할 수 있는지 평가하는 벤치마크를 말함.
- ALFWorld는 텍스트 기반 환경에서 물건을 찾아서 조작해야 하는 일종의 게임 환경이고, WebShop은 웹상에서 제품을 검색∙구매∙평가하는 작업을 다룸.
- ReAct를 사용하면, 모델이 문제를 해결하기 위해 행동(액션)을 구체적으로 계획하고, 그 결과를 다시 추론으로 되돌려 받아 다음 행동을 결정을 함. 이런 능력을 평가하는 것.
- 기존에 있던 방법들 (강화 학습) 보다 ReAct 가 최대 34% 더 나은 성능을 보여줬음.
- 질의응답(Question Answering: HotpotQA) & 사실 검증(Fever):
Introduction:
- ReAct 의 추론 ↔ 행동’의 순환으로 인해, 새로운 상황에도 유연하게 대처할 수 있다는게 가장 특징. 단순하기 때문에 일반화해서 사용 가능하다.
- 기존 연구의 한계:
- Chain-of-Thought(추론):
- 추론은 할 수 있다는 점은 분명 도움이 됨.
- 근데 이런 추론은 모델 내부에서만 일어나는 정적 추론으로, 외부 환경과 상호작용(새로운 정보 업데이트 등)이 부족해 잘못된 가정(환각)이나 오류가 계속 누적될 수 있음.
- 행동(Planning & Acting):
- LLM을 사용해 텍스트 환경(게임 등)이나 웹 환경에서 목표 달성을 위한 행동을 계획·실행하는 방식이 시도되었음.
- 고차원적 목표 작업을 하는데 뛰어나진 않음.
- Chain-of-Thought(추론):
- 논문에서는 4가지 벤치마크 실험을 통해 ReAct의 우수성을 검증:
- 질의응답(HotPotQA), 사실 검증(Fever)
- 모델이 Wikipedia API와 상호작용해 필요 정보를 얻으며 답변/검증을 함.
- ReAct는 단순 “행동”만 하는 모델보다 성능이 우수하고, CoT(추론) 모델과 비슷하거나 더 좋은 결과를 보임.
- 특히 ReAct + CoT 조합은 내부 지식과 외부 지식을 최적의 형태로 활용해 가장 높은 성능을 달성.
- 텍스트 게임(ALFWorld), 웹 탐색(WebShop):
- LLM이 단계별 목표를 설정하고, 텍스트·웹 환경에서 행동을 실행해 문제를 해결해봄.
- ReAct는 극소량(12개)의 예시(in-context learning)만으로도, 10³10⁵개의 샘플로 훈련된 모방/강화학습 모델보다 성공률이 최대 34%p나 높게 나옴.
- 질의응답(HotPotQA), 사실 검증(Fever)
ReAct: synergizing Reasoning + Acting:
- 전통적으로, 에이전트(Agent)는 환경(Observation) 에서 정보를 받아 행동(Action) 을 반환하는 과정을 반복했었음.
- 하지만 ReAct 는 Thinking, Action, Observation 을 반복한다. Thinking 에는 추론 과정으로 현재 주어진 바탕으로 다음 의사결정을 하는 것을 말함. Observation 은 Action 을 한 이후의 결과를 말한다. 이 결과를 보고 thinking 을 하는 것.
- 소량(one/few-shot) ReAct 예시만으로도 잘 작동하며, fine-tuning 을 하면 성능이 더욱 개선된다고 함.
- 질의응답, 사실 검증, 텍스트 게임, 웹 탐색 등, 다양한 작업에 적용할 수 이씅ㅁ.
- 에이전트가 어떤 사고 과정을 거쳐 특정 행동을 했는지, 언어적 Thought를 통해 명시적으로 드러나서 디버깅할 수 있음.
Knowledge-Intensive Reasoning Tasks:
- 외부 지식(Wikipedia 등) 을 활용해야 하는 작업들 질의응답(HotPotQA), 사실 검증(FEVER) 두 가지 작업에서 ReAct 를 테스트해봄
- HotPotQA 는 다중 문단(Multi-hop) 추론이 필요한 질의응답 벤치마크이고, 두 개 이상의 Wikipedia 문서를 연결해야 정답을 얻을 수 있는 질문을 다룸. (예: “A라는 인물과 B라는 인물은 같은 작품에 출연했는데, 그 작품은 어떤 시기에 개봉되었나요?”)
- FEVER 는 특정 주장(Claim)이 주어졌을 때, 이를 지원(SUPPORTS) 하거나 반박(REFUTES) 하거나 정보 부족(NOT ENOUGH INFO) 임을 판별하는 벤치마크임. (예: 인물 A는 2000년대 초반 미국 대통령이었다 -> 이를 확인하기 위해서 Wikipedia 에서 인물의 정보를 찾아내야함)
- 작업 셋업:
- Wikipedia Web API를 간단한 세 가지 액션만으로 인터페이스하도록 설계:
- search[entity]
- 해당 엔티티가 존재하면 위키 문서 첫 5문장을 반환.
- 존재하지 않으면, 비슷한 엔티티 최대 5개를 추천.
- lookup[string]
- 현재 보고 있는 문서 내에서 string이 포함된 다음 문장을 반환(브라우저 Ctrl+F 기능 유사).
- finish[answer]
- 작업을 완료하고, 해당 answer를 최종 답변으로 반환
- search[entity]
- Wikipedia Web API를 간단한 세 가지 액션만으로 인터페이스하도록 설계:
- 비교 방벋들:
- ReAct Prompting 방식:
- Few-shot 예시(Exemplar) 구성:
- HotpotQA(6개), FEVER(3개) 문제를 랜덤 선택하여, 각각 ReAct 형식으로 사람이 직접 “추론(Thought) + 행동(Action) + 관측(Observation)”을 단계별로 써놓은 ‘Trajectories’ 를 만들어서 활용.
- Few-shot 예시(Exemplar) 구성:
- Baselines (비교 기법):
- Standard Prompting (Standard):
- 문제(질문/주장)만 제시하고 곧바로 답변만 생성하도록 한 것.
- Chain-of-Thought (CoT):
- 추론을 통해 답변을 생성
- CoT + SC:
- CoT 추론을 온도(temperature) 0.7로 샘플링하고 다수결을 통해 최종 결과로 채택
- Acting-only (Act):
- 행동만해서 답변을 내도록 하는 것.
- Standard Prompting (Standard):
- Internal & External Knowledge 결합:
- 실험 결과 ReAct 는 외부 지식을 활용해서 사실성(factuality) 가 뛰어난 반면 CoT 는 추론 구조가 좋으나 환각이 발생했다고 함.
- 그리고 ReAct 는 행동을 위해 외부 도구를 이용하다보니, 정답과 관련된 정보를 찾아내기 어려운 경우도 존재함. API 가 제한이 걸리거나, 검색 횟수에 제한이 있거나.
- 그래서 ReAct 와 CoT-SC 를 전화해서 사용하는 방법도 제안함.
- ReAct → CoT-SC: ReAct가 제한된 스텝 안에 답을 찾지 못하면, CoT-SC로 넘어감. (백오프 전략)
- CoT-SC → ReAct: CoT-SC로 생성한 다중 답변 중, 다수결로 뽑힌 답이 절반에도 못 미치는 경우(불확실성이 높은 경우) ReAct로 넘어가, 외부 검색을 더 활용해본다는 전략
- Finetuning (소규모 모델 미세 조정):
- ReAct나 다른 베이스라인으로부터 정답이 맞는 3,000개 Trajectory를 수집해서 PaLM-8B/PaLM-62B 같은 더 작은 모델들을 파인튜닝함.
- 파인튜닝 대상 모델은 입력(질문/주장)에 대해 전체 Trajectory(Thought + Action + Observation)를 생성하도록 학습됨.
- ReAct Prompting 방식:
- 실험 결과:
- ReAct가 Act만 하는 방법보다 일관적으로 더 좋은 성능을 보임
- 단순히 행동만 하는 건 문제 해결을 위해 도움이 되지 않음. 우리가 잃어버린 우산을 찾기 위해서 무작정 뒤진다고 잘 찾아지냐? 아님. 내가 어디를 방문했는지 곰곰히 떠올리는 행동이 더 도움이된다.
- Fever 작업 (사실 검증)에서 ReAct(60.9) 가 CoT(56.3) 보다 높은 성능을 거눔. 사실 검증 작업에서는 정확한 외부 지식 확보(acting)가 중요한데, ReAct 가 도움이 되었을거임.
- HotpotQA 에서는 CoT(29.4) 가 ReAct(27.4) 보다 뛰어남. 원인 분석을 해보면 다음과 같음:
- CoT 가 자주 틀린 이유는 환각(hallucination) 때문임. 잘못된 정보를 생성해내서. 반대로 ReAct 는 이게 적었음.
- ReAct 는 추론 후 행동 그리고 관찰 해야하는 식으로 맞물려서 동작을 해야함. 자연스러운 추론만 전개하는게 아니므로 CoT 보다 추론 성능이 떨어짐. CoT 가 추론 자체가 좀 더 깔끔함.
- CoT 추론을 좀 더 깔끔하게 하도록 ReAct 에다가 도구로 내재적 지식 추론을 활용하는 것을 넣는 건 어떨까?
- ReAct 가 도구 없이 추론만 하도록 하는 걸 잘 막는다면 도움이 되지 않을까
- ReAct가 올바른 정보를 검색(search)해 오지 못하면(23% 오류 원인), 이후 추론이 계속 잘못된 방향으로 흘러가기 쉽다고 함. 하지만 반대로 성공할 때에는 매우 정확하고 신뢰도가 높은 결과를 내놓는다고 함.
- 파인튜닝 결과:
- 파인튜닝을 했을 때는 ReAct 가 가장 성능적으로 우수했다고 함.
- CoT 나 일반 프롬프트에 대한 답변을 파인튜닝하는 건 회의적이라고 함. 그냥 단순 지식을 암기하는 것이니까. 특정한 행동을 배우기 위해서 파인튜닝을 한다.
- 파인튜닝은 수천 건의 데이터를 이용했다고 함.
Decision making tasks:
- ALFWorld와 WebShop 두 가지 언어 기반 상호작용 환경에서 ReAct 를 실험해봄.
- 이 두 환경의 벤치마크 작업으로 볼 수 있는 능력은 계획을 수립하는 것, 환경을 탐색하는 것, 다수의 스텝으로 이뤄져있는 것, 부분 목표를 추적하는 것, 복잡한 목표를 해결하는 것이 있음.
- 즉 긴 호라이즌(Horizon)의 작업에서 문제를 해결할 수 있는지
- 벤치마크:
- ALFWorld:
- 텍스트 기반 게임 환경으로, 실제 가정집(scene)과 유사한 공간을 텍스트 명령으로 탐색·조작해야함. (예: “go to coffeetable 1”, “take paper 2”, “use desklamp 1” 등)
- WebShop:
- 1.18M개의 실제 상품들에서 에이전트는 원하는 물건을 검색, 옵션 선택, 구매까지 다 해야함.
- ALFWorld:
- 실험 결과:
- ReAct는 “(Thought)→(Action)→(Observation)” 과정을 통해 부분목표 파악과 환경 상태 추적을 잘 수행
- 하지만 사람에 미치진 못함. Webshop 작업에서 사람은 보다 다양한 탐색(더 많은 제품 조회, 검색어 재조정 등)을 한다고 함.
- 의사결정 능력은 뜅남.