Azure Functions 클라우드 호스팅 지능형 애플리케이션을 빌드하는 데 도움이 되도록 AI 및 Azure 서비스와 통합되는 서버리스 컴퓨팅 리소스를 제공합니다. 이 문서에서는 함수 앱에서 사용할 수 있는 AI 관련 시나리오, 통합 및 리소스를 조사합니다.
다음 표를 사용하여 작업 시작 방식과 다른 구성 요소가 작업을 어떻게 소비하는지에 따라 통합을 선택하세요:
| Option | 가장 적합한 경우 | 호출 모델 | 주요 고려 사항 |
|---|---|---|---|
| Azure Functions에 호스팅된 기술 | 선언적 명령어와 도구를 사용하여 이벤트 기반 작업에 AI 추론을 추가하세요. | 함수 트리거 또는 선택적으로 제공되는 기본 제공 HTTP 및 MCP 엔드포인트 | Preview |
| Python용 에이전트 바인딩 | 검증, 분기, 오류 및 출력에 대한 코드 기반 제어를 유지하면서 Python 함수에 유한된 에이전트 추론을 추가하세요. | 표준 Functions 트리거는 Python 코드를 호출하여 주입된 Microsoft Agent Framework Agent 객체를 호출합니다 |
미리보기; Python 전용입니다 |
| 모델 컨텍스트 프로토콜(MCP) 엔드포인트 구현 | 동기적이고 재사용 가능한 도구를 Microsoft Foundry 에이전트 및 기타 MCP 클라이언트에 노출하세요. | 스트리밍 가능한 HTTP | 호스팅된 스킬, 일반적으로 제공되는 MCP 확장, 그리고 미리보기 SDK 기반 호스팅 중에서 선택할 수 있습니다. |
| 큐 기반 Azure Functions 도구 | Microsoft Foundry 에이전트용 비동기 백그라운드 도구를 실행하세요. | Azure Queue Storage 입력 및 출력 큐 | 파운드리 특화; 표준 설정을 갖춘 파운드리 에이전트가 필요합니다. |
| 에이전트 워크플로 | 재시작과 대기 과정을 견뎌내야 하는 장기 또는 다단계 AI 작업을 조율하세요. | 애플리케이션 이벤트로 시작되는 지속형 오케스트레이션 | Durable Functions 오케스트레이션을 직접 수행하거나 호스팅된 스킬의 동적 워크플로를 선택하세요. |
이 문서는 언어별로 지정되므로 페이지 맨 위에서 프로그래밍 언어를 선택해야 합니다.
Azure Functions에서 호스팅되는 기술
Azure Functions 호스팅 스킬은 Azure Functions에서 클라우드 호스팅되고 이벤트 기반 지능형 기능을 구축하는 프로그래밍 모델입니다. Markdown, 자연어 명령어, 선언적 구성으로 동작을 정의합니다. 런타임은 .agent.md 파일을 발견하고, 트리거와 엔드포인트를 등록하며, 이벤트가 발생하면 호스팅된 스킬을 실행합니다.
중요합니다
Azure Functions 호스팅 스킬은 현재 미리보기 중입니다. 기능, 구성 이름 및 지원되는 커넥터는 일반 공급 전에 변경할 수 있습니다.
호스팅 스킬을 정의하기 위해 Python 코드를 작성할 필요는 없습니다. Markdown과 설정 파일에서 동작, 트리거, 구성 도구를 정의합니다. 이 설정 기능을 넘어 맞춤형 앱 로직이 필요하다면, 맞춤형 Python 도구를 추가할 수 있습니다.
HTTP 요청, 일정, 메시지, 데이터 변경, 관리되는 커넥터에서 발생한 이벤트, 기타 이벤트에 대응하여 이벤트 기반 애플리케이션에 지능형 동작을 추가하고 싶을 때는 Azure Functions 호스팅 스킬을 활용하세요. 또한 다른 애플리케이션, 에이전트 또는 에이전트 하니스에서 사용할 수 있도록 각 호스팅된 스킬을 AI 기반 도구로 노출하는 선택적 내장 MCP 엔드포인트를 활성화할 수 있습니다.
시작하려면 다음 문서를 참조하세요.
- 개요: Azure Functions에서 호스팅되는 기술
- 시작하기: Azure Functions 호스팅 기술을 활용한 이벤트 기반 AI 앱 구축
- 참조: Azure Functions 호스팅된 기술 구성
Python용 에이전트 바인딩
중요합니다
Python 함수 앱의 에이전트 바인딩은 현재 프리뷰 단계입니다. 기능, 패키지 이름, 구성은 일반 제공 전에 변경될 수 있습니다.
에이전트 바인딩은 표준 Python 함수 호출에 구성된 Microsoft Agent Framework Agent 객체를 추가합니다. 함수는 트리거와 결정론적 애플리케이션 논리를 제어하며, 핸들러는 에이전트를 언제, 어떻게 호출할지 결정합니다.
Python 함수가 주 실행 모델이고 에이전트 추론이 그 작업의 한정된 부분일 때는 에이전트 바인딩을 사용하세요. 선언적으로 정의된 호스팅 스킬이 애플리케이션의 주요 실행 모델일 때는 대신 Azure Functions 호스팅 스킬을 사용하세요. 코드가 바인딩을 통해 구성된 에이전트를 제공받는 대신 전체 에이전트 수명 주기를 제어해야 하는 경우에는 Microsoft Agent Framework SDK를 직접 사용하세요.
에이전트 바인딩은 또한 Durable Functions 오케스트레이션에서 리플레이 세이프 에이전트 호출을 지원합니다. 더 알고 시작하려면 Azure Functions의 Agent bindings for Python을 참고하세요.
도구 및 MCP 서버
AI 모델 및 에이전트는 함수 호출 을 사용하여 도구라고 하는 외부 리소스를 요청합니다. 함수 호출을 통해 모델과 에이전트는 대화나 작업의 맥락에 따라 특정 기능을 동적으로 호출할 수 있습니다.
함수는 수요를 처리하도록 효율적으로 확장하고 원격 Azure 서비스와 에이전트 연결을 간소화하는 바인딩 확장을 제공하기 때문에 에이전트 워크플로에서 함수 호출을 구현하는 데 특히 적합합니다. Functions에서 AI 도구를 빌드하거나 호스트하는 경우 서버리스 가격 책정 모델 및 플랫폼 보안 기능도 얻을 수 있습니다.
MCP는 원격 서버와 상호작용하는 업계 표준입니다. AI 모델 및 에이전트가 외부 시스템과 통신할 수 있는 표준화된 방법을 제공합니다. MCP 서버를 사용함으로써 이러한 AI 클라이언트는 외부 시스템의 도구와 기능을 효율적으로 결정할 수 있습니다.
Azure Functions 현재 다음 유형의 도구를 사용하여 함수 코드 노출을 지원합니다.
| 도구 유형 | 설명 |
|---|---|
| 호스팅 기술을 위한 내장 MCP 엔드포인트 | 내장 MCP 엔드포인트를 통해 AI 추론을 도구로 적용하는 호스팅 스킬을 노출하세요. |
| 원격 MCP 서버 | 결정론적 MCP 도구를 만들거나 동기식 도구 호출을 위한 SDK 기반 MCP 서버를 호스팅하세요. |
| Queue 기반 Azure Functions 도구 | 메시지 큐를 통한 비동기 함수 호출을 위해 Microsoft Foundry 전용 도구를 사용하세요. |
MCP 엔드포인트를 노출하는 방법을 선택하세요
Functions는 MCP를 통한 기능 노출 옵션을 지원합니다:
- Azure Functions 호스팅 스킬에 대한 내장 MCP 엔드포인트를 활성화하여 파일에 정의된
.agent.mdAI 기반 도구를 노출시키세요. 호스팅된 스킬은 현재 미리보기(preview) 중입니다. - MCP 바인딩 확장 기능을 사용해 결정론적 MCP 도구를 생성하고 호스팅하는 것은 다른 함수 앱과 마찬가지로 됩니다.
- 공식 MCP SDK를 사용하여 생성된 자체 호스팅 MCP 서버입니다. 이 호스팅 옵션은 현재 미리 보기로 제공됩니다.
다음은 Functions에서 제공하는 현재 MCP 엔드포인트 옵션의 비교 자료입니다:
| 특징 | 호스팅 기술을 위한 내장 MCP 엔드포인트 | MCP 바인딩 확장 | 자체 호스팅 MCP 서버 |
|---|---|---|---|
| 가장 적합한 경우 | AI 기반 호스팅 스킬을 MCP 도구로 노출하세요. | 함수 트리거와 바인딩을 가진 결정론적 MCP 도구를 구축하세요. | 공식 MCP SDK로 구축된 기존 서버를 호스팅하세요. |
| 현재 지원 수준 | Preview | 일반적으로 이용 가능 | 미리 보기* |
| 프로그래밍 모델 |
.agent.md 호스트 스킬 |
함수 트리거 및 바인딩 | 표준 MCP SDK |
| 상태 저장 실행 | 세션 이력 지원 | 지원됨 | 현재 지원되지 않음 |
| 사용자 지정 코드 언어 | Python (선택 가능한 맞춤 도구) | C#(격리된 프로세스) Python TypeScript JavaScript Java |
C#(격리된 프로세스) Python TypeScript Java |
| 호스팅 계획 | Flex 사용량 Premium 전용(App Service) |
지원되는 Azure Functions 호스팅 플랜 | Flex 사용만 해당 |
| 기타 요구 사항 | 호스팅된 스킬에서 builtin_endpoints.mcp 활성화 |
None | Streamable HTTP 전송을 사용하는 무상태 서버 |
| 구현 방법 | 호스팅된 스킬 런타임에 내장된 MCP 엔드포인트 | MCP 바인딩 확장 | 사용자 지정 처리기 |
*자체 호스팅 MCP 서버에 대한 구성 세부 정보는 미리 보기 중에 변경됩니다.
Functions에서 원격 MCP 서버를 시작하려면 다음 언어별 자료를 사용하세요:
C#의 경우, MCP 확장과 SDK 기반 호스팅에 대한 다음 리소스들을 비교해 보세요:
| Options | MCP 바인딩 확장 | 자체 호스팅 MCP 서버 |
|---|---|---|
| 문서 | MCP 바인딩 확장 | 적용할 수 없음 |
| Samples | 원격 사용자 지정 MCP 서버 | 날씨 서버 |
| 템플릿 | HelloTool | 적용할 수 없음 |
Python의 경우, MCP 확장과 SDK 기반 호스팅에 관한 다음 자료들을 비교해 보세요:
| Options | MCP 바인딩 확장 | 자체 호스팅 MCP 서버 |
|---|---|---|
| 문서 | MCP 바인딩 확장 | 적용할 수 없음 |
| Samples | 원격 사용자 지정 MCP 서버 | 날씨 서버 |
TypeScript의 경우, MCP 확장 기능과 SDK 기반 호스팅에 대한 다음 자료들을 비교해 보세요:
| Options | MCP 바인딩 확장 | 자체 호스팅 MCP 서버 |
|---|---|---|
| 문서 | MCP 바인딩 확장 | 적용할 수 없음 |
| Samples | 원격 사용자 지정 MCP 서버 | 날씨 서버 |
자바스크립트는 MCP 확장 리소스를 사용하세요. SDK 기반 호스팅은 지원하지만, 현재 JavaScript 퀵스타트는 제공되지 않습니다.
| Options | MCP 바인딩 확장 | 자체 호스팅 MCP 서버 |
|---|---|---|
| 문서 | MCP 바인딩 확장 | 적용할 수 없음 |
| Samples | 아직 사용할 수 없음 | 아직 사용할 수 없음 |
Java의 경우, MCP 확장 문서 문서를 사용하세요. 현재 언어별 샘플은 제공되지 않습니다.
| Options | MCP 바인딩 확장 | 자체 호스팅 MCP 서버 |
|---|---|---|
| 문서 | MCP 바인딩 확장 | 적용할 수 없음 |
| Samples | 아직 사용할 수 없음 | 아직 사용할 수 없음 |
PowerShell은 현재 MCP 서버 호스팅 옵션에 대해 지원되지 않습니다.
Microsoft Foundry Agent Service용 큐 기반 Azure Functions 도구 선택
Microsoft Foundry Agent Service는 비동기식 함수 호출을 위한 Azure Functions 전용 도구도 제공합니다. 에이전트는 요청을 Azure Queue Storage 입력 큐에 넣습니다. 큐 트리거 함수는 요청을 처리하고 결과를 출력 큐를 통해 반환합니다.
즉각적인 응답이 필요 없는 백그라운드 작업에 이 Foundry 전용 통합을 사용하고, 신뢰할 수 있는 메시지 전달과 재전송 혜택을 누릴 수 있습니다. 동기식 상호작용이나 다른 AI 클라이언트와 재사용하고 싶은 도구는 MCP 서버를 사용하세요.
큐 기반 Azure Functions 도구는 표준 설정의 Foundry 에이전트가 필요합니다. 지원되는 SDK를 검토하고 도구를 구축하려면 Foundry Agent Service와 함께 Azure Functions 사용하기를 참조하세요.
에이전트 워크플로
애플리케이션 코드가 신뢰할 수 있는 에이전트 호출, 모델 호출, 승인 및 기타 작업을 정의할 때 Durable Functions를 사용하세요. Durable Functions는 대기 중이거나 다시 시작된 후에도 오케스트레이션 상태를 유지하며, 함수 체이닝, 팬아웃/팬인, 사용자 상호 작용과 같은 일반적인 패턴을 지원합니다.
Azure Functions 호스팅 스킬을 사용한다면, 동적 워크플로우는 모델이 도구 호출, 서브에이전트 작업, 대기로 구성된 구조화된 계획을 생성하는 미리보기 옵션을 제공합니다. 호스팅된 스킬 런타임은 해당 계획을 Durable Functions 오케스트레이션으로 실행합니다. 작업이 한 번의 상호작용으로 끝날 수 있을 때는 직접 툴 호출을 사용하고, 작업이 한 턴을 넘어서 진행되어야 하거나, 펼쳐지거나, 기다리거나, 재시작을 견뎌야 할 때는 동적 워크플로우를 사용하세요.
| Option | 누가 워크플로우를 정의하는가 | 가장 적합한 경우 | 주요 고려 사항 |
|---|---|---|---|
| Direct Durable Functions 오케스트레이션 | 애플리케이션 코드 | 명시적인 제어 흐름, 재시도, 대기, 승인이 포함된 예측 가능한 워크플로우 | 언어에 맞는 Durable Functions 프로그래밍 모델을 사용하세요. |
| 호스팅된 스킬 동적 워크플로 | AI 모델 | 도구 호출, 서브에이전트 작업, 대기, 런타임 팬아웃을 계획하는 적응형 워크플로우 | Preview; Azure Functions 호스팅 기술이 필요합니다. |
구현 지침은 애플리케이션 패턴 과 동적 워크플로우 생성 및 실행을 참조하세요.
Azure Functions 위한 AI 도구 및 프레임워크
Functions를 사용하면 원하는 언어로 앱을 만들고 좋아하는 라이브러리를 사용할 수 있습니다. 이러한 유연성 때문에 AI 지원 함수 앱에서 광범위한 AI 라이브러리 및 프레임워크를 사용할 수 있습니다.
이 Microsoft AI 플랫폼과 프레임워크는 서로 다른 애플리케이션 아키텍처를 지원합니다:
| 플랫폼 또는 프레임워크 | 가장 적합한 경우 | Azure Functions와 함께 작동하는 방법 |
|---|---|---|
| Microsoft 에이전트 프레임워크 | 애플리케이션 내에서 실행되는 코드 우선 에이전트 로직과 워크플로우 | 함수 코드에서 프레임워크 SDK를 실행하세요. |
| Microsoft Foundry 에이전트 서비스 | Functions 호스팅 도구를 사용하는 관리 에이전트 | 에이전트를 호스팅 서비스로 생성하고 관리하세요. 파운드리 에이전트는 MCP, 큐, OpenAPI를 통해 Functions가 호스팅하는 도구를 호출할 수 있습니다. |
| Microsoft Foundry SDK | 관리 에이전트가 필요 없는 직접 모델 및 서비스 콜 | 함수 코드에서 직접 Foundry 모델과 서비스를 호출하세요. |
Functions에서는 앱이 서드파티 라이브러리와 프레임워크를 참조할 수 있어, 좋아하는 AI 도구와 라이브러리를 AI 기능 기능에서 모두 사용할 수 있습니다.