본문 바로가기

인공지능

혁신을 이끄는 AI 멀티 에이전트 시스템: Autogen Magentic-One

728x90
반응형

AI 에이전트와 멀티 에이전트 시스템이란?

인공지능(AI) 기술의 발전은 다양한 응용 분야에서 AI 에이전트와 멀티 에이전트 시스템에 대한 관심을 증대시키고 있습니다. AI 에이전트는 특정 작업을 수행하도록 설계된 자율 소프트웨어 프로그램으로, 멀티 에이전트 시스템은 여러 AI 에이전트가 협력하여 복잡한 문제를 해결하는 구조입니다. 이러한 시스템은 개별 에이전트의 능력을 통합하여 보다 복잡한 문제를 효과적으로 해결할 수 있는 강력한 접근법으로 간주됩니다.

최근 다양한 AI 에이전트 및 멀티 에이전트 시스템을 지원하는 툴과 프레임워크가 개발됨에 따라, AI의 가능성은 더욱 확대되고 있습니다. 이러한 프레임워크들은 AI 에이전트 간 협력을 보다 쉽게 구현할 수 있도록 지원하며, 다양한 산업 분야에서의 활용 가능성을 확장하고 있습니다.

반응형

Magentic-One: Microsoft가 개발한 혁신적인 멀티 에이전트 시스템

Microsoft는 멀티 에이전트 시스템 분야에서 선도적인 역할을 하며, 다양한 혁신적인 툴을 개발하고 있습니다. 그중에서도 Magentic-One은 멀티 에이전트 협업을 새로운 차원으로 끌어올리는 오픈 소스 프레임워크로, 복잡한 작업을 효율적으로 처리할 수 있는 기능을 제공합니다. Magentic-One은 Microsoft의 오픈 소스 프레임워크인 AutoGen을 기반으로 구축되었으며, 이를 통해 유연한 모듈화와 손쉬운 통합 및 맞춤화가 가능합니다.

AutoGen은 다양한 에이전트를 손쉽게 통합하고 확장할 수 있는 유연한 구조를 제공하며, 이를 통해 Magentic-One은 다목적 작업을 위한 강력한 도구로 자리 잡고 있습니다.

Magentic-One의 주요 구성 요소

Magentic-One은 다섯 가지 주요 에이전트로 구성되어 있으며, 각 에이전트는 특정한 역할을 담당합니다.

  1. Orchestrator
    • Magentic-One의 중심적인 역할을 수행하는 에이전트입니다.
    • 작업을 세분화하고 계획을 수립하며, 다른 에이전트 간의 조정을 담당합니다.
    • 주요 기록으로 작업 계획서(Task Ledger)와 진행 상황 기록서(Progress Ledger)를 유지하여 작업의 진행 상태를 추적하고, 필요 시 전략을 동적으로 수정합니다.
  2. WebSurfer
    • 웹 탐색에 특화된 에이전트로, 웹 검색을 수행하고 URL과 상호작용하며 웹 페이지의 콘텐츠를 요약합니다.
  3. FileSurfer
    • 로컬 파일 작업을 관리하는 에이전트입니다.
    • 파일을 읽고 디렉터리를 탐색하며 데이터를 효율적으로 검색합니다.
  4. Coder
    • 프로그래밍 작업을 처리하는 에이전트로, 다른 에이전트로부터 정보를 받아 코드 작성 및 소프트웨어 아티팩트 생성을 담당합니다.
  5. ComputerTerminal
    • 명령줄 접근을 제공하여 프로그램 실행, 소프트웨어 라이브러리 관리 및 시스템 작업을 수행합니다.

Magentic-One의 사용 예시

Magentic-One의 작동 방식을 간단한 코드 예시를 통해 설명합니다. 아래 코드는 여러 에이전트가 협력하여 코드를 생성하고 안전하게 실행하는 과정을 보여줍니다.

import asyncio
import logging
from autogen_core.application import SingleThreadedAgentRuntime
from autogen_core.base import AgentId, AgentProxy
from autogen_magentic_one.agents.coder import Coder, Executor
from autogen_magentic_one.agents.orchestrator import RoundRobinOrchestrator
from autogen_magentic_one.agents.user_proxy import UserProxy
from autogen_ext.code_executors import DockerCommandLineCodeExecutor

# 사용자로부터 코드 실행 여부를 확인하는 함수
async def confirm_code(code):
    response = await asyncio.to_thread(input, f"다음 코드를 실행할까요? (yes/no): \n{code}\n")
    return response.lower() == "yes"

# 메인 함수 설정
async def main():
    runtime = SingleThreadedAgentRuntime()
    async with DockerCommandLineCodeExecutor() as code_executor:
        await Coder.register(runtime, "Coder", lambda: Coder())
        await Executor.register(runtime, "Executor", lambda: Executor("코드 실행 에이전트", executor=code_executor, confirm_execution=confirm_code))
        await UserProxy.register(runtime, "UserProxy", lambda: UserProxy(description="현재 사용자"))
        await RoundRobinOrchestrator.register(runtime, "orchestrator", lambda: RoundRobinOrchestrator(["Coder", "Executor", "UserProxy"]))
        runtime.start()
        await runtime.send_message("Hello, UserProxy!")
        await runtime.stop_when_idle()

if __name__ == "__main__":
    asyncio.run(main())

위 코드에서는 RoundRobinOrchestratorCoder, Executor, UserProxy와 같은 에이전트들을 순환적으로 조율하여 협력 작업을 수행합니다. DockerCommandLineCodeExecutor는 안전한 코드 실행 환경을 제공하며, 사용자는 코드 실행 여부를 직접 확인할 수 있습니다.

성능 평가와 Magentic-One의 가능성

Magentic-One은 다양한 산업 분야에서 멀티 에이전트 시스템을 활용할 수 있는 잠재력을 보여줍니다. 성능 평가를 통해, Magentic-One은 최신의 멀티 에이전트 시스템 벤치마크에서 뛰어난 성능을 입증했습니다. 이를 위해 Magentic-One은 AutoGenBench와 같은 벤치마크 도구를 사용하여 성능을 평가하였으며, 여기에는 다음과 같은 주요 지표들이 포함됩니다:

  • GAIA (General Agentic Intelligence Assessment): 일반적인 에이전트 지능 평가를 목적으로 설계된 벤치마크로, 다양한 상황에서 에이전트의 지능적 대응 능력을 테스트합니다. Magentic-One은 GAIA 벤치마크에서 최첨단 성능을 발휘하며, 에이전트의 계획 수립, 문제 해결, 그리고 의사결정 능력에서 높은 점수를 기록했습니다.
  • AssistantBench: 복잡한 작업 해결 능력을 평가하기 위한 벤치마크입니다. AssistantBench는 다양한 태스크 시나리오에서 에이전트의 정확성과 효율성을 측정하며, Magentic-One은 이 벤치마크에서 높은 작업 성공률과 효율성을 보였습니다. 특히, 작업을 세분화하고 협력하는 Orchestrator의 역할이 크게 기여한 것으로 분석되었습니다.
  • WebArena: 웹 상호작용 능력을 평가하는 벤치마크로, 웹 탐색 및 정보 수집을 수행하는 에이전트의 성능을 측정합니다. Magentic-One의 WebSurfer 에이전트는 WebArena에서 신속한 정보 검색 및 요약 능력을 보여주었으며, 다양한 웹 기반 작업에서 경쟁력을 입증했습니다.

이와 같은 성능 평가 결과는 Magentic-One이 단순한 연구적 개념을 넘어 실제 응용 가능성을 지닌 멀티 에이전트 시스템임을 보여줍니다. 특히 복잡한 작업을 세분화하고 이를 전문화된 에이전트들이 협력하여 해결하는 방식은 AI의 강력한 응용 사례 중 하나입니다. 성능 평가에서 확인된 바와 같이, Magentic-One은 복잡한 환경에서의 문제 해결 능력과 지속적인 계획 수립, 그리고 동적 조정이 가능하다는 점에서 매우 높은 평가를 받았습니다. Microsoft의 AutoGen을 기반으로 구축된 이 프레임워크는 사용자가 다양한 에이전트를 손쉽게 조정하고 확장할 수 있도록 지원합니다.

AI와 멀티 에이전트 시스템의 발전은 앞으로 더 많은 복잡한 문제를 AI를 통해 효율적으로 해결할 수 있는 길을 열어줄 것입니다. 앞으로도 다양한 AI 툴과 프레임워크의 발전을 통해 이러한 가능성이 더욱 확대될 것으로 기대됩니다.

728x90
반응형