Microsoft Agent Framework 는 .NET 및 Python용 AI 에이전트 및 다중 에이전트 워크플로를 빌드하기 위한 오픈 소스 개발 키트입니다. 의미 체계 커널 및 AutoGen 프로젝트의 아이디어를 한데 모아 확장하며, 새로운 기능을 추가하면서 강점을 결합합니다. 동일한 팀에서 구축한 이 통합 기반은 앞으로 AI 에이전트를 빌드하기 위한 통합 기반입니다.
에이전트 프레임워크는 다음과 같은 두 가지 주요 범주의 기능을 제공합니다.
- AI 에이전트: LLM을 사용하여 사용자 입력을 처리하고, 도구 및 MCP 서버를 호출하여 작업을 수행하고, 응답을 생성하는 개별 에이전트입니다. 에이전트는 Azure OpenAI, OpenAI 및 Azure AI를 비롯한 모델 공급자를 지원합니다.
- 워크플로: 여러 에이전트와 함수를 연결하여 복잡한 다단계 작업을 수행하는 그래프 기반 워크플로입니다. 워크플로는 휴먼 인 더 루프 시나리오에 대한 형식 기반 라우팅, 중첩, 검사점 지정 및 요청/응답 패턴을 지원합니다.
또한 프레임워크는 모델 클라이언트(채팅 완료 및 응답), 상태 관리를 위한 에이전트 스레드, 에이전트 메모리용 컨텍스트 공급자, 에이전트 작업을 가로채는 미들웨어 및 도구 통합을 위한 MCP 클라이언트를 비롯한 기본 구성 요소를 제공합니다. 이러한 구성 요소를 함께 사용하면 대화형, 강력하고 안전한 AI 애플리케이션을 빌드할 수 있는 유연성과 기능을 제공합니다.
다른 에이전트 프레임워크가 있는 이유는 무엇인가요?
의미 체계 커널 과 AutoGen 은 AI 에이전트 및 다중 에이전트 오케스트레이션의 개념을 개척했습니다. 에이전트 프레임워크는 동일한 팀에서 만든 직접 후속 작업입니다. 단일 및 다중 에이전트 패턴에 대한 AutoGen의 간단한 추상화와 스레드 기반 상태 관리, 형식 안전성, 필터, 원격 분석 및 광범위한 모델 및 포함 지원과 같은 의미 체계 커널의 엔터프라이즈급 기능을 결합합니다. 두 가지를 병합하는 것 외에도 Agent Framework는 개발자에게 다중 에이전트 실행 경로를 명시적으로 제어하는 워크플로와 장기 실행 및 휴먼 인 더 루프 시나리오를 위한 강력한 상태 관리 시스템을 도입합니다. 즉, 에이전트 프레임워크는 의미 체계 커널과 AutoGen의 차세대입니다.
의미 체계 커널 또는 AutoGen에서 마이그레이션하는 방법에 대한 자세한 내용은 의미 체계 커널의 마이그레이션 가이드 및 AutoGen의 마이그레이션 가이드를 참조하세요.
의미 체계 커널과 AutoGen은 모두 오픈 소스 커뮤니티에서 상당한 이점을 얻었으며 에이전트 프레임워크도 마찬가지입니다. Microsoft Agent Framework는 기여를 환영하며 새로운 기능과 기능으로 계속 개선될 것입니다.
비고
Microsoft 에이전트 프레임워크는 현재 공개 미리 보기로 제공됩니다. GitHub 리포지토리에서 피드백 또는 문제를 제출하세요.
중요합니다
Microsoft 에이전트 프레임워크를 사용하여 타사 서버 또는 에이전트와 함께 작동하는 애플리케이션을 빌드하는 경우 사용자 고유의 위험에 처하게 됩니다. 타사 서버 또는 에이전트와 공유되는 모든 데이터를 검토하고 데이터의 보존 및 위치에 대한 타사 사례를 인식할 것을 권장합니다. 데이터가 조직의 Azure 규정 준수 및 지리적 경계와 관련된 의미를 벗어나는지 여부를 관리하는 것은 사용자의 책임입니다.
설치
파이썬:
pip install agent-framework --pre
.그물:
dotnet add package Microsoft.Agents.AI
AI 에이전트
AI 에이전트란?
AI 에이전트는 LLM을 사용하여 사용자 입력을 처리하고, 결정을 내리고, 도구 및 MCP 서버를 호출하여 작업을 수행하고, 응답을 생성합니다. 다음 다이어그램에서는 AI 에이전트의 핵심 구성 요소 및 해당 상호 작용을 보여 줍니다.
또한 AI 에이전트를 스레드, 컨텍스트 공급자 및 미들웨어 와 같은 추가 구성 요소로 보강하여 기능을 향상시킬 수 있습니다.
AI 에이전트를 사용해야 하는 경우
AI 에이전트는 자율적인 의사 결정, 임시 계획, 시행착오 탐색 및 대화 기반 사용자 상호 작용이 필요한 애플리케이션에 적합합니다. 입력 작업이 구조화되지 않고 미리 쉽게 정의할 수 없는 시나리오에 특히 유용합니다.
AI 에이전트가 뛰어난 몇 가지 일반적인 시나리오는 다음과 같습니다.
- 고객 지원: AI 에이전트는 고객의 다중 모달 쿼리(텍스트, 음성, 이미지)를 처리하고, 도구를 사용하여 정보를 조회하고, 자연어 응답을 제공할 수 있습니다.
- 교육 및 튜터링: AI 에이전트는 외부 기술 자료를 활용하여 맞춤형 튜터링을 제공하고 학생의 질문에 답변할 수 있습니다.
- 코드 생성 및 디버깅: 소프트웨어 개발자의 경우 AI 에이전트는 다양한 프로그래밍 도구 및 환경을 사용하여 구현, 코드 검토 및 디버깅을 지원할 수 있습니다.
- 연구 지원: 연구자와 분석가를 위해 AI 에이전트는 웹을 검색하고, 문서를 요약하고, 여러 원본의 정보를 함께 모을 수 있습니다.
핵심은 AI 에이전트가 사용자 요청을 수행하기 위한 정확한 단계 시퀀스를 미리 알 수 없으며 사용자와의 탐색 및 긴밀한 협업이 필요할 수 있는 동적 및 미지정 설정에서 작동하도록 설계되었다는 것입니다.
AI 에이전트를 사용하지 않는 경우는 언제인가요?
AI 에이전트는 고도로 구조화되고 미리 정의된 규칙을 엄격하게 준수해야 하는 작업에 적합하지 않습니다. 애플리케이션이 특정 종류의 입력을 예상하고 수행할 작업 시퀀스가 잘 정의된 경우 AI 에이전트를 사용하면 불필요한 불확실성, 대기 시간 및 비용이 발생할 수 있습니다.
작업을 처리하는 함수를 작성할 수 있는 경우 AI 에이전트를 사용하는 대신 이 작업을 수행합니다. AI를 사용하여 해당 함수를 작성할 수 있습니다.
단일 AI 에이전트는 여러 단계 및 의사 결정 지점을 포함하는 복잡한 작업으로 어려움을 겪을 수 있습니다. 이러한 작업에는 단일 에이전트가 관리할 수 없는 많은 수의 도구(예: 20개 이상)가 필요할 수 있습니다.
이러한 경우 워크플로를 대신 사용하는 것이 좋습니다.
Workflows
워크플로란?
워크플로는 일관성과 안정성을 유지하면서 AI 에이전트를 구성 요소로 포함할 수 있는 미리 정의된 작업 시퀀스를 표현할 수 있습니다. 워크플로는 여러 에이전트, 사용자 상호 작용 및 외부 시스템과의 통합을 포함할 수 있는 복잡하고 장기 실행 프로세스를 처리하도록 설계되었습니다.
워크플로의 실행 시퀀스를 명시적으로 정의하여 실행 경로를 더 자세히 제어할 수 있습니다. 다음 다이어그램에서는 두 개의 AI 에이전트와 함수를 연결하는 워크플로의 예를 보여 줍니다.
워크플로는 조건부 라우팅, 모델 기반 의사 결정 및 동시 실행을 사용하여 동적 시퀀스를 표현할 수도 있습니다. 다중 에이전트 오케스트레이션 패턴이 구현되는 방법입니다. 오케스트레이션 패턴은 여러 단계 및 의사 결정 지점이 필요한 복잡한 작업에서 작업하도록 여러 에이전트를 조정하는 메커니즘을 제공하여 단일 에이전트의 제한 사항을 해결합니다.
워크플로는 어떤 문제를 해결합니까?
워크플로는 여러 단계, 의사 결정 지점 및 다양한 시스템 또는 에이전트와의 상호 작용을 포함하는 복잡한 프로세스를 관리하는 구조화된 방법을 제공합니다. 작업 워크플로 유형은 둘 이상의 AI 에이전트가 필요한 경우가 많도록 설계되었습니다.
다음은 Agent Framework 워크플로의 몇 가지 주요 이점입니다.
- 모듈성: 워크플로를 더 작고 재사용 가능한 구성 요소로 세분화하여 프로세스의 개별 부분을 보다 쉽게 관리하고 업데이트할 수 있습니다.
- 에이전트 통합: 워크플로는 비 에이전트 구성 요소와 함께 여러 AI 에이전트를 통합하여 정교한 작업을 오케스트레이션할 수 있습니다.
- 형식 안전성: 강력한 입력은 런타임 오류를 방지하는 포괄적인 유효성 검사를 통해 구성 요소 간에 메시지가 올바르게 흐르도록 합니다.
-
유연한 흐름: 그래프 기반 아키텍처를 사용하면 복잡한 워크플로를 사용 및
executors사용하는 워크플로를 직관적으로edges모델링할 수 있습니다. 조건부 라우팅, 병렬 처리 및 동적 실행 경로가 모두 지원됩니다. - 외부 통합: 기본 제공 요청/응답 패턴을 사용하면 외부 API와 원활하게 통합할 수 있으며 휴먼 인 더 루프 시나리오를 지원합니다.
- 검사점: 검사점을 통해 워크플로 상태를 저장하여 서버 쪽에서 장기 실행 프로세스를 복구하고 다시 시작합니다.
- 다중 에이전트 오케스트레이션: 순차, 동시, 핸드오프 및 Magentic을 포함하여 여러 AI 에이전트를 조정하기 위한 기본 제공 패턴입니다.
- 구성성: 워크플로를 중첩하거나 결합하여 더 복잡한 프로세스를 만들 수 있으므로 확장성과 적응성이 가능합니다.