콘텐츠로 이동

14. MAS 및 Agent Builder 개요

MAS (Multi-Agent System) 이란

  • 하나의 에이전트가 아닌 여러 에이전트를 두고 워크플로우를 만들어 최종 답변을 이끌어 내는 것.
  • 하나의 에이전트에 여러가지 역할 및 기능을 부여하면 많은 프롬프트 엔지니어링 및 In-Context로 인하여 과도한 기본 비용 및 성능저하가 발생할 수 있음.
  • 여러 에이전트를 특정 작업에 특화되게 만든 후 워크플로우를 생성하여 역할을 분담하게 하면 성능 향상 및 과도한 기본 비용을 방지할 수 있음.

Agent Builder란

  • Agent Builder는 OpenAI Platform에서 제공하는 MAS 구축 GUI 툴
  • 여러 에이전트를 생성하고 워크플로우를 구성하여 MAS를 쉽게 구축할 수 있음.

워크플로우 구성 요소

  • Node: 워크플로우의 구성 요소
  • Edge: Node 간의 연결
graph LR
  A[Node] --> |Edge| B[Node];

Node 종류

Core Node

  • Start: 워크플로우의 시작점
  • End: 워크플로우의 작업을 강제로 종료
  • Agent: 싱글 에이전트
  • Note: 메모, 주석 작성 (워크플로우에 영향 없음)

Tools Node

  • File search: RAG 용 파일 검색
  • Guardrails: 응답 필터링
  • MCP: MCP 서버 연결

Logic Node

  • If / else (Condition): 조건 분기
  • While (loop): 조건 반복
  • User approve: 사용자 승인 대기

Data Node

  • Transform: 노드 변수값 (input, output) 가공
  • Set state: 전역 변수값 (state) 설정

변수

  • input: 이전 Node에서 전달된 데이터
    • (예) input.output_text: 이전 Agent Node의 text 응답
    • (예) input.output_parsed.name: 이전 Agent Node의 JSON 응답에서 name에 해당하는 값
  • state: 전역 변수
    • (예) state.var1: Set state Node에서 설정한 var1 값
  • workflow: 사용자 입력 데이터 (전역 상수)
    • (예) workflow.input_as_text: 워크플로우 실행 시 사용자 입력값

Chatkit

  • Chatkit은 OpenAI에서 제공하는 채팅 인터페이스
  • Agent Builder에서 생성한 워크플로우를 Chatkit과 연동하여 쉽고 빠르게 앱을 개발할 수 있음.