Foundry IQ가 이제 MCP(Model Context Protocol)를 통해 Foundry Agent Service와 통합되어 개발자들이 엔터프라이즈 지식에 기반한 AI 에이전트를 구축할 수 있게 되었습니다.
이 통합은 Foundry IQ의 지능형 검색 기능과 Foundry Agent Service의 오케스트레이션을 결합하여, 에이전트가 엔터프라이즈 데이터를 검색하고 추론할 수 있도록 합니다.
주요 기능은 다음과 같습니다:
- 문서의 자동 청킹(Auto-chunking)
- 벡터 임베딩 생성
- 권한 인식 검색
- 의미론적 재순위화(Semantic reranking)
- 인용 기반 응답
이러한 기능들은 AI 에이전트가 엔터프라이즈 지식을 검색하고, 정확하고, 추적 가능하며, 조직 권한에 부합하는 응답을 생성하도록 합니다.
Foundry IQ를 Foundry Agent Service와 함께 사용하는 이유
지능형 검색
Foundry IQ는 다음과 같은 기능을 도입하여 전통적인 벡터 검색을 넘어 확장됩니다:
- LLM 기반 쿼리 분해
- 여러 소스에 걸친 병렬 검색
- 결과의 의미론적 재순위화
이를 통해 에이전트는 복잡한 쿼리에서도 가장 관련성 높은 엔터프라이즈 지식을 검색할 수 있습니다.
권한 인식 검색
에이전트는 사용자가 볼 수 있도록 승인된 콘텐츠만 접근합니다.
다음과 같은 소스의 액세스 제어 목록:
- SharePoint
- OneLake
- Azure Blob Storage
은 자동으로 동기화되고 쿼리 시점에 강제 적용됩니다.
자동 관리형 인덱싱
Foundry IQ는 다음을 자동으로 관리합니다:
- 문서 청킹
- 벡터 임베딩 생성
- 인덱싱
이를 통해 복잡한 수집 파이프라인을 수동으로 구축하고 유지할 필요가 없습니다.
Foundry IQ의 세 가지 핵심 요소
1. 지식 소스
Foundry IQ는 SharePoint, Azure Blob Storage, OneLake 등 엔터프라이즈 데이터가 어디에 있든 연결됩니다.
지식 소스를 추가하면:
- 자동 청킹 — 문서는 최적의 세그먼트로 자동 분할됩니다.
- 자동 임베딩 — 수동 파이프라인 없이 벡터 임베딩이 생성됩니다.
- 자동 ACL 동기화 — 지원되는 소스(SharePoint, OneLake)에서 액세스 권한이 동기화됩니다.
- 자동 Purview 통합 — 지원되는 소스에서 민감도 레이블이 존중됩니다.
2. 지식 베이스
지식 베이스는 여러 소스를 단일 쿼리 가능 인덱스로 통합합니다. 여러 에이전트가 동일한 지식 베이스를 공유하여 조직 전체에서 일관된 답변을 보장할 수 있습니다.
3. 에이전트형 검색
에이전트형 검색은 다음을 수행하는 LLM 지원 검색 파이프라인입니다:
- 복잡한 질문을 하위 쿼리로 분해합니다.
- 여러 소스에 걸쳐 병렬로 검색을 실행합니다.
- 의미론적 재순위화를 적용합니다.
- 인용과 함께 통합된 응답을 반환합니다.
에이전트 → MCP 도구 호출 → 지식 베이스 → 인용과 함께 기반 응답
retrievalReasoningEffort 매개변수는 LLM 처리 수준을 제어합니다:
minimal— 빠른 쿼리low— 균형 잡힌 추론medium— 복잡한 다중 부분 질문
프로젝트 아키텍처
┌─────────────────────────────────────────────────────────────────────┐
│ FOUNDRY AGENT SERVICE │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ Agent │───▶│ MCP Tool │───▶│ Project Connection │ │
│ │ (gpt-4.1) │ │ (knowledge_ │ │ (RemoteTool + MI Auth) │ │
│ └─────────────┘ │ base_retrieve) └─────────────────────────┘ │
└─────────────────────────────│───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ FOUNDRY IQ (Azure AI Search) │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ MCP Endpoint: │ │
│ │ /knowledgebases/{kb-name}/mcp?api-version=2025-11-01-preview│ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────┐ │
│ │ Knowledge │ │ Knowledge │ │ Indexed Documents │ │
│ │ Sources │──│ Base │──│ (auto-chunked, │ │
│ │ (Blob, SP, etc) │ │ (unified index) │ │ auto-embedded) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
전제 조건
Azure AI Search에서 RBAC 활성화
az search service update --name your-search --resource-group your-rg \ --auth-options aadOrApiKey
프로젝트의 관리 ID에 역할 할당
az role assignment create --assignee $PROJECT_MI \ --role "Search Index Data Reader" \ --scope "/subscriptions/.../Microsoft.Search/searchServices/{search}"
종속성 설치
pip install azure-ai-projects>=2.0.0b4 azure-identity python-dotenv requests
지식 베이스를 에이전트에 연결하기
통합에는 세 단계가 필요합니다.
MCP를 통해 지식 베이스를 에이전트에 연결
통합에는 세 단계가 필요합니다:
- 프로젝트 연결 생성 —
ProjectManagedIdentity인증을 사용하여 AI Foundry 프로젝트를 지식 베이스에 연결합니다. - MCPTool을 사용하여 에이전트 생성 — 에이전트가
knowledge_base_retrieve를 사용하여 지식 베이스에 쿼리합니다. - 에이전트와 채팅 — OpenAI 클라이언트를 사용하여 기반이 있는 대화를 나눕니다.
1단계: 프로젝트 연결 생성
import requests
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
credential = DefaultAzureCredential()
PROJECT_RESOURCE_ID = "/subscriptions/.../providers/Microsoft.CognitiveServices/accounts/.../projects/..."
MCP_ENDPOINT = "https://{search}.search.windows.net/knowledgebases/{kb}/mcp?api-version=2025-11-01-preview"
def create_project_connection():
"""지식 베이스에 대한 MCP 연결을 생성합니다."""
bearer = get_bearer_token_provider(credential, "https://management.azure.com/.default")
response = requests.put(
f"https://management.azure.com{PROJECT_RESOURCE_ID}/connections/kb-connection?api-version=2025-10-01-preview",
headers={"Authorization": f"Bearer {bearer()}"},
json={
"name": "kb-connection",
"properties": {
"authType": "ProjectManagedIdentity",
"category": "RemoteTool",
"target": MCP_ENDPOINT,
"isSharedToAll": True,
"audience": "https://search.azure.com/",
"metadata": {"ApiType": "Azure"}
}
}
)
response.raise_for_status()
2단계: MCP 도구로 에이전트 생성
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import PromptAgentDefinition, MCPTool
def create_agent():
client = AIProjectClient(endpoint=PROJECT_ENDPOINT, credential=credential)
# MCP 도구는 에이전트를 지식 베이스에 연결합니다.
mcp_kb_tool = MCPTool(
server_label="knowledge-base",
server_url=MCP_ENDPOINT,
require_approval="never",
allowed_tools=["knowledge_base_retrieve"],
project_connection_id="kb-connection"
)
# 지식 베이스 도구를 사용하여 에이전트 생성
agent = client.agents.create_version(
agent_name="enterprise-assistant",
definition=PromptAgentDefinition(
model="gpt-4.1",
instructions="""You MUST use the knowledge_base_retrieve tool for every question.
Include citations from sources.""",
tools=[mcp_kb_tool]
)
)
return agent, client
3단계: 에이전트와 채팅
def chat(agent, client):
openai_client = client.get_openai_client()
conversation = openai_client.conversations.create()
while True:
question = input("You: ").strip()
if question.lower() == "quit":
break
response = openai_client.responses.create(
conversation=conversation.id,
input=question,
extra_body={
"agent_reference": {
"name": agent.name,
"type": "agent_reference"
}
}
)
print(f"Assistant: {response.output_text}")
추가 정보
- Azure AI Search Knowledge Stores
- Foundry Agent Service
- Model Context Protocol (MCP)
- Azure AI Projects SDK
요약
Foundry IQ와 Foundry Agent Service의 통합은 개발자들이 엔터프라이즈 시나리오를 위한 지식 기반 AI 에이전트를 구축할 수 있도록 합니다.
다음과 같은 기능들을 결합함으로써:
- MCP 기반 도구 호출
- 권한 인식 검색
- 자동 문서 처리
- 의미론적 재순위화
조직은 소스 데이터에 기반한 정확하고 추적 가능한 응답을 제공하는 안전하고 엔터프라이즈 준비가 된 AI 에이전트를 구축할 수 있습니다.