# 멀티 에이전트플로우 만들기

## 1. GenOS 멀티 에이전트플로우의 정의

* 멀티 에이전트플로우는 어떤 업무에 대한 Supervisor 역할의 에이전트가 하위 다양한 에이전트를 활용하여 처리하는 시스템을 의미합니다.

<figure><img src="https://2954186584-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdElGVBdgd1cUYoUV6rEb%2Fuploads%2Fgit-blob-9f66fc2b843f3a5634bc494acc71d04e79992e8e%2F00_multiagentflow_visualization.png?alt=media" alt=""><figcaption></figcaption></figure>

## 2. 멀티 에이전트플로우 작동 방식

멀티 에이전트는 Supervisor 역할의 에이전트가 하위 전문 에이전트에게 업무를 배정하고 결과를 종합하여 복잡한 업무를 처리하는 방식으로 작동합니다.\
예를 들어 '글쓰기 도우미'를 주제로 멀티 에이전트를 구성하게 되면 아래와 같은 하위 전문 에이전트를 포함한 시스템을 의미합니다.<br>

```
    - 슈퍼바이저 : 업무 총괄 감독</br>
        - WRITER : 작가 에이전트</br>
        - EDITOR : 편집자 에이전트</br>
        - FINISH : 최종 정리 에이전트</br></br>
```

글쓰기 도우미를 주제로 멀티 에이전트플로우를 구성해 실행하게 되면 아래와 같은 상호작용이 발생합니다.<br>

```
    - 상호작용 예시
        - 사용자: "AI의 미래에 대한 블로그 글 써줘"
        - 슈퍼바이저: WRITER에게 초안 작성 지시
        - WRITER: 초안 작성
        - 슈퍼바이저: EDITOR에게 검토 요청
        - EDITOR: "도입부를 더 흥미롭게 수정하면 좋겠어요"
        - 슈퍼바이저: WRITER에게 수정 지시
        - 작가: 도입부 개선
        - EDITOR: Pass Or 수정 지침 -> PASS 가정
        - 슈퍼바이저: FINISH 선택
        - FINISH: 완성된 글 최종 정리 및 출력
```

상호작용 흐름도는 아래와 같습니다.

````
    - 상호작용 흐름도
        ```
        시작 → 슈퍼바이저 ⇄ 작가
            ↕            
        편집자 ← ┘
            ↓
        최종 정리 → 종료
        ```
````
