- Published on
마이크로소프트 오픈 AI 에이전트 업데이트 지능형 에이전트 재구성 다층 구조 강화
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의 모듈식 설계는 상당한 확장성도 제공합니다. 기술이 발전하거나 비즈니스 요구 사항이 변경됨에 따라 주요 시스템 점검 없이 새 에이전트를 추가하거나 기존 에이전트 기능을 업데이트할 수 있습니다. 예를 들어 특정 영역의 작업이 더 복잡해지면 특수 에이전트를 추가하여 시스템을 개선할 수 있습니다.