Introdução ao uso de SageMaker AI com Strands Agents SDK
\n
A AWS lançou uma integração que permite construir agentes de inteligência artificial (IA) utilizando o Strands Agents SDK com modelos implantados em endpoints do Amazon SageMaker AI. Essa novidade atende empresas que precisam de controle avançado sobre desempenho, custos, compliance e infraestrutura para suas aplicações de IA.
\n\n
O que é possível com essa integração?
\n
Com essa solução, é possível:
\n
- \n
- Implantar modelos foundation do SageMaker JumpStart;
- Integrar esses modelos com agentes construídos via Strands Agents SDK;
- Implementar observabilidade de nível de produção usando o SageMaker Serverless MLflow para rastreamento das interações dos agentes;
- Realizar testes A/B entre diferentes variantes de modelos para avaliar desempenho;
- Gerenciar, implantar e melhorar continuamente agentes de IA em infraestrutura controlada pela organização.
\n
\n
\n
\n
\n
\n\n
Quem pode usar e como acessar
\n
Essa solução é destinada a desenvolvedores, cientistas de dados e equipes de machine learning que utilizam AWS e buscam flexibilidade para controlar seus agentes de IA. Para acessar, é necessário ter uma conta AWS com permissões para Amazon SageMaker AI, Amazon Bedrock, SageMaker AI Serverless MLflow, Amazon S3 e SageMaker JumpStart.
\n
O Strands Agents SDK é open source e pode ser instalado via Python, enquanto os modelos foundation são disponibilizados no SageMaker JumpStart. A integração com MLflow permite acompanhar métricas e rastros de execução dos agentes.
\n\n
Passo a passo para construir um agente com SageMaker AI e Strands Agents
\n
Pré-requisitos
\n
- \n
- Conta AWS com permissões adequadas;
- Ambiente Jupyter Notebook local ou SageMaker AI Studio;
- Pacotes Python: strands-agents, strands-agents-tools, mlflow, mlflow-sagemaker, entre outros.
\n
\n
\n
\n\n
1. Instalar pacotes necessários
\n
%%writefile requirements.txt\nstrands-agents>=1.9.1\nstrands-agents-tools>=0.2.8\nmlflow>=3.4.0\nstrands-agents[sagemaker]\nmlflow-sagemaker>=1.5.11\npip install -r requirements.txt\n
\n\n
2. Implantar modelo no SageMaker AI Endpoint
\n
Exemplo de implantação do modelo Qwen3-4B via SageMaker JumpStart:
\n
import sagemaker\nimport boto3\nfrom boto3.session import Session\nfrom sagemaker.jumpstart.model import JumpStartModel\n\nboto_session = Session()\nsts = boto3.client('sts')\naccount_id = sts.get_caller_identity().get("Account")\nregion = boto_session.region_name\nENDPOINT_NAME = "llm-qwen-endpoint-sagemaker"\n\nmodel_a = JumpStartModel(\n model_id="huggingface-reasoning-qwen3-4b",\n model_version="1.0.0",\n name="qwen3-4b-model"\n)\n\npredictor_a = model_a.deploy(\n initial_instance_count=1,\n instance_type="ml.g5.2xlarge",\n endpoint_name=ENDPOINT_NAME\n)\n
\n\n
3. Criar agente Strands usando o modelo implantado
\n
from strands.models.sagemaker import SageMakerAIModel\nfrom strands import Agent\nfrom strands_tools import http_request\n\nmodel_sagemaker = SageMakerAIModel(\n endpoint_config={\n "endpoint_name": ENDPOINT_NAME,\n "region_name": region\n },\n payload_config={\n "max_tokens": 2048,\n "temperature": 0.2,\n "stream": True,\n }\n)\n\nagent = Agent(model=model_sagemaker, tools=[http_request])\nresponse = agent("Where is the international space station now? (Use: http://api.open-notify.org/iss-now.json)")\nprint(response.message['content'][0]['text'])\n
\n\n
Observabilidade com SageMaker AI Serverless MLflow
\n
Para monitorar a execução dos agentes, o SageMaker AI Serverless MLflow fornece rastreamento automático das interações, uso de ferramentas e métricas, sem necessidade de instrumentação manual.
\n\n
Configuração do MLflow App
\n
Você pode configurar o MLflow App via console do SageMaker AI Studio ou programaticamente com Boto3. Exemplo de criação via Boto3:
\n
s3_client = boto3.client('s3', region_name=region)\nbucket_name = f'{account_id}-mlflow-bucket'\n\nif region == 'us-east-1':\n s3_client.create_bucket(Bucket=bucket_name)\nelse:\n s3_client.create_bucket(Bucket=bucket_name, CreateBucketConfiguration={'LocationConstraint': region})\n\nsagemaker_client = boto3.client('sagemaker')\n\nmlflow_app_details = sagemaker_client.create_mlflow_app(\n Name='strands-mlflow-app',\n ArtifactStoreUri=f's3://{account_id}-mlflow-bucket/artifacts',\n RoleArn=role,\n)\nprint(f"MLflow app creation initiated: {mlflow_app_details['Arn']}")\n
\n\n
Ativando o rastreamento automático
\n
import os\nimport mlflow\n\ntracking_uri = mlflow_app_details['Arn']\nos.environ["MLFLOW_TRACKING_URI"] = tracking_uri\nmlflow.set_experiment("Strands-MLflow")\nmlflow.strands.autolog()\n
\n\n
Visualização e análise
\n
Após executar o agente, os rastros ficam disponíveis na interface do MLflow App, onde é possível analisar linhas do tempo, chamadas de ferramentas, entradas e saídas de cada etapa, além de métricas de desempenho.
\n\n
Testes A/B para otimização de modelos
\n
O SageMaker AI permite implantar múltiplas variantes de modelos em um mesmo endpoint para realizar testes A/B. Isso facilita a comparação de desempenho entre versões, como no exemplo do Qwen3-4B versus Qwen3-8B.
\n\n
Exemplo básico para configurar teste A/B
\n
model_b_name = "sagemaker-strands-demo-qwen3-8b"\nmodel_b = JumpStartModel(\n model_id="huggingface-reasoning-qwen3-8b",\n model_version="1.0.0",\n name=model_b_name\n)\nmodel_b.create(instance_type="ml.g5.2xlarge")\n\nproduction_variants = [\n {\n "VariantName": "qwen-4b-variant",\n "ModelName": "qwen3-4b-model",\n "InitialInstanceCount": 1,\n "InstanceType": "ml.g5.2xlarge",\n "InitialVariantWeight": 0.5\n },\n {\n "VariantName": "qwen3-8b-variant",\n "ModelName": model_b_name,\n "InitialInstanceCount": 1,\n "InstanceType": "ml.g5.2xlarge",\n "InitialVariantWeight": 0.5\n }\n]\n\nsagemaker_client.create_endpoint_config(\n EndpointConfigName="llm-endpoint-config-ab",\n ProductionVariants=production_variants\n)\n\nsagemaker_client.update_endpoint(\n EndpointName=ENDPOINT_NAME,\n EndpointConfigName="llm-endpoint-config-ab"\n)\n
\n\n
Impacto prático para empresas
\n
Essa integração oferece às organizações a possibilidade de desenvolver agentes de IA sofisticados, com controle total sobre a infraestrutura, custos e governança. Além disso, permite implementar práticas avançadas de MLOps, como rastreamento detalhado e experimentação controlada, essenciais para sistemas de IA em produção.
\n\n
Links úteis para aprofundamento
\n
