30

ReAct 패턴: Thought-Action-Observation

Day 3: ReAct 에이전트

학습 목표

ReAct 논문의 핵심 아이디어를 이해한다 Thought-Action-Observation 사이클을 설명할 수 있다 ReAct가 단순 Tool 호출보다 나은 이유를 안다

ReAct 논문 (2022, Yao et al.)

"Synergizing Reasoning and Acting in Language Models" 추론과 행동을 결합하면 LLM이 더 정확하게 문제를 푼다.

핵심 아이디어: LLM에게 "생각을 말로 하면서" Tool을 사용하게 한다.


3가지 요소

에디터 로딩 중...
요소설명예시
ThoughtLLM이 현재 상황을 분석하고 다음 행동을 결정"CNC-003만 경고니까 이것부터 확인하자"
ActionTool을 호출하여 정보를 얻거나 행동을 실행get_alarm_history("CNC-003")
ObservationTool 결과를 확인하고 다음 단계를 판단"W-1105 알람. 베어링 관련이다."

왜 Thought가 중요한가?

Thought 없는 Agent (단순 Tool 호출)

에디터 로딩 중...

LLM이 왜 그 Tool을 호출하는지 설명하지 않으니 엉뚱한 방향으로 흘러간다.

Thought 있는 Agent (ReAct)

에디터 로딩 중...

5번의 정확한 호출. 불필요한 호출 0.


ReAct vs 다른 패턴

패턴특징장점단점
단순 Tool 호출LLM이 바로 Tool 선택빠름정확도 낮음, 불필요한 호출
Chain of Thought생각만 하고 행동 안 함추론 좋음외부 데이터 접근 불가
ReAct생각 + 행동 결합정확도 높음, 효율적약간 느림 (생각 시간)
Plan-and-Execute먼저 전체 계획 후 실행복잡한 작업에 좋음계획 변경 어려움

ReAct 프롬프트 구조

에디터 로딩 중...

핵심: System Prompt에 "생각하라"고 명시해야 한다. 안 그러면 LLM은 바로 Tool을 호출한다.