개요

ReAct(Yao 외, arXiv:2210.03629)는 언어모델이 “생각(reasoning trace)“과 “행동(action)“을 하나의 시퀀스 안에서 번갈아 생성하도록 만든 프롬프팅 프레임워크다. 순수 chain-of-thought는 추론만 하고 외부 세계를 관찰하지 못하며, 행동 전용 에이전트는 계획과 예외 처리 능력이 약하다는 문제를 ReAct는 둘을 상호 보강시켜 해결한다.

핵심 메커니즘

  • 루프 구조: 생각 → 행동 → 관찰 → 생각 → … 매 스텝마다 행동(예: 검색 API 호출)의 결과가 관찰로 기록되고, 이 관찰이 다음 추론의 입력이 되어 계획을 갱신하거나 예외를 처리한다.
  • 추론은 행동 계획을 세우고 예외를 처리하는 역할을, 행동은 외부 소스나 환경에서 새 정보를 가져오는 역할을 맡아 서로의 약점을 보완한다.

왜 중요한지

“행동 결과를 관찰로 되먹여 다음 추론에 투입한다”는 원칙은 이후 대부분의 에이전트 루프(2026-07-18-reflexion, 2026-07-18-toolformer, 2026-07-18-voyager, 코딩 에이전트의 도구 호출 루프)가 공유하는 기반 패턴이다. loop-engineering이 강조하는 “상태를 대화 밖에 두고 다음 스텝에 투입”하는 설계 원칙의 원형이 여기서 나온다.

원 논문을 직접 재현한 것이 아니라 distilled 캡처를 정리한 요약이므로, 구체적 벤치마크 수치는 원문에서 확인해야 한다.

관련 링크