멀티 에이전트플로우 상세 사용법 (Flowise 3.0.0)

멀티 에이전트플로우 상세 사용법

이번 튜토리얼에서는 state 속성을 활용하여 사용자의 의도에 따라 웹 텍스트 검색 및 이미지 수집을 하는 멀티 에이전트플로우를 제작합니다.

Multi Agent 만들기

1. 워크플로우 만들기

  • 좌측 탭에서 서비스 > 에이전트 > 워크플로우 선택 후 워크플로우 생성 버튼을 클릭하여 워크플로우를 생성하고 기본 입력 사항을 입력합니다.

  • 입력사항을 입력하고 Flowise 단계 추가 버튼을 선택한 뒤 Agentflow 3.0.0을 선택해 flowchart를 워크플로우에 추가합니다

2. 멀티 에이전트플로우(Multi-Agentflow) 구성하기

  • flowchart의 좌측 상단 + 버튼을 눌러 노드를 추가할 수 있습니다.

  • 모든 노드는 더블클릭을 통하여 설정값을 지정할 수 있습니다.

  • 다음과 같이 노드를 구성합니다.

노드 구성은 다음과 같습니다.

2.1. Start Node

워크플로우를 시작하는 노드입니다. state에

총 3가지 state를 설정하였습니다.

2.2. LLM Node

Model로 ChatMNC - qwen3모델을 활용하였습니다. 활용한 프롬프트는 아래와 같습니다.

오늘 일자의 경우 getCurrentDate 등의 Tool 노드 기능이나 Custom Function을 활용하여 state를 활용해 진행 가능합니다.

  • Enable Memory 토글 활성화 확인

  • Memory Type : 메모리 유형을 선택 가능합니다. (본 튜토리얼에서는 All Messages를 선택하였으나 추후 딥 리서치 등의 복잡한 워크플로우를 구성할 때는 메모리 타입을 변경하여 활용하거나 state를 활용해 필요한 메모리만 업데이트하여 사용하는 것을 추천합니다.)

  • Return Response As 설정값을 변경합니다. 기본 User Message로 설정되어 있으나 다음 agent에게 memory로 전달할 때 user요청으로 구분될 수 있어서 Assistant Message를 활용합니다.

  • JSON Structured Output을 설정합니다. 본 튜토리얼에서는 다음과 같이 설정하였습니다.

2.3. Condition Node

설명 : Supervisor에 의해 결정된 state에 따라 어떤 에이전트 또는 플로우를 실행하도록 설정하는 노드입니다.

  • Value 1의 값으로 next 인자를 선택하고 operator는 기본값 Equal을 사용하였습니다. Value2의 값은 Value1과 operator에 따라 True/False 값을 지정하여 조건을 분기하여 활용합니다.

2.4. Agent Node(subagents)

설명 : 본 튜토리얼에는 WEB 서치 에이전트, 이미지 서치 에이전트 총 2개 agent를 활용하였습니다.

2.4.1. WEB 서치 에이전트

  • WEB 서치 에이전트는 Agent 노드와 Tool 기능을 활용하여 구현하였습니다. - Agent 노드에서 활용한 Model 인자는 ChatMNC - qwen3모델을 선택하였습니다. - Add messages 기능을 활용, Role은 System을 설정하여 해당 에이전트 노드에 역할을 부여합니다. 사용한 프롬프트는 아래와 같습니다.

  • 이후 에이전트에게 Add Tools 기능을 활용하여 도구를 부여합니다.

  • Tools의 경우 MCP 활용 등 다양한 내장 툴을 사용할 수 있으며 본 튜토리얼은 Custom Tool을 사용하였습니다.

    • Custom Tool을 만드는 방법은 아래를 참조하세요

Tool의 이름과 설명을 입력합니다. 여기서 작성한 Tool의 설명을 통해 Agent Node에서 도구에 대한 활용 방법을 LLM에게 전달합니다.

Tool은 JavaScript를 기반으로 작성하며 변수를 정의하여 활용할 수 있습니다. 위 이미지는 도구를 사용할 때 검색어를 query로 사용하기 위해 Property, Type, Description, Required 항목을 설정합니다. Agent Node에서 해당 Property의 Description을 확인하여 도구를 사용하기 때문에 Description을 가능한 명확하게 작성합니다.

JavaScript를 활용하여 작동해야하는 도구용 함수를 작성합니다. 본 튜토리얼에서는

  1. TEXT 데이터 검색용 SearchAPI와

  2. 이미지 검색을 위한 Pixabay API를 사용하였습니다.

[TEXT 데이터 검색용 SearchAPI와] 코드 예시

  • LLM 노드(Supervisor 역할의 노드)와 동일하게 Enable Memory 토글은 활성화, Memory Type 설정은 All Messages, Return Response As는 Assistant Message 를 선택합니다.

  • Add Update Flow State 버튼을 클릭한 뒤 Key 값으로 최초 Start 노드에서 선택한 WEB의 값을 업데이트 합니다. Value 값으로 output을 활용합니다.

2.4.2 : 이미지 서치 에이전트

  • 이미지 서치 에이전트는 WEB 서치 에이전트와 동일하게 Agent 노드와 Tool 기능을 활용하여 구현하였습니다.

  • Agent 노드에서 활용한 Model 인자는 ChatMNC - qwen3모델을 선택하였습니다.

  • Add messages 기능을 활용, Role은 System을 설정하여 해당 에이전트 노드에 역할을 부여합니다. 사용한 프롬프트는 아래와 같습니다.

  • 이후 에이전트에게 Add Tools 기능을 활용하여 도구를 부여합니다.

  • Tools의 경우 MCP 활용 등 내장 툴을 사용할 수 있으며 본 튜토리얼은 Custom Tool을 사용하였습니다.

  • Custom Tool을 만드는 방법은 4.1 WEB 서치 에이전트와 동일합니다. Description을 이미지 검색용 도구로 수정하면 다른 설정까진 동일하며 JavaScript 코드만 아래의 내용을 사용합니다.

  • 본 튜토리얼은 Agent Node와 Custom Tools를 활용해 다양한 상호작용이 가능함을 보이기 위해 PixaBay API를 사용하였습니다. 하지만 최신 이미지 등에 대해서 PixaBay API는 포함되지 않을 수 있어 사용 전 다양한 API를 점검하는 것을 추천합니다.

[이미지 검색을 위한 Pixabay API] 코드 예시

  • LLM 노드(Supervisor 역할의 노드)와 동일하게 Enable Memory 토글은 활성화, Memory Type 설정은 All Messages, Return Response As는 Assistant Message 를 선택합니다.

  • Add Update Flow State 버튼을 클릭한 뒤 Key 값으로 최초 Start 노드에서 선택한 IMAGE의 값을 업데이트 합니다. Value 값으로 output을 활용합니다.

2.5. Loop Node

설명 : 에이전트의 업무가 끝나면 Supervisor로 워크플로우를 루프하여 다음 에이전트를 선택하도록 하는 노드입니다.

  • Loop 노드의 설정은 Look Back To 인자에 Supervisor 노드를, Max Loop Count는 적절하게 설정합니다. 본 튜토리얼에서는 3을 사용합니다.

2.6. Direct Reply Node

설명 : WEB 서치 에이전트의 결과와 이미지 서치 에이전트의 결과를 종합하여 최종 값을 반환하는 노드입니다.

참고자료와 같이 state에 기록된 데이터를 이용하여 최종 답변을 출력합니다.

  • 본 튜토리얼은 다양한 Node의 사용 방법을 확인하기 위해 Direct Reply Node와 state 정보를 활용해서 답변을 유도하였지만 해당 플로우에서 LLM, Agent Node 등 다양한 Node를 활용하여 워크플로우를 보다 풍성하게 구성할 수 있습니다.

  • 워크플로우 구성이 완료되면 저장합니다.

완성된 멀티 에이전트플로우 테스트 하기

  • 수정 버튼을 클릭하여 Flowise 스탭을 활성화합니다.

  • 우측 상단의 보라색 말풍선 아이콘을 클릭하여 워크플로우를 테스트 할 수 있습니다.

  • 본 튜토리얼에서는 PixaBay API의 활용 가능한 이미지 최신 정보를 확인한 후 다음과 같은 쿼리를 활용하였습니다. : "갤럭시S22의 스펙과 이미지를 보여줘"

  • 위와 같이 워크플로우가 정상적으로 작동하는 것을 확인 할 수 있습니다.

Last updated

Was this helpful?