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: 메모, 주석 작성 (워크플로우에 영향 없음)
- 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과 연동하여 쉽고 빠르게 앱을 개발할 수 있음.