# ReAct Agent for Chat Models

## ReAct Agent for Chat Models

**ReAct Agent for Chat Models**는 대화형 언어 모델(LLM)이 생각(Reasoning)과 행동(Acting)을 번갈아 수행하며 복잡한 질문을 단계적으로 해결할 수 있게 해주는 고급 에이전트 노드입니다. Memory와 Tool 사용이 결합되어 있어, 문맥 유지와 함께 반복적 툴 호출 기반의 자동화가 가능합니다.&#x20;

***

### 주요 기능

* **ReAct 추론 패턴 적용**: Thought → Action → Observation 반복 구조 기반의 고차원 추론 처리
* **툴 사용 판단 및 실행 자동화**: LLM이 필요에 따라 다양한 도구를 선택·사용
* **메모리 기반 대화 흐름 유지**: 이전 질의 응답을 바탕으로 대화를 자연스럽게 이어감
* **반복 횟수 제어 가능**: Max Iterations 설정으로 무한 루프 방지

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-e9bf88f82c5467186da9c8970baf7b167b0b966a%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-08%20164635.png?alt=media" alt=""><figcaption><p>WindyFlo ReAct Agent for Chat Models</p></figcaption></figure>

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-0c85fc9b7c1486c210f6724a469c82a21de3af3a%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-08%20164651.png?alt=media" alt=""><figcaption><p>WindyFlo ReAct Agent for Chat Models Parameters</p></figcaption></figure>

### 입력값 (Inputs)

| 항목                   | 설명                                 | 필수 여부 |
| -------------------- | ---------------------------------- | ----- |
| **Allowed Tools**    | 에이전트가 사용할 수 있도록 허용된 도구 목록입니다.      | 필수    |
| **Chat Model**       | 추론을 수행할 LLM입니다. 예: GPT-4, Claude 등 | 필수    |
| **Memory**           | 대화 히스토리를 저장 및 활용하기 위한 메모리 노드입니다.   | 필수    |
| **Input Moderation** | 입력 내용이 부적절하거나 공격적인지를 필터링할지 여부      | 선택    |

***

### 파라미터 (Parameters)

| 항목                 | 설명                                                                                    |
| ------------------ | ------------------------------------------------------------------------------------- |
| **Max Iterations** | Thought → Action → Observation 순서를 몇 번 반복할 것인지 설정 (예: 3\~5 권장). 설정하지 않으면 무한 반복 가능성 존재 |

***

### 출력값 (Outputs)

| 출력 항목             | 설명                                  |
| ----------------- | ----------------------------------- |
| **AgentExecutor** | 추론 → 도구 호출 → 결과 관찰을 통해 생성된 최종 응답 결과 |

***

### 활용 예시

1. **복합 질의 분석 및 실행**\
   → “서울, 부산, 대전의 인구를 비교해서 정리해줘.”\
   → 도구 호출 → 데이터 수집 → 비교 → 요약 응답
2. **단계적 문제 해결**\
   → “블로그 콘텐츠 주제를 먼저 제안하고, 그 주제로 소제목을 만들어줘.”\
   → Step 1: 주제 생성 → Step 2: 제목 구성 → 응답
3. **메모리 기반 인터랙션 유지**\
   → “아까 이야기했던 데이터 기준으로 다시 계산해줘.”\
   → 이전 대화 맥락을 기억해 재계산 수행

***

### 추천 사용 상황

* 다단계 사고와 외부 도구 호출이 필요한 고급 자동화 시나리오
* 대화 흐름을 유지하면서 복합적인 작업을 수행해야 하는 경우
* ReAct 기반의 추론 흐름을 명시적으로 사용하고자 할 때

***

### 주의사항

* **Memory는 반드시 연결되어야 합니다.** 연결하지 않으면 문맥 흐름이 끊기고 일부 기능이 동작하지 않을 수 있습니다.
* **Max Iterations 값을 설정하지 않으면 무한 루프 위험이 있습니다.** 일반적으로 3\~5회로 제한하는 것이 좋습니다.
* **도구 연결 상태 및 응답 속도**는 LLM 성능 및 네트워크 상황에 따라 달라질 수 있습니다.

***

ReAct Agent for Chat Models는 WindyFlo에서 **다단계 추론, 도구 활용, 대화 유지**를 조합해 복합 질문을 해결할 수 있는 **강력한 인터랙티브 자동화 노드**입니다.
