Microsoft 365 에이전트 SDK 대화형 에이전트를 빌드하기 위한 개발 프레임워크입니다. 대화형 에이전트는 사용자로부터 메시지를 받고, 처리하고, 응답할 수 있는 소프트웨어입니다. 메시지를 보내는 사용자(Teams, 웹 사이트, Slack 또는 다른 곳에서)와 해당 메시지에 응답하기 위해 빌드한 논리 간의 배관 계층으로 간주합니다.
SDK는 다양한 표면에서 메시지를 받고 보내는 메커니즘을 처리하므로 개발자는 낮은 수준의 통신 프로토콜보다는 에이전트가 실제로 수행하는 일에 집중할 수 있습니다.
지원되는 언어
에이전트 SDK는 다음을 지원합니다.
- .NET 8.0 SDK를 사용하는 C#
- Node.js 버전 18 이상을 사용하는 JavaScript
- Python 3.9에서 3.11 버전 사용
에이전트 SDK가 해결하는 세 가지 문제
에이전트는 둘 이상의 위치에서 작업해야 합니다. 사용자가 모두 동일한 채널을 통해 통신하는 것은 아닙니다. 일부는 Microsoft Teams 사용하고, 일부는 Microsoft 365 Copilot 사용하고, 일부는 회사 웹 사이트를 사용하며, 일부는 Slack 또는 Facebook Messenger와 같은 비 Microsoft 도구를 사용합니다. 프레임워크가 없으면 개발자는 각각 고유한 메시지 형식, 인증 체계 및 연결 프로토콜을 사용하여 각 표면에 대해 별도의 통합 코드를 작성해야 합니다.
SDK는 채널 추상화 계층을 제공합니다. 에이전트 논리를 한 번 작성하면 SDK는 각 채널에서 예상하는 형식으로 들어오고 나가는 메시지를 변환합니다. 새 채널을 추가해도 에이전트의 핵심 동작을 다시 쓸 필요가 없습니다.
하나의 AI 서비스에 종속되기를 원하지 않을 것입니다. Azure AI Foundry, OpenAI, 의미 체계 커널 또는 완전히 다른 것이든 간에 AI 서비스가 에이전트를 구동하는 선택은 환경이 진화하고 다른 사용 사례가 등장함에 따라 자주 변경됩니다. 특정 AI 공급자에 통합된 에이전트 프레임워크는 그 선택이 바뀌면 개발자가 코드의 상당 부분을 다시 작성하도록 강제합니다.
SDK는 AI에 구애받지 않습니다. 메시지 수신, 상태 관리 및 이벤트 라우팅을 위한 스캐폴딩을 제공하지만 응답을 생성하는 요소에 대해서는 가정하지 않습니다. 개발자는 선호하는 AI 서비스 또는 오케스트레이션 라이브러리를 연결합니다. SDK는 이러한 선택을 방해하지 않습니다.
대화 상태를 처리하는 것은 어렵습니다. 대화는 상태 비저장이 아닙니다. 사용자는 후속 질문을 하거나, 두 번 전에 말한 것을 참조하거나, 대화를 포기하고 나중에 다시 시작할 수 있습니다. 메시지 간의 흐름 방식, 저장 위치, 그리고 발생한 이벤트를 추적하는 것을 포함하여 해당 컨텍스트를 관리하는 것은 처음부터 새로 만드는 것이 지루하고 오류가 발생하기 쉽습니다.
SDK는 기본 제공 상태 및 스토리지 관리를 제공합니다. 턴의 개념(대화의 단일 작업 단위)을 소개하고 개발자가 자체 지속성 계층을 연결하지 않고도 턴 간에 상태를 추적합니다. 즉, 상용구 코드가 줄어들고 대화 흐름 논리의 버그가 줄어듭니다.
조립 방법
SDK는 메시지 도착 시 세 가지 작업을 수행합니다.
전송된 채널(Teams, 웹 채팅, Slack 등)에서 메시지를 수신하여 이를
Activity라는 공통 형식으로 정규화합니다.에이전트 코드의 적절한 처리기로 활동을 라우팅합니다. 예를 들어 메시지 활동은 하나의 처리기를 트리거하고, 사용자가 대화에 참가하면 다른 처리기가 트리거됩니다.
동일한 채널을 통해 응답을 다시 전송하여 응답을 채널이 예상하는 형식으로 다시 변환합니다.
개발자는 관심 있는 활동 유형에 대한 처리기를 작성합니다. SDK는 인증, 메시지 형식 변환 및 채널 연결을 포함하여 다른 모든 것을 처리합니다.
에이전트 SDK가 아닌 것
에이전트 SDK는 AI 모델, 오케스트레이션 엔진 또는 코드 없는 작성기가 아닙니다. 에이전트 SDK는 에이전트가 말하는 내용을 결정하지 않습니다. 이러한 요소는 개발자가 에이전트에 연결하는 AI 서비스 또는 비즈니스 논리의 작업입니다. 에이전트 SDK는 대화 상태를 그대로 유지하여 채널 간에 해당 논리 간에 메시지를 안정적으로 가져오는 프레임워크입니다.
다음 단계
- 활동 프로토콜에 대해 알아보기
- AgentApplication에 대해 알아보기
- 빠른 시작: 기본 에이전트 만들기 및 테스트