Microsoft Foundry Agent Service
에이전트 유형 비교 가이드

Prompt Agent, Workflow Agent, Hosted Agent — 세 가지 에이전트 유형의 특징과 차이점을 한눈에 비교하고, 프로젝트에 적합한 에이전트를 선택하세요.

2026년 4월 17일 업데이트 MS Learn 공식 문서 기반 한국어

에이전트(Agent)란?

에이전트는 대규모 언어 모델(LLM)을 활용하여 사용자 요청을 추론하고, 이를 수행하기 위해 자율적으로 행동하는 AI 애플리케이션입니다. 단순히 텍스트를 생성하는 챗봇과 달리, 에이전트는 도구를 호출하고, 외부 데이터에 접근하며, 다단계 의사결정을 통해 작업을 완료합니다.

Foundry Agent Service는 호스팅, 스케일링, ID 관리, 관찰 가능성, 엔터프라이즈 보안을 자동으로 처리하므로, 개발자는 에이전트 로직에만 집중할 수 있습니다.

에이전트 3대 구성요소

모든 에이전트는 아래 세 가지 핵심 요소의 조합으로 구성됩니다.

Model (LLM)

추론 및 언어 이해 능력을 제공하는 대규모 언어 모델. GPT-4o, Llama, DeepSeek 등 Foundry 모델 카탈로그의 다양한 모델을 지원합니다.

Instructions

목표, 제약 조건, 행동 방침을 정의합니다. 프롬프트 기반 지시, 워크플로 정의, 또는 호스트 에이전트 코드가 될 수 있습니다.

Tools

검색, 파일 작업, API 호출 등 데이터 또는 액션에 접근할 수 있는 도구. 웹 검색, 코드 인터프리터, MCP 서버 등을 지원합니다.

AI 에이전트 구성요소 다이어그램 - Model, Instructions, Tools
AI 에이전트의 핵심 구성요소 다이어그램 — Microsoft Learn 공식 문서
에이전트 런타임 루프 다이어그램
에이전트 런타임 루프: Agent → Conversation → Response 상호작용 흐름 — Runtime Components 문서

3종 에이전트 유형 비교

각 에이전트 유형의 핵심 특징, 장·단점, 적합한 사용 사례를 카드로 한눈에 비교하세요.

Prompt Agent

완전 관리형 · 코드 불필요

구성만으로 정의되는 에이전트입니다. 지시(Instructions), 모델 선택, 도구를 Foundry 포털 또는 SDK/API로 설정하면 Agent Service가 자동으로 오케스트레이션과 호스팅을 처리합니다.

장점
코드 없이 포털에서 수 분 만에 에이전트 생성 가능. 빠른 프로토타이핑에 최적. SDK/REST API로도 동일하게 생성 가능.
단점
단일 에이전트 오케스트레이션만 지원. 복잡한 분기 로직이나 멀티 에이전트 시나리오에는 한계가 있음.
적합 사례
  • 빠른 프로토타이핑 및 PoC
  • 내부 도구 / 단순 Q&A 봇
  • 커스텀 오케스트레이션이 불필요한 간단 작업
  • 포털에서 비개발자도 생성 가능

Workflow Agent Preview

비주얼 빌더 · 선언형

액션 시퀀스를 비주얼 빌더로 오케스트레이션하거나, 여러 에이전트를 조율하는 선언형(Declarative) 에이전트입니다. Foundry 포털 비주얼 빌더 또는 VS Code에서 YAML로 정의합니다.

장점
코드 없이 멀티 에이전트 오케스트레이션. if/else 분기, 변수 처리, Human-in-the-loop 승인 워크플로 지원. Power Fx 표현식 사용 가능.
단점
현재 Preview 상태. 커스텀 프레임워크 통합이 제한적. 복잡한 커스텀 로직에는 Hosted Agent가 더 적합.
적합 사례
  • 다단계 워크플로 자동화
  • 에이전트 간 협업(핸드Off)
  • 승인 워크플로(Human-in-the-loop)
  • 반복 가능한 비즈니스 프로세스

Hosted Agent Preview

컨테이너 기반 · 코드 필요

원하는 프레임워크로 코드를 작성하고 컨테이너 이미지로 배포하는 코드 기반 에이전트입니다. Agent Framework, LangGraph 또는 커스텀 코드를 사용하며, Foundry가 런타임·스케일링·인프라를 관리합니다.

장점
오케스트레이션 로직 완전 제어. Agent Framework, LangGraph, 커스텀 코드 지원. Docker 기반 로컬 테스트 가능. OpenTelemetry 통합 관찰 가능성.
단점
코드 작성 및 Docker 컨테이너화 필요. Preview 중 VNet 분리 미지원. 아이템당 2MB 제한이 아닌 컨테이너 리소스 관리 필요.
적합 사례
  • 커스텀 프레임워크 통합
  • 복잡한 멀티 에이전트 시스템
  • 완전한 동작 제어가 필요한 경우
  • 기존 에이전트 코드의 클라우드 배포
실전 실습 가이드 →

상세 비교 테이블

핵심 비교 항목을 한눈에 확인할 수 있는 테이블입니다.

비교 항목 Prompt Agent Workflow Agent Preview Hosted Agent Preview
코드 필요 여부 No No (YAML 선택) Yes
호스팅 완전 관리형 완전 관리형 컨테이너 기반, 관리형
오케스트레이션 단일 에이전트 멀티 에이전트, 분기 커스텀 로직
적합 용도 프로토타이핑, 간단 작업 다단계 자동화, 승인 워크플로 완전 제어, 커스텀 프레임워크
구현 위치 Foundry Portal / SDK / REST API Foundry Portal 비주얼 빌더 / VS Code YAML VS Code + Docker + ACR
프레임워크 N/A Power Fx 표현식 Agent Framework, LangGraph, Custom
VNet 격리 지원 지원 미지원 (Preview 중)
에이전트 ID 프로젝트 관리 ID 프로젝트 관리 ID 프로젝트 관리 ID → 게시 후 전용 ID
로컬 테스트 Playground / SDK VS Code Playground Hosting Adapter (localhost:8088)
게시 채널 웹 앱 미리보기, M365 Copilot & Teams, REST API 엔드포인트, 커스텀 앱
가용 리전(Hosted) — (모든 Foundry 지원 리전) East US, West US, Korea Central, Japan East, Sweden Central 등 25개 리전

어떤 에이전트를 선택할까?

시나리오에 따라 적합한 에이전트 유형을 추천합니다. 아래 플로우를 참고하세요.

커스텀 코드가
필요한가요?
아니오 (No-code)
여러 에이전트 조율 / 분기 로직이 필요한가요?
아니오
Prompt Agent

빠른 프로토타이핑,
단순 작업, 내부 도구

Workflow Agent

다단계 자동화,
승인 워크플로, 에이전트 협업

예 (Code-based)
Hosted Agent

커스텀 프레임워크, 완전 제어,
멀티 에이전트 시스템, 기존 코드 배포

빠르게 시작하고 싶다면

Prompt Agent를 포털에서 바로 생성. 코드 없이 수 분 만에 에이전트를 만들어 테스트할 수 있습니다.

팀 승인 프로세스가 필요하다면

Workflow Agent의 Human-in-the-loop 패턴을 활용하세요. 비주얼 빌더로 조건 분기와 승인 노드를 쉽게 추가합니다.

기존 LangGraph 코드가 있다면

Hosted Agent로 컨테이너 이미지를 빌드하고 Foundry에 배포. 기존 코드를 그대로 활용할 수 있습니다.

Prompt Agent 상세

구성만으로 에이전트를 정의하고, 포털에서 바로 생성할 수 있는 가장 간단한 유형입니다.

Prompt Agent는 지시(Instructions), 모델, 도구로 구성되며 코드 없이 Foundry 포털, SDK, 또는 REST API로 생성합니다. Agent Service가 오케스트레이션과 호스팅을 자동으로 처리합니다.

  • Model: GPT-4o, GPT-5-mini, Llama, DeepSeek 등 Foundry 모델 카탈로그의 모든 모델 사용 가능
  • Tools: Web Search, File Search, Memory, Code Interpreter, MCP Server, Custom Functions
  • 버전 관리: 각 저장은 불변의 새 버전을 생성하고, 이전 버전과 비교 가능
  • 게시: 안정적인 엔드포인트로 게시하여 Teams, M365 Copilot 등에서 사용 가능

Python SDK를 사용한 Prompt Agent 생성 예시:

from azure.identity import DefaultAzureCredential from azure.ai.projects import AIProjectClient from azure.ai.projects.models import PromptAgentDefinition PROJECT_ENDPOINT = "https://resource_name.ai.azure.com/api/projects/project_name" project = AIProjectClient( endpoint=PROJECT_ENDPOINT, credential=DefaultAzureCredential(), ) # 프롬프트 에이전트 생성 agent = project.agents.create_version( agent_name="my-agent", definition=PromptAgentDefinition( model="gpt-5-mini", instructions="You are a helpful assistant.", ), ) print(f"Agent: {agent.name}, Version: {agent.version}")

전체 퀵스타트 가이드 보기 →

생성된 에이전트와 멀티턴 대화를 진행하는 예시:

openai = project.get_openai_client() # 대화 세션 생성 conversation = openai.conversations.create() # 첫 번째 질문 response = openai.responses.create( conversation=conversation.id, extra_body={"agent_reference": {"name": "my-agent", "type": "agent_reference"}}, input="프랑스의 수도는 어디인가요?", ) print(response.output_text) # 후속 질문 (대화 맥락 유지) follow_up = openai.responses.create( conversation=conversation.id, extra_body={"agent_reference": {"name": "my-agent", "type": "agent_reference"}}, input="그 도시의 인구는 얼마인가요?", ) print(follow_up.output_text)

Workflow Agent 상세 Preview

비주얼 빌더로 멀티 에이전트 오케스트레이션, 분기 로직, 승인 워크플로를 코드 없이 구성합니다.

Foundry는 세 가지 주요 오케스트레이션 패턴을 제공합니다:

Human-in-the-loop

사용자에게 질문을 던지고 응답을 기다린 후 진행. 승인 요청, 정보 수집에 활용.

Sequential

에이전트 결과를 다음 에이전트에 순차 전달. 파이프라인, 다단계 처리에 적합.

Group Chat

컨텍스트/규칙에 따라 에이전트 간 동적 제어 전환. 에스컬레이션, 전문가 핸드오프.

  1. Microsoft Foundry에 로그인합니다.
  2. 상단 메뉴에서 Build를 선택합니다.
  3. Create new workflow → 패턴(Sequential / Group Chat / Human-in-the-loop)을 선택합니다.
  4. 각 에이전트 노드를 선택하여 기존 에이전트를 연결하거나 새 에이전트를 생성합니다.
  5. 비주얼라이저에서 Save를 클릭하여 변경사항을 저장합니다.
  6. Run Workflow를 선택하여 채팅 창에서 워크플로를 테스트합니다.
Workflow - Ask a Question 노드 설정 화면
Workflow의 "Ask a Question" 노드 구성 화면 — Workflow 문서
Workflow - If/Else 조건 분기 설정 화면
If/Else 조건 분기에서 시스템 변수를 활용하는 화면 — Workflow 문서

워크플로의 빌딩 블록인 노드 타입:

Agent — 에이전트를 호출합니다
Logic — if/else, go to, for each
Data Transform — 변수 설정, 값 파싱
Basic Chat — 메시지 전송 / 질문

Power Fx 표현식 — Excel과 유사한 로우코드 수식 언어를 사용하여 데이터를 조작하고, 변수를 설정하고, 조건을 평가할 수 있습니다.

Workflow - JSON Schema 응답 포맷 설정
JSON Schema로 에이전트의 구조화된 출력 포맷을 설정하는 화면 — Workflow 문서

Hosted Agent 상세 Preview

코드 기반 에이전트를 컨테이너 이미지로 빌드하고 Foundry Agent Service에 배포합니다.

프레임워크Python.NET (C#)
Microsoft Agent Framework
LangGraph
Custom Code
어댑터 패키지
azure-ai-agentserver-core azure-ai-agentserver-agentframework azure-ai-agentserver-langgraph Azure.AI.AgentServer.Core Azure.AI.AgentServer.AgentFramework

Hosting Adapter — 프레임워크 추상화 레이어로, 에이전트를 HTTP 서비스로 노출하여 로컬 테스트 및 배포를 간소화합니다. 대화 관리, 메시지 직렬화, 스트리밍, OpenTelemetry 관찰 가능성을 자동 처리합니다.

컨테이너 기반 배포 프로세스
  1. 로컬 에이전트 실행: Hosting Adapter로 에이전트를 래핑하고 localhost:8088에서 REST API로 테스트합니다.
  2. Docker 이미지 빌드: docker build --platform linux/amd64로 이미지를 생성합니다. (반드시 linux/amd64 플랫폼 지정!)
  3. ACR에 푸시: Azure Container Registry에 이미지를 태그하고 푸시합니다.
  4. ACR 권한 구성: 프로젝트 관리 ID에 Container Registry Repository Reader 역할을 부여합니다.
  5. Capability Host 생성: 계정 레벨 capability host를 생성하고 enablePublicHostingEnvironment: true로 설정합니다.
  6. 에이전트 버전 생성: Foundry SDK로 에이전트를 등록합니다.
  7. 배포 시작: az cognitiveservices agent start로 에이전트를 시작합니다.

Azure Developer CLI (azd) 사용 시: azd ai agent initazd up 두 명령으로 프로비저닝부터 배포까지 자동화할 수 있습니다.

Microsoft Agent Framework를 사용한 Hosted Agent 예시 (Python):

from agent_framework import ai_function, ChatAgent from agent_framework.azure import AzureAIAgentClient from azure.ai.agentserver.agentframework import from_agent_framework from azure.identity import DefaultAzureCredential # 커스텀 로컬 도구 정의 @ai_function def get_local_date_time(iana_timezone: str) -> str: """특정 타임존의 현재 날짜와 시간을 반환합니다.""" from datetime import datetime from zoneinfo import ZoneInfo tz = ZoneInfo(iana_timezone) current_time = datetime.now(tz) return current_time.strftime('%Y-%m-%d %H:%M:%S %Z') # 에이전트 생성 agent = ChatAgent( chat_client=AzureAIAgentClient( project_endpoint=PROJECT_ENDPOINT, model_deployment_name="gpt-4.1", credential=DefaultAzureCredential(), ), instructions="You are a helpful assistant.", tools=[get_local_date_time], ) # Hosting Adapter로 래핑하여 실행 if __name__ == "__main__": from_agent_framework(agent).run()

로컬 테스트 방법:

# 에이전트 실행 후 localhost:8088에서 테스트 POST http://localhost:8088/responses Content-Type: application/json { "input": "서울의 현재 시간은?" }

Python 코드 샘플 보기 →  |  C# 코드 샘플 보기 →

생명주기 관리
  • Create — 에이전트 버전 생성 및 등록
  • Start — 배포 시작 (min/max replicas 설정)
  • Update — 버전형/비버전형 업데이트
  • Stop — 배포 중지 (replica → 0)
  • Delete — 버전/전체 삭제
관찰 가능성
  • OpenTelemetry traces, metrics, logs
  • Application Insights 자동 연동 (azd 사용 시)
  • Container Log Stream API
  • Foundry 포털 Traces 탭
  • 커스텀 OTEL Collector 엔드포인트 지정 가능
Replica 크기

CPU 0.25~4 코어, 메모리 0.5~8 GiB까지 지원. Scale-to-zero(--min-replicas 0)로 유휴 시 비용 절감 가능.

보안 주의사항: 컨테이너 이미지에 시크릿을 넣지 마세요. 관리 ID와 Key Vault 연결을 사용하여 시크릿을 관리하세요. Non-Microsoft 도구/서버와의 데이터 흐름을 주의 깊게 검토하세요.

제한 항목
구독당 Hosted Agent 리소스100
Foundry 리소스당 Hosted Agent200
최대 min_replica2
최대 max_replica5
사설 네트워킹(VNet)미지원 (Preview)

관리형 호스팅 런타임 과금은 Preview 기간 중 2026년 4월 1일 이후 활성화됩니다. 가격 페이지를 확인하세요.