# OpenAI Tool Agent

**OpenAI Tool Agent 노드**는 OpenAI 또는 Azure 기반 LLM(Chat Model)을 사용하여, 지정된 도구(Tools)와 대화형 메모리(Memory)를 조합해 복잡한 질문에 대응하는 **자동화 에이전트**입니다. 다양한 툴을 조건에 맞게 활용하며, 사용자와의 대화 문맥을 기억해 작업을 수행합니다.&#x20;

***

### 주요 기능

* **OpenAI/Azure 기반 LLM 통합**: GPT-4 등 다양한 모델과 연동 가능
* **툴 기반 실행**: Tools로 설정된 기능들(검색, 계산, 파일 등)을 조건에 따라 자동 실행
* **대화형 메모리 연동**: 사용자 이전 발화를 기억하고 문맥 기반 응답 생성
* **System Message로 역할 지정 가능**: 응답 톤, 범위, 성격을 자유롭게 설정 가능

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-afd3dd5d1b93bc9317376d30234676cd16dc4b38%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-08%20164436.png?alt=media" alt=""><figcaption><p>WindyFlo OpenAI Tool Agent</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-f1dfc2cd3eb077fb54887c3e62924cee9a879f6d%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-08%20164445.png?alt=media" alt=""><figcaption><p>WindyFlo OpenAI Tool Agent Parameters</p></figcaption></figure>

### 입력값 (Inputs)

| 항목                          | 설명                                       | 필수 여부 |
| --------------------------- | ---------------------------------------- | ----- |
| **Tools**                   | 에이전트가 사용할 수 있는 도구 목록.                    | 필수    |
| **Memory**                  | 대화 이력 저장을 위한 메모리 노드. 대화형 응답 생성에 필수       | 필수    |
| **OpenAI/Azure Chat Model** | 사용할 LLM (예: GPT-4-turbo, gpt-35-turbo 등) | 필수    |
| **Input Moderation**        | 입력 질문에 대한 유해 콘텐츠 필터링 여부                  | 선택    |

***

### 파라미터 (Parameters)

| 항목                 | 설명                                                                                                                            |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| **System Message** | <p>Assistant에게 부여할 역할 지침 또는 대화 스타일 지정 메시지입니다. 예: “너는 마케팅 전략가로서 질문에 전략적으로 대답해야 한다.”<br>※ 입력하지 않으면 기본 Assistant 성격으로 동작합니다.</p> |

***

### 출력값 (Outputs)

| 출력 항목             | 설명                                         |
| ----------------- | ------------------------------------------ |
| **AgentExecutor** | 툴 실행 및 대화형 응답 결과. 예: 문서 요약, 계산 결과, 검색 결과 등 |

***

### 활용 예시

1. **문서 기반 검색 및 요약**\
   → “2023년 회의록 중 핵심 이슈만 요약해줘”\
   → file\_search → 요약기 → 응답 제공
2. **계산기 + 질의응답 통합 응답**\
   → “이익률이 10% 오르면 순이익은 얼마인가요?”\
   → 계산 도구 호출 + LLM 해석
3. **마케팅 챗봇 역할 지정**\
   → System Message: “너는 브랜드 전략가야. 브랜드 인식 향상 전략을 제안해줘.”\
   → 전략적 응답 제공

***

### 추천 사용 상황

* OpenAI 모델 기반으로 툴 호출 자동화를 구현하고자 할 때
* 문맥 유지 + 툴 실행을 결합한 고급 챗봇을 만들고자 할 때
* 역할 기반 응답 또는 특정 도구와 결합된 에이전트를 만들고자 할 때

***

### 주의사항

* **툴과 메모리는 반드시 연결되어야** 기능이 정상 작동합니다.
* **System Message가 없으면 일반적인 Assistant 성격**으로 응답하게 됩니다.
* OpenAI 및 Azure에서 각각 제공하는 모델명, 토큰 제한 등을 반드시 확인해 설정하세요.

***

OpenAI Tool Agent는 WindyFlo에서 가장 범용적으로 활용되는 고급 에이전트 노드로, **툴 자동화 + 대화 문맥 유지 + LLM 추론**을 결합한 다중 기능 자동화 시나리오에 최적화되어 있습니다.
