b76249a2a634b88e9c3bd9bbf0a3ead43a9400a1
title, description
| title | description |
|---|---|
| 멀티 에이전트란 | 멀티에이전트의 개념 설명, 장점, 실제 구축을 통한 경험 공유를 세미나에서 발표하기 위한 발표 스크립트 및 발표자료 작성용 문서입니다. |
AI Agent란?
General
AI Agent를 더욱 강력하게 만드는 Skills
Skills 사례 소개
Multi-Agent란
General
[지시사항]
- multi agent에 대한 개념 설명 및 multi agent의 필요성 정리
Multi Agent의 예시
[지시사항]
- 아래 목차 흐름에 맞춰 자료 조사 및 내용 작성을 수행해줘.
Subagent란
Team agent란
Context Engineering (Lang Graph)란
CrewAI, Satana AI 등 Multi agent orchestration을 지원하기 위한 소프트웨어
Multi Agent 환경 구성을 위한 Protocols
MCP/ACP
A2A
실제 Multi Agent Orchestration을 구현하며 겪은 문제점들
- Agent들과 각 Agent들의 세션을 어떻게 관리할까?
- Agent들 끼리 서로 어떻게 탐색할 수 있도록 할까?
- 마스터 - slave 방식
- p2p and report 방식
- 실시간 메시징을 어떻게 관리할 수 있을까?
- A Agent에서 작업을 완료한 후 작업 완료 메시지를 전달하라고 했을 때 실시간 통신이 정상적으로 작동하지 않는 경우가 많았음
- 예를 들어 작업을 위임한 Agent가 갑자기 종료된 상황에서 작업이 완료되고 작업 완료 알림 메시지가 전송된 후 작업을 위임한 Agent가 다시 재시동된다면 알람을 받을 수 없음
- 작업을 위임받은 Agent가 특정 알람도 없이 종료된다면 작업을 위임한 Agent는 무한 대기 상태에 빠지게 됨. 이때 작업을 위임한 Agent가 subagent라면 Blocking 상태에 빠진 것을 확인하기 어러워 리소스만 소비하게 되는 결과로 이어짐
Multi Agent Orchestration 의 장점
- 프롬프트의 간소화
- 다음과 같이 프롬프트 엔지니어링의 시대는 저물고 있음.
- "오픈AI 엔지니어 페터 슈타인베르거: 엑스(X)에 코딩 에이전트에 더 이상 프롬프트를 입력하지 말고 에이전트를 구동하는 루프를 설계해야 한다."
- 간단한 작업 지시와 질문 및 응답으로 부터 방향 설립 구체적인 작업 지시 내용 작성 등을 AI가 작성하는 시대가 됨. 이는 작업 지시 역할을 수행하는 에이전트와 실제 작업을 하는 에이전트, 그리고 검증을 수행하는 reviewer 등 다수의 에이전트가 각자의 역할에 맞는 역할을 수행할 때 최적의 작업 결과가 도출됨.
- 다음과 같이 프롬프트 엔지니어링의 시대는 저물고 있음.
- Context 설명이 필요없음
- 각 에이전트가 서로의 작업을 공유하고, git과 같은 시스템으로 변경사항을 즉각적으로 확인할 수 있기 때문에 다수의 에이전트 간 작업 context를 다시 설명하며 시간을 허비할 필요가 없음
- 검증의 간소화 및 우수한 결과물
- 서로 다른 에이전트 (Claude, GPT, Gemini, GLM 등) 은 바라보는 시점이 달라 특정 작업을 수행했을 때 다른 에이전트에게 검토를 요청하고, 수정방향을 피드백 받음으로써 결과물의 품질이 급격히 상승함
- Gemini 모델로 작성한 코드나 글을 다른 Gemini 모델을 사용하는 Agent에게 review 받는 것 보다 Claude와 같은 다른 모델을 사용하는 Agent에게 검증받는 것이 더욱 좋은 결과를 보여줌
- 나아가 "루프 엔지니어링"과 같은 방식에서 필요한 검증 모델을 개발하기 위해 필요한 시간을 현저히 줄일 수 있음.
- 서로 다른 에이전트 (Claude, GPT, Gemini, GLM 등) 은 바라보는 시점이 달라 특정 작업을 수행했을 때 다른 에이전트에게 검토를 요청하고, 수정방향을 피드백 받음으로써 결과물의 품질이 급격히 상승함
- 비용의 효율화
- AI 모델 별 서로 잘하는 분야가 다르듯 작업을 수행할 때 소모하는 Token의 양과 가격도 다름
- 작업의 우선순위, 작업 별 요구되는 정확도를 고려하여 비용효율적인 모델 선택, Agent에 작업을 위임할 수 있음.
- AI Agent Orchestration 기능을 접목하여 자동화가 가능함
What we Needs?
- Agent 간 작업 환경 공유 (A2A의 Agent Card)
- 특정 Agent에게 작업을 위임하기 위해서는 어떤 Agent가 어떤 역할을 할 수 있는지에 대한 이해가 필요함
- Agent Working Infrastructure 구성
- Service Discovery 등을 통해 새로운 Agent가 작업을 수행함에 있어 사용할 수 있는 Service를 자동 탐색할 수 있어야 함
- Workflow 공유
- 새로 다른 Agent가 같은 작업을 수행할 때 같은 절차, 같은 방식 그리고 같은 결과를 출력하는 것이 매우 중요함
- 나아가 작업이 정상적으로 완료되지 못 한 경우 특정 작업에 대한 Tracking을 위한 공통된 인터페이스 규약이 필요함 (Issue Tracking)
- AI 모델 기반 작업은
- Messaging System 필요
- 정확한 작업 지시와 대량의 출력 데이터를 공유하기 위해서는 MQTT와 같은 저사양 단순 Messing Queueing System에는 한계가 있음.
- 기존 방법은 파일을 생성하고, 작업 완료, 권한 요청 등 다양한 이벤트에 대한 알람 메시지에 상세 정보를 나타내는 파일의 URL을 포함시킴으로써 이 문제를 해결하고 있지만 Issue Tracking의 효율화, 고성능 통신 지원 등을 위해서는 알람 메시지에 많은 정보를 포함할 필요가 있음.
- 또한 특정 작업을 요청할 때 다수의 파라미터를 함께 제공해야할 수 있음. 예를 들어 스마트 팜에서 방제를 위해 특정 작물의 상태를 검출하기 위한 작업에서는 작업 검출을 위한 지시사항과 함께 이미지 정보가 함께 전달되어야 함. 이러한 작업에서는 HTTP/3의 Push 와 같은 기능이 요구됨.
- Job Task 관리
- AI Agent는 사람과 유사하게 작업을 수행하지만 작업을 수행하는 방식에는 큰 차이가 있음. 기본적으로 1개의 작업을 작은 단위로 자르고, 각 스크럼을 subagent에게 전달하여 작업을 병렬적으로 수행함.
- 이때 각 subagent는 작업의 시작 부터 작업이 끝날 때 까지가 생명주기이며, 각 작업마다 다른 에이전트와 통신을 위한 messaing topic 또는 token이 필요함
- 나아가 subagent가 작업을 위임할 다른 에이전트를 찾을 때 가장 효율적으로 작업을 수행할 Agent를 발견하기 위한 Load Balancing 개념이 필요함.
Why we need gRPC?
- A2A와의 호환성 향상
- 개발 인터페이스 모듈은 스마트 팜, 스마트 팩토리와 같은 AIoT 서비스를 주요 타겟으로 개발되고 있음
- 멀티 모달 지원
- AIoT 서비스에서는 텍스트 뿐 아니라 이미지, 소리, 주파수 등 다양한 멀티 모달 데이터가 사용되며, 각 데이터의 처리는 LLM 또는 LMM 모델에 국한되어 처리되는 것이 아니라 지도학습 모델, 비지도 학습 모델 등 다양한 모델에 의해 처리되어야 함
- HTTP/3 기반의 멀티 스트림 지원 및 Request/Response와 Pub/Sub 를 모두 지원하는 검증된 고성능 gRPC 인터페이스 모듈은 다양한 데이터 타입을 지원하기 위한 최적의 선택지임
- 나아가 gRPC는 Microservices 환경에서 주 인터페이스로 사용됨에 따라 보급/확산이 손쉬움
- Job Task 관리가 효율적임
- 효율적인 작업 분배를 위한 Load Balancing system들이 gRPC를 기반으로 작동하는 경우가 많음. 최소한의 수정으로 개발 모듈의 적용이 가능함.
- json과 같은 text 형식이 아닌 protobuf와 같은 구조적이면서 직렬화 방식의 메시징을 통해 다수의 에이전트와 각 에이전트의 subagent로 부터 쏟아지는 메시징을 효율적으로 처리하기 하여 성능 향상을 도모할 수 있음.
Description
Languages
Shell
48.7%
Python
27.1%
HTML
24.2%