Microsoft Agent Framework 1.0: Semantic Kernel과 AutoGen을 하나로 합친 .NET·Python SDK

Microsoft Agent Framework 1.0 GA의 에이전트 추상화·도구 파이프라인·오케스트레이션 패턴과 MCP·A2A 프로토콜 통합, LangGraph 등 경쟁 프레임워크 비교를 정리한다

2026-08-14 · 최초 발행 2026-04-20

2026년 4월 3일, Microsoft는 Agent Framework 1.0 GA를 공식 출시하며 엔터프라이즈 AI 에이전트 개발의 새로운 기준을 제시했다. Semantic Kernel의 엔터프라이즈 기능과 AutoGen의 간결한 추상화를 하나의 .NET·Python SDK로 통합한 이 프레임워크는 MCP(Model Context Protocol)와 A2A(Agent-to-Agent) 프로토콜을 기본 지원하며, 스트리밍·체크포인팅·human-in-the-loop 패턴을 모든 오케스트레이션 방식에 걸쳐 일관되게 제공한다. 이 글에서는 프레임워크의 내부 설계 원칙과 주요 경쟁 도구와의 차별점을 심층 분석한다.

GA 승격이 의미하는 것

RC(Release Candidate) 단계를 거쳐 GA로 승격된 Microsoft Agent Framework 1.0은 단순한 버전 업그레이드가 아니다. 이는 Microsoft가 AI 에이전트 개발 분야에서 자사의 두 핵심 오픈소스 프로젝트였던 Semantic Kernel과 AutoGen을 하나로 수렴시키겠다는 전략적 결정의 결실이다.

Semantic Kernel은 그동안 엔터프라이즈 환경에서 플러그인 시스템, 메모리 추상화, 다양한 AI 모델 연동을 지원하는 견고한 기반을 제공했다. 반면 AutoGen은 멀티 에이전트 대화 패턴을 훨씬 직관적으로 표현할 수 있는 추상화로 연구자와 개발자들 사이에서 빠르게 인기를 얻었다. 두 프로젝트의 강점을 하나의 SDK로 통합함으로써, 개발자는 더 이상 어느 프레임워크를 선택할지 고민할 필요가 없어졌다.

Microsoft Agent Framework1.0Semantic Kernel 레이어(엔터프라이즈 기능)AutoGen 레이어(에이전트 추상화)모델/임베딩 지원세션 상태 관리필터·텔레메트리에이전트 패턴그룹 채팅핸드오프공통 기능스트리밍체크포인팅Human-in-the-Loop프로토콜MCP 지원A2A 지원

고수준 API에서 저수준 제어까지

Microsoft Agent Framework의 핵심 설계 원칙은 계층화된 추상화다. 개발자는 필요에 따라 고수준의 선언적 API에서 저수준의 제어 인터페이스까지 자유롭게 선택할 수 있다.

에이전트 기본 단위는 에이전트 이름·역할·시스템 프롬프트인 Identity, 등록된 도구 목록과 실행 권한인 Capabilities, 세션 내 단기 메모리와 선택적 장기 메모리인 Memory, 연동할 LLM 및 파라미터 설정인 Model로 구성된다.

Python 예시 코드 구조를 살펴보면, Semantic Kernel의 Kernel 객체가 모델 서비스와 플러그인 레지스트리를 관리하는 반면, AutoGen의 에이전트 클래스는 그 위에서 대화 흐름과 에이전트 간 메시지 라우팅을 담당한다. 두 레이어는 명확한 인터페이스로 분리되어 있어, 기존 Semantic Kernel 코드 자산을 재사용하면서 AutoGen의 멀티 에이전트 패턴을 추가하는 것이 가능하다.

.NET 지원은 엔터프라이즈 채택에 결정적이다. Python 전용이었던 AutoGen과 달리, Microsoft Agent Framework는 .NET C# SDK를 동등한 수준으로 지원함으로써 기존 .NET 엔터프라이즈 코드베이스와의 통합이 자연스럽다.

요청 하나가 도구를 거쳐 돌아오기까지

AI 에이전트의 실질적 능력은 도구(Tool) 실행에서 나온다.

"LLM""도구 실행""도구 필터""도구 레지스트리""에이전트""사용자 요청""LLM""도구 실행""도구 필터""도구 레지스트리""에이전트""사용자 요청""자연어 태스크 입력""도구 선택 요청 (도구 목록 포함)""tool_call: {이름, 파라미터}""도구 조회""도구 구현체 반환""사전 실행 필터 (권한 검사, 로깅)""실행 허가""도구 실행""실행 결과""사후 실행 필터 (결과 검증, 텔레메트리)""검증된 결과""결과를 컨텍스트에 추가 후 계속 추론""최종 응답""응답 반환"

필터(Filter) 시스템은 Semantic Kernel에서 도입된 강력한 미들웨어 패턴이다. 도구 실행 전·후에 임의의 로직을 삽입할 수 있어 특정 에이전트가 특정 도구를 호출할 수 있는지 검증하는 권한 검사, 모든 도구 호출과 결과를 불변 로그에 기록하는 감사 로깅, 도구 반환 값을 LLM이 이해하기 쉬운 형태로 변환하는 결과 변환, 외부 API 호출 횟수를 제어하는 속도 제한 같은 횡단 관심사(Cross-Cutting Concerns)를 처리한다.

타입 안전성(Type Safety)도 주목할 만한 특징이다. .NET SDK에서는 강타입 도구 시그니처를 통해 컴파일 타임에 도구 인터페이스 오류를 잡을 수 있으며, Python SDK는 Pydantic 모델을 활용한 런타임 검증을 제공한다.

순차부터 Magentic-One까지, 에이전트를 조율하는 법

Microsoft Agent Framework가 지원하는 오케스트레이션 패턴들을 살펴보자. 순차(Sequential)는 에이전트들이 정해진 순서대로 실행되며 이전 에이전트의 출력이 다음 에이전트의 입력이 되는 파이프라인 구조로, 데이터 처리 체인에 적합하다. 동시(Concurrent)는 독립적인 여러 에이전트가 병렬로 실행되는 Fan-out/fan-in 패턴으로, 각 에이전트 결과를 집계 에이전트가 종합하며 서로 독립적인 서브태스크 병렬 처리에 적합하다.

핸드오프(Handoff)는 한 에이전트가 태스크를 다른 에이전트에게 위임하는 방식으로, 라우팅 에이전트가 요청 유형에 따라 전문 에이전트로 전달하는 티어드 구조다. 그룹 채팅(Group Chat)은 여러 에이전트가 공유 채팅 채널에서 대화를 나누며 협력하는 방식으로, AutoGen이 대중화한 패턴이며 진행자(Speaker Selector) 에이전트가 발언 순서를 조율한다. Magentic-One은 Microsoft Research가 제안한 계층적 에이전트 구조로, Orchestrator 에이전트가 하위 전문 에이전트(WebSurfer, FileSurfer, Coder, ComputerTerminal)를 동적으로 조율하며 복잡한 멀티 스텝 태스크에 최적화되어 있다.

검색파일 처리코드 실행터미널 명령태스크 완료추가 단계 필요사용자 요청Orchestrator 에이전트(Magentic-One)태스크 분류WebSurfer 에이전트FileSurfer 에이전트Coder 에이전트ComputerTerminal 에이전트결과 집계최종 응답

MCP로 도구를, A2A로 다른 프레임워크를

Microsoft Agent Framework 1.0이 에이전트 생태계에서 중요한 이유 중 하나는 표준 프로토콜 지원이다. MCP(Model Context Protocol)는 Anthropic이 제안한 도구 연결 표준으로, AI 에이전트가 다양한 외부 도구와 데이터 소스에 표준화된 방식으로 연결할 수 있도록 한다. Microsoft Agent Framework는 MCP 서버를 일반 도구처럼 등록하고 호출할 수 있으며, 역으로 자신의 에이전트 기능을 MCP 서버로 노출할 수도 있다.

A2A(Agent-to-Agent) 프로토콜은 서로 다른 프레임워크로 구축된 에이전트들이 통신할 수 있는 표준이다. Google이 주도하고 Microsoft가 참여하는 이 프로토콜은 에이전트 간 태스크 위임, 상태 공유, 결과 반환을 표준화한다.

MCPA2AA2A내부 A2AMicrosoft AF 에이전트MCP 서버(파일시스템, DB, API)외부 에이전트(LangGraph, CrewAI)Azure AI 서비스 에이전트다른 AF 에이전트도구 실행 결과위임 태스크 결과

MCP와 A2A의 동시 지원은 Microsoft Agent Framework가 특정 벤더 생태계에 종속되지 않고 개방형 에이전트 네트워크의 노드가 될 수 있음을 의미한다.

LangGraph·OpenAI Agents SDK·CrewAI와 비교하면

LangGraph는 에이전트 흐름을 방향성 비순환 그래프(DAG)로 모델링한다. 각 노드가 상태를 변환하는 함수이며, 엣지가 조건부 분기를 표현한다. 이 접근법은 복잡한 상태 머신을 정확하게 표현하고, 장기 실행 워크플로우에서 각 단계를 감사하기 쉽다는 장점이 있다. 반면 Microsoft Agent Framework는 대화형(Conversational) 패러다임을 기반으로 한다. 에이전트들이 메시지를 주고받으며 협력하는 방식이 더 직관적이고, 동적인 에이전트 구성이 유연하다. Azure 엔터프라이즈 환경과의 통합은 Microsoft AF가 압도적으로 유리하다.

OpenAI Agents SDK는 Python 전용이며 OpenAI 모델에 최적화되어 있다. Code Interpreter, File Search 등 OpenAI 고유 도구와의 통합이 깊고, 샌드박스 실행 환경을 기본 제공한다. 그러나 Azure/Microsoft 생태계와의 통합이나 .NET 지원은 없다. Microsoft AF는 다양한 LLM 제공자를 지원하며 .NET+Python 이중 SDK를 제공한다는 점에서 멀티 클라우드·멀티 모델 전략을 취하는 기업에 적합하다.

CrewAI는 에이전트 간 역할(Role) 기반 협업에 특화되어 있다. 팀장(Manager), 연구원(Researcher), 작가(Writer) 같은 역할 구조를 직관적으로 표현할 수 있다. 그러나 엔터프라이즈 기능(세션 상태, 타입 안전성, 텔레메트리 등)은 Microsoft AF가 훨씬 풍부하다.

기준 Microsoft AF LangGraph OpenAI Agents SDK CrewAI
언어 .NET + Python Python Python Python
패러다임 대화형 그래프 도구 중심 역할 기반
엔터프라이즈 매우 강함 강함 보통 약함
표준 프로토콜 MCP + A2A MCP 없음 없음
Azure 통합 네이티브 가능 제한적 제한적

체크포인팅과 HITL, 그리고 세션 상태

Microsoft Agent Framework의 엔터프라이즈 적합성을 결정짓는 핵심 패턴을 살펴본다.

체크포인팅(Checkpointing)은 장기 실행 에이전트 워크플로우가 중간에 실패할 수 있다는 전제에서 출발한다. 에이전트 실행 상태를 주기적으로 저장해, 실패 시 처음부터 재실행하지 않고 마지막 체크포인트부터 재개할 수 있도록 한다. 특히 외부 API 호출이나 시간이 오래 걸리는 도구 실행을 포함하는 워크플로우에서 필수적이다. 체크포인트는 Azure Cosmos DB, Azure Blob Storage 등 영구 스토리지에 저장되며, 분산 환경에서도 안정적인 재개가 보장된다.

Human-in-the-Loop(HITL)은 에이전트가 특정 임계점에 도달했을 때 인간의 승인 또는 입력을 기다리는 패턴이다. Microsoft Agent Framework는 에이전트가 중요한 행동 실행 전 명시적 승인을 요청하는 승인 대기, 에이전트가 판단하기 어려운 상황에서 인간에게 명확화를 요청하는 모호성 해소, 에이전트가 초안을 생성하고 인간이 검토 후 계속 실행을 지시하는 검토 및 수정 시나리오를 기본 지원한다.

"인간 검토자""알림 서비스""상태 저장소""에이전트""인간 검토자""알림 서비스""상태 저장소""에이전트""태스크 실행 중...""체크포인트 저장""승인 요청 알림 발송""일시 정지 (pause)""승인 필요: 태스크 상세 내용""승인 또는 수정 지시 저장""재개 신호 수신""결정 사항 로드""승인된 행동 실행""완료 체크포인트 저장"

엔터프라이즈 에이전트는 멀티 턴 대화, 사용자별 컨텍스트, 태스크 간 연속성을 관리해야 한다. Microsoft Agent Framework의 세션 상태는 토큰 예산 관리를 포함한 에이전트 대화 이력, 세션 내 변수 및 도구 실행 결과 캐시, 사용자 프로필 및 권한 정보, 진행 중인 태스크 상태를 포함한다. 세션은 메모리 내 또는 외부 스토리지에 저장될 수 있으며, 스케일 아웃 환경에서도 일관된 상태를 보장한다.

Microsoft Agent Framework 1.0 GA는 엔터프라이즈 AI 에이전트 개발의 복잡성을 실질적으로 낮추는 중요한 이정표다. Semantic Kernel의 성숙한 엔터프라이즈 기능과 AutoGen의 직관적인 에이전트 추상화를 하나로 통합하고, MCP와 A2A 같은 개방형 표준을 적극 수용함으로써 벤더 종속 없는 에이전트 생태계 구축이 가능해졌다. .NET과 Python을 동시에 지원한다는 점은 기존 기업 자산을 활용하면서 AI 에이전트를 도입하려는 조직에게 특히 설득력 있는 선택지가 된다.

Sources

MicrosoftAgentFrameworkSemanticKernelAutoGenMCPMultiAgent