본문으로 건너뛰기
azure검색
AI

Foundry Agent Service 와 Content Safety (에이전트와 가드레일)

Foundry Agent Service 의 에이전트 종류(프롬프트, 음성, 2026-07 GA 가 된 호스티드 에이전트), 도구와 툴박스, 지식 연결, 인증과 네트워크, 그리고 Azure AI Content Safety 와 Foundry 가드레일(유해 콘텐츠, Prompt Shields, 근거성 검사, 작업 준수)로 에이전트를 안전하게 운영하는 방법을 정리합니다.

Foundry Agent Service호스티드 에이전트MCPContent SafetyPrompt Shields가드레일2026-10 기준, 약 7분상태 표시 설명

에이전트 종류

종류만드는 방법실행
프롬프트 에이전트포털이나 SDK 에서 지침, 모델, 도구를 설정 (코드 없음)Foundry 가 실행
음성 프롬프트 에이전트프롬프트 에이전트 + Voice Live 실시간 음성Foundry 가 실행. 음성 관련 기능 다수가 Preview
호스티드 에이전트Microsoft Agent Framework, LangGraph, OpenAI Agents SDK 등으로 직접 짠 코드를 컨테이너나 zip 으로Foundry 관리형 엔드포인트에서 실행

호스티드 에이전트는 Build 2026 에서 GA 예정이 발표되었고 2026-07 에 GA 가 되었습니다. 세션마다 VM 수준으로 격리된 샌드박스에서 돌고, 사용자 VNet 을 붙일 수 있습니다. 내 프레임워크의 코드를 그대로 가져가면서 배포, 확장, ID, 관측은 Foundry 에 맡기고 싶을 때 고릅니다.

새 Agent Service 는 Responses API 기반(v2)입니다. 예전 Assistants API 기반 에이전트(v1)는 새 포털에서 지원되지 않으므로 마이그레이션 가이드를 따라 옮깁니다.

도구

도구설명
웹 검색, 파일 검색, 코드 인터프리터, 메모리기본 제공 도구 (메모리는 2026-10 기준 Preview)
함수 호출내 코드의 함수를 모델이 호출하도록 스키마 제공
OpenAPIOpenAPI 명세로 기존 REST API 를 도구로
MCP 서버원격 MCP 서버, Azure Functions 로 만든 MCP 서버 연결
툴박스 (Toolbox)여러 도구를 하나의 MCP 호환 엔드포인트로 묶어 인증, 거버넌스, 버전을 중앙 관리

도구 연결의 인증은 키, Microsoft Entra(에이전트 또는 프로젝트의 관리 ID), 사용자 대신(OAuth On-Behalf-Of), 무인증 중에서 고릅니다. 에이전트 ID 에는 그 도구에 꼭 필요한 권한만 줍니다. 에이전트가 SQL 에 쓰기 권한을 가지고 있으면, 프롬프트 주입 한 번에 데이터를 지울 수 있습니다.

지식 연결

에이전트가 사내 문서를 근거로 답하게 하려면 Foundry IQ(Azure AI Search 의 지식 베이스)를 연결합니다. 원본(인덱스, Blob, OneLake, 웹 등)을 지식 베이스로 묶고 에이전트에 붙이면, 에이전트가 질의를 계획해 여러 원본을 검색합니다. 검색 품질과 비용은 결국 검색 서비스 설정에 달려 있으니 Azure AI Search 문서를 같이 봅니다.

# azure-ai-projects 2.x: 프로젝트 엔드포인트 하나로 프롬프트 에이전트 만들고 대화하기 (개념 예시)
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

project = AIProjectClient(endpoint="https://<resource>.services.ai.azure.com/api/projects/<project>",
                          credential=DefaultAzureCredential())
openai = project.get_openai_client()
resp = openai.responses.create(model="<배포 이름>", input="지난주 장애 보고서 요약해 줘")
print(resp.output_text)

SDK 의 클래스 이름과 메서드는 버전마다 바뀌는 일이 잦으므로, 실제 코드는 설치한 버전의 Microsoft Learn 빠른 시작을 기준으로 씁니다.

네트워크와 운영

  • 프롬프트 에이전트는 VNet 격리(사설 네트워크)를 지원하고, 호스티드 에이전트는 사용자 VNet 을 붙입니다. 호스티드 에이전트의 사설 Container Registry 는 2026-06-25 이후 만든 프로젝트에서만 지원된다고 문서에 적혀 있습니다.
  • 대화 상태, 파일, 벡터 저장소를 내 리소스(스토리지, Cosmos DB, AI Search) 에 두는 구성을 고를 수 있습니다. 데이터 위치와 보존 정책을 직접 통제해야 할 때 씁니다.
  • 트레이스와 평가로 에이전트가 어떤 도구를 어떤 순서로 불렀는지 기록합니다. 운영 전에 레드 팀(공격 시뮬레이션) 평가를 돌립니다.

Content Safety 와 가드레일

Foundry 의 모델 배포에는 기본 안전 정책(콘텐츠 필터)이 적용되고, 가드레일(guardrails) 로 조정합니다. 같은 기술을 독립 API 로 쓰는 것이 Azure AI Content Safety 입니다.

기능하는 일상태 (문서 표기)
텍스트, 이미지 분석성적, 폭력, 증오, 자해 네 범주를 심각도 수준으로 판정미리 보기 표시 없음
Prompt Shields사용자 입력의 탈옥 시도와 문서 속 간접 프롬프트 주입 탐지미리 보기 표시 없음
보호 자료 탐지가사, 기사 같은 알려진 저작물이 출력에 그대로 나오는지미리 보기 표시 없음
근거성 검사 (Groundedness detection)답이 주어진 근거 자료에 기대고 있는지Preview
작업 준수 (Task adherence)에이전트의 도구 호출이 사용자 의도에서 벗어났는지미리 보기 표시 없음
사용자 지정 범주조직 고유의 금지 주제를 학습, 정의Preview

모델 수준 가드레일은 GA 이지만, 에이전트 수준 가드레일은 2026-10 기준 Preview 입니다. 에이전트는 모델 입출력 외에 도구 호출 결과(웹 페이지, 문서, 이메일)로도 공격 문장이 들어오므로, 간접 프롬프트 주입(XPIA) 방어를 켜는 것이 특히 중요합니다.

# Content Safety 로 텍스트 하나 검사 (Entra 토큰)
curl -s -X POST "https://<content-safety>.cognitiveservices.azure.com/contentsafety/text:analyze?api-version=2023-10-01" \
  -H "Authorization: Bearer $(az account get-access-token --resource https://cognitiveservices.azure.com --query accessToken -o tsv)" \
  -H "Content-Type: application/json" \
  -d '{"text":"검사할 문장","categories":["Hate","Violence","Sexual","SelfHarm"]}'

안전한 에이전트 체크리스트

  1. 도구는 최소로, 권한은 읽기 우선. 쓰기, 지우기, 송금 같은 작업은 사람 승인 단계를 둡니다.
  2. 외부 콘텐츠(웹, 메일, 업로드 파일)는 신뢰하지 않는 입력으로 다루고 Prompt Shields 를 켭니다.
  3. 에이전트마다 별도 ID(관리 ID 나 에이전트 ID)를 주어 감사 로그에서 구분합니다.
  4. 평가(정확성, 근거성, 안전)를 배포 파이프라인에 넣어 모델이나 프롬프트를 바꿀 때마다 돌립니다.
  5. 비용 상한: 최대 반복 횟수, 토큰 상한, 도구 호출 제한을 정합니다.

공식 문서

이 문서에서