AI 에이전트를 위한 예측형 머신러닝 모델 활용 가이드: Amazon SageMaker AI와 MCP 통합
머신러닝(ML)이 기업 운영의 핵심 기술로 자리 잡으면서, 고객사는 예측 분석을 활용해 영업 예측, 이탈 방지, 고객 세분화 등 다양한 문제를 해결하고 있습니다. 최근 생성형 AI 역시 광범위하게 사용되며 콘텐츠 생성 등 창의적인 영역에서 주목받고 있으나, 과거 데이터를 기반으로 한 정확한 예측을 위해서는 여전히 전통적인 ML 모델의 활용이 중요합니다.
이번 포스트에서는 Amazon SageMaker AI와 Model Context Protocol(MCP)을 기반으로 전략적 예측 기능을 갖춘 AI 에이전트를 구축하는 방법에 대해 소개합니다. 여기서는 Strands Agents SDK를 통해 손쉽게 만든 AI 에이전트와 SageMaker AI에 배포된 ML 모델을 통합해, 상호 작용 기반 의사결정이 가능한 AI 시스템을 구성하는 과정을 다룹니다.
AI 모델 통합 개요
해당 솔루션은 AI 에이전트가 Amazon SageMaker AI 엔드포인트에 배포된 머신러닝 모델을 도구처럼 활용할 수 있도록 구성됩니다. 이때 에이전트는 대화형 사용자 경험(UI)을 제공하며, 사용자의 요청을 분석해 예측이 필요한 경우 적절한 ML 모델을 호출합니다. 이러한 도구 호출 방식은 직접 엔드포인트를 사용하는 방식과 MCP를 통한 구조화된 접근 방식 두 가지로 구현됩니다.
직접 호출 방식은 에이전트 코드 내에 예측 함수 형태로 구현되며, 별도 인프라 구성 없이 빠르게 활용할 수 있는 장점이 있습니다. 반면 MCP를 사용할 경우 도구 탐색, 입력/출력 정의, 호출 분리 구성이 가능해 보안성과 확장성을 강화할 수 있습니다.
모델 학습 및 배포
먼저, 예측 모델을 구성하기 위해 시계열 수요 데이터를 기반으로 XGBoost를 활용한 회귀 모델을 Amazon SageMaker AI에서 학습시킵니다. 해당 모델은 추세, 계절성, 잡음을 반영한 데이터에서 생성되며, 추출된 피처(요일, 월, 분기 등)를 이용해 일반화된 예측을 수행합니다.
학습 후 모델은 SageMaker AI 엔드포인트에 배포되며, 이를 통해 실시간 예측 API 호출이 가능해집니다. 예시는 다음과 같습니다:
from sagemaker.xgboost.estimator import XGBoost
xgb_estimator = XGBoost(…)
xgb_estimator.fit({'train': train_s3_path, 'validation': val_s3_path})
배포
predictor = xgb_estimator.deploy(
initial_instance_count=1,
instance_type="ml.m5.large",
serializer=JSONSerializer(),
deserializer=JSONDeserializer()
)
예측 호출 함수는 아래처럼 구성되며, 적절한 docstring을 포함해 LLM 에이전트가 기능을 이해하고 선택할 수 있도록 해야 합니다.
from strands import tool
@tool()
def invoke_endpoint(payload: list):
# SageMaker AI 엔드포인트를 호출하여 예측 결과를 반환
…
이후 해당 함수는 Strands 에이전트에 tools 파라미터로 전달되어 활용됩니다.
agent = Agent(
model="us.amazon.nova-pro-v1:0",
tools=[invoke_endpoint]
)
활용 예시:
agent(
"다음 입력으로 엔드포인트를 호출하세요:\n\n"
f"{test_sample}\n\n"
"출력을 JSON 형식으로 제공해주세요 {'predictions':
)
MCP 서버를 통한 고도화된 통합
직접 호출 외에도 MCP 서버를 구성하면 에이전트와 예측 도구의 실행을 분리할 수 있어 보안적으로 더 우수한 설계를 할 수 있습니다. FastMCP 프레임워크를 이용해 SageMaker AI 엔드포인트를 래핑하고 도구 스키마를 정의하여, LLM이 쉽게 도구를 사용할 수 있도록 합니다.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("SageMaker App")
ENDPOINT_NAME = os.environ["SAGEMAKER_ENDPOINT_NAME"]
@mcp.tool()
async def invoke_endpoint(payload: list):
"""입력을 기반으로 Amazon SageMaker AI에서 예측을 수행합니다"""
…
서버는 stdio 또는 HTTPS 기반으로 실행할 수 있으며, MCP 클라이언트는 Strands Agents SDK를 통해 다음과 같이 구성됩니다:
from mcp import StdioServerParameters
from mcp.client.stdio import stdio_client
from strands.tools.mcp import MCPClient
server_params = StdioServerParameters(
command="python3",
args=["server.py"],
env={"SAGEMAKER_ENDPOINT_NAME": "
)
클라이언트 생성 및 도구 목록 획득
with stdio_client(server_params) as stdio_mcp_client:
tools = stdio_mcp_client.list_tools_sync()
agent = Agent(model="us.amazon.nova-pro-v1:0", tools=tools)
agent(
"다음 입력으로 엔드포인트를 호출하세요:\n\n"
f"{test_sample}\n\n"
"출력을 JSON 형식으로 제공해주세요 {'predictions':
)
활용 시나리오
이러한 구조는 다양한 기업 내부 프로세스와의 자동화를 위해 확장 사용할 수 있습니다. 예를 들어, 예측 결과를 기반으로 Amazon QuickSight, Tableau 등 BI 시스템으로 시각화하거나 ERP/CRM으로 자동 전송하는 방식이 가능합니다. 이렇게 함으로써 단순한 대화형 AI를 넘어, 전략 의사결정을 지원하는 지능형 시스템을 구축할 수 있습니다.
정리 및 결론
이번 포스팅에서는 Strands Agents SDK 기반 AI 에이전트가 Amazon SageMaker AI에 배포된 예측형 머신러닝 모델을 활용하는 방법을 소개했습니다. 주요 특징은 다음과 같습니다:
- 신속한 에이전트 개발이 가능한 Strands SDK 사용
- 직접 호출 방식과 확장 가능한 MCP 기반 통합 제공
- 예측 결과 활용을 통한 업무 자동화 및 데이터 중심 의사결정 가능성 제공
AI 활용도가 점점 더 중요해지는 기업 환경에서, Amazon SageMaker AI와 MCP는 비용 효율적이면서도 유연한 모델 배포 및 통합 기능을 제공하는 최적의 선택지입니다.
AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!
(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기