마이크로소프트 Agent Framework를 만나보세요 — 여러분의 .NET Agent 툴킷 | Luis Beltran


agent-framework #dotnet #ai-agent #semantic-kernel #autogen

Microsoft가 .NET 및 Python을 지원하는 새로운 오픈 소스 AI 에이전트 SDK인 'Microsoft Agent Framework’를 출시했습니다. 이 프레임워크는 Semantic Kernel의 엔터프라이즈 오케스트레이션과 AutoGen의 유연한 멀티 에이전트 패턴을 통합하여 단일화된 .NET 친화적 환경을 제공합니다. 개발자는 이를 통해 단순한 LLM 기반 에이전트부터 복잡한 멀티 에이전트 워크플로우 및 도구 통합까지 확장 가능한 시스템을 구축할 수 있게 됩니다.


Microsoft Agent Framework 개요

Microsoft Agent Framework(MAF)는 AI 에이전트 및 멀티 에이전트 워크플로우 구축을 위한 새로운 오픈 소스 SDK입니다. .NET 및 Python을 완벽하게 지원하며, Semantic Kernel의 오케스트레이션 기능과 AutoGen의 멀티 에이전트 패턴을 결합한 것이 특징입니다.

  • 주요 기능
    • LLM 기반의 단순 에이전트 생성 가능함
    • 복잡한 멀티 에이전트 워크플로우, 오케스트레이션 파이프라인, 도구 통합 구현 가능함
    • AIAgent, ChatClientAgent 등 표준화된 추상화를 사용하여 OpenAI, Azure OpenAI 등 다양한 LLM 제공자 간 전환이 용이함
    • 모니터링, 텔레메트리, 오류 처리, 휴먼 인 더 루프(Human-in-the-loop) 등을 지원하여 프로토타입에서 상용 수준까지 확장 가능함

에이전트의 정의 및 기능

MAF에서 에이전트는 주로 AIAgent 또는 파생 클래스의 인스턴스로 정의됩니다.

  • 에이전트 역할
    • 대화 컨텍스트(메모리)를 유지하고 상태 및 기록을 관리함
    • 표준 채팅 클라이언트 인터페이스를 통해 호환되는 LLM을 사용하여 응답을 생성함
    • Model Context Protocol(MCP)과 같은 프로토콜을 통해 API, 코드 실행기 등 외부 도구를 호출하여 외부 데이터나 서비스와 통합할 수 있음

구현 데모: 크리스마스 선물 추천 에이전트

.NET 콘솔 애플리케이션을 생성하고 Azure CLI를 통해 Azure에 인증하는 과정을 거쳐 에이전트를 구현합니다.

  • 프로젝트 설정 및 인증
    • dotnet new console 명령어로 프로젝트 생성 후 Azure CLI(az login)로 인증을 수행함
    • Microsoft.Agents.AI 및 관련 NuGet 패키지를 설치하여 환경을 구성함

  • 도구(Tool) 생성

    • 예산에 따라 선물을 추천하는 SuggestGift 메서드를 포함한 ChristmasTools 클래스를 작성함
    • 도구는 LLM이 생성하는 텍스트 외에 계산이나 데이터 조회와 같은 결정론적 로직을 수행하여 결과의 신뢰성을 높임
  • 에이전트 선언 및 실행

    • Program.cs에서 AzureOpenAIClient를 생성하고 CreateAIAgent 메서드로 에이전트를 정의함
    • 정의된 도구를 에이전트에 연결하고 RunAsync 메서드를 통해 사용자 프롬프트에 대한 응답을 생성함

Agent Execution Result

도구(Tools)의 중요성

도구는 에이전트가 단순한 텍스트 생성을 넘어 구체적인 작업을 수행할 수 있게 합니다.

  • 도구의 이점
    • 명시적인 함수로 동작하므로 LLM의 기억이나 환각에 의존하지 않고 일관된 출력을 보장함
    • 데이터 가져오기, 계산 등 결정론적 로직 수행에 유용함
    • 여러 도구를 결합하여 더욱 강력하고 견고한 에이전트 시스템을 구축할 수 있음
1개의 좋아요