Published on

마이크로소프트 오픈 AI 에이전트 업데이트 지능형 에이전트 재구성 다층 구조 강화

저자
  • avatar
    이름
    Ajax
    Twitter

AutoGen 0.4 버전 주요 특징

마이크로소프트는 오픈 소스 AI 에이전트 프레임워크인 AutoGen의 0.4 버전을 공개하며 상당한 업데이트를 선보였습니다. 이 버전은 향상된 코드 안정성, 견고성, 다재다능성 및 확장성을 자랑하며, 개발자들이 최첨단 고급 AI 에이전트 애플리케이션을 구축할 수 있도록 지원합니다.

  • 비동기 메시징: 에이전트들은 이제 비동기 메시징을 사용하여 통신하며, 다른 에이전트의 응답을 기다리지 않고 작업을 진행할 수 있습니다. 이는 특정 트리거에 반응하는 이벤트 기반 애플리케이션에 특히 유용합니다. 전통적인 요청/응답 모델도 지원됩니다.

  • 모듈성 및 확장성: 사용자는 사용자 정의 에이전트, 도구, 메모리 및 모델을 결합하여 특정 비즈니스 요구 사항에 맞춘 에이전트 시스템을 구축할 수 있습니다. 이를 위해 특정 자동화 목표를 달성하기 위해 다양한 에이전트 유형과 도구를 등록합니다.

  • 관찰 가능성 및 디버깅: 메트릭 추적, 메시지 추적 및 디버깅을 위한 내장 도구를 통해 에이전트 상호 작용 및 워크플로를 모니터링하고 제어할 수 있습니다. 대규모 모델 호출, 도구 사용, 중간 출력, 메모리 상태 및 프롬프트 템플릿을 포함한 에이전트 워크플로의 모든 단계를 명확하게 기록할 수 있습니다. 이는 의료, 법률 및 금융과 같이 에이전트 운영에 대한 정확한 추적이 필요한 산업에 매우 중요합니다.

  • 확장성 및 배포: 복잡한 분산 에이전트 네트워크는 조직 경계를 넘어 원활하게 작동하도록 설계할 수 있습니다. 분산 아키텍처는 다양한 서버 또는 클라우드 플랫폼에 에이전트를 배포하여 리소스 할당 및 활용을 최적화합니다.

  • 내장 및 커뮤니티 확장: 프레임워크의 기능은 고급 모델 클라이언트, 에이전트, 다중 에이전트 팀 및 에이전트 워크플로 도구를 특징으로 하는 확장에 의해 향상됩니다. 커뮤니티 지원을 통해 개발자는 자체 확장을 관리하여 사용자 정의 에이전트 또는 도구를 생성하고 공유할 수 있습니다. 개발자는 이러한 확장을 일반적인 요구 사항에 사용할 수 있으며, 이는 개발 복잡성과 장벽을 줄입니다.

  • 다국어 지원: AutoGen은 이제 Python 및 .NET과 같은 다양한 프로그래밍 언어로 작성된 에이전트 간의 상호 운용성을 지원합니다. 이 기능은 AutoGen의 응용 범위를 넓히고 언어 차이로 인한 장애물을 제거합니다.

이러한 새로운 기능 외에도 Microsoft는 코어, 에이전트 채팅 및 확장을 포함하는 AutoGen의 기반을 재구성했습니다. 코어는 이벤트 기반 에이전트 시스템의 기반 역할을 합니다. 코어를 기반으로 구축된 에이전트 채팅은 작업 관리, 그룹 채팅, 코드 실행 및 사전 구축된 에이전트를 위한 고급 API를 제공합니다. 확장은 Azure 코드 실행기 및 OpenAI 모델과 같은 서비스와의 타사 통합을 용이하게 합니다.

UI 개선 사항

사용자 인터페이스도 상당한 개선이 이루어졌습니다.

  • UI를 통한 대화형 피드백: 사용자 에이전트가 팀 운영 중에 실시간 입력 및 지침을 제공할 수 있습니다.
  • 메시지 흐름 시각화: 에이전트 통신을 이해하기 위한 직관적인 인터페이스를 제공하여 메시지 경로 및 종속성을 매핑합니다.
  • 시각적 드래그 앤 드롭 인터페이스: 사용자가 구성 요소와 관계 및 속성을 배치하고 구성하여 에이전트를 설계할 수 있습니다.

Magentic-One과의 통합

마이크로소프트의 또 다른 오픈 소스 다층 일반 AI 에이전트인 Magentic-One이 이제 AutoGen에 통합되었습니다. Magentic-One은 오케스트레이터, 웹서퍼, 파일서퍼, 코더 및 컴퓨터터미널의 5가지 AI 에이전트로 구성된 다층 아키텍처를 가지고 있습니다. 각 전문 에이전트는 고유한 기술 세트와 지식 기반을 가지고 있어 각자의 분야에서 효과적으로 작업할 수 있습니다. 그러나 이러한 에이전트는 독립적으로 작동하지 않습니다. 오케스트레이터는 활동이 일관성을 유지하고 전반적인 목표를 충족하도록 활동을 조정합니다.

오케스트레이터는 작업 계획, 진행 상황 추적 및 오류 복구를 담당합니다. 작업을 받으면 요구 사항을 철저히 분석하고 다른 4개의 에이전트에 하위 작업을 할당합니다. 이러한 전문 에이전트는 특정 유형의 작업을 처리하는 데 능숙합니다. 웹브라우저 에이전트는 웹 검색을 처리하고, 파일네비게이터 에이전트는 로컬 파일 시스템 탐색을 관리하고, 코드라이터 에이전트는 Python 코드 스니펫을 작성하고 실행하고, 컴퓨터터미널은 고수준 작업을 지원하기 위해 운영 체제 수준 명령을 실행합니다.

Magentic-One 아키텍처의 필수적인 특징은 비동기 이벤트 기반 작동입니다. 동기식 요청-응답 모델과 달리 비동기식 방법을 사용하면 시스템 구성 요소가 동시에 실행되어 다른 기능을 중단하지 않고 언제든지 새 입력을 받거나 작업을 트리거할 수 있습니다. 예를 들어 웹브라우저 에이전트는 오케스트레이터가 웹 페이지에서 정보를 다운로드하고 추출하는 작업을 할당하면 페이지 로드를 시작할 수 있으며, 오케스트레이터와 다른 에이전트는 다른 작업을 계속할 수 있습니다. 페이지가 로드되고 필요한 데이터가 추출되면 웹브라우저 에이전트는 오케스트레이터에 알리고 결과를 반환합니다. 이 전략을 통해 Magentic-One은 리소스를 보다 효율적으로 관리하고 대기 시간을 줄이며 높은 동시성 시나리오에 보다 효과적으로 대응할 수 있습니다.

비동기 아키텍처 외에도 Magentic-One은 고도로 모듈화된 설계로 구별됩니다. 각 에이전트는 명확한 책임과 인터페이스 정의를 가진 독립적인 기능 단위입니다. 이 접근 방식을 통해 개발자는 다른 구성 요소와의 상호 작용 세부 정보에 대해 걱정하지 않고 단일 에이전트의 기능에 집중할 수 있으므로 시스템 구성이 단순화됩니다. 모듈성은 코드 재사용 및 기술 공유를 촉진하여 기존 에이전트를 새로운 프로젝트에서 사용하거나 최소한의 수정으로 다른 애플리케이션에 적용할 수 있습니다. Magentic-One의 모듈식 설계는 상당한 확장성도 제공합니다. 기술이 발전하거나 비즈니스 요구 사항이 변경됨에 따라 주요 시스템 점검 없이 새 에이전트를 추가하거나 기존 에이전트 기능을 업데이트할 수 있습니다. 예를 들어 특정 영역의 작업이 더 복잡해지면 특수 에이전트를 추가하여 시스템을 개선할 수 있습니다.