Construire des workflows agentiques avec SageMaker AI et Bedrock AgentCore
Amazon Web Services
Anthropic
Alibaba/Qwen
Ce post montre comment combiner des points de terminaison compatibles OpenAI sur Amazon SageMaker AI avec le runtime Amazon Bedrock AgentCore pour construire des systèmes multi-agents. Il explique comment déployer Qwen 3.5 9B sur SageMaker AI, l'intégrer dans un système multi-agents Strands Agents avec des modèles sur Amazon Bedrock, et expédier tout le workflow vers le runtime Amazon Bedrock AgentCore. L'accent est mis sur les mécanismes d'intégration, y compris l'observabilité au niveau des jetons depuis les points de terminaison SageMaker, que Strands ne fournit pas par défaut.
Un défi courant lors de la création de flux de travail agentiques consiste à mélanger des modèles de base gérés avec vos propres modèles optimisés en termes de coûts ou spécifiques à un domaine, sans avoir à réécrire le cadre de l'agent. Cet article montre comment combiner des points de terminaison compatibles OpenAI sur Amazon SageMaker AI avec l'environnement d'exécution Amazon Bedrock AgentCore et son déploiement géré. L'architecture connecte trois chemins d'hébergement de modèles via un seul conteneur Amazon Bedrock AgentCore : un agent orchestrateur (Claude Haiku 4.5 sur Bedrock) pour la classification des intentions et le routage, un agent budgétaire (Claude Sonnet 4.6 sur Bedrock) pour les répartitions budgétaires, et un agent d'analyse financière (Qwen 3.5 9B sur Amazon SageMaker AI) pour l'analyse boursière utilisant l'appel d'outils. Le déploiement comprend des jetons d'authentification à actualisation automatique pour les sessions longues, l'utilisation du modèle de Strands Agents avec les agents en tant qu'outils, et le déploiement via le kit d'outils bedrock-agentcore-starter-toolkit. Un défi clé est que l'environnement d'exécution Amazon Bedrock AgentCore instrumente automatiquement les agents avec OpenTelemetry, mais les points de terminaison compatibles OpenAI sur SageMaker ne reçoivent pas de télémétrie automatique des jetons. La solution consiste à émettre manuellement des portées gen_ai.chat entourant l'invocation de l'agent SageMaker et à extraire l'utilisation des jetons à partir de la métrique accumulée de l'AgentResult de Strands. De plus, l'option stream_options : {"include_usage" : True} doit être définie car vLLM n'inclut pas de bloc d'utilisation dans les réponses en streaming par défaut. L'article couvre également la configuration étape par étape, un exemple de sortie de trace, les enseignements clés, et l'extension du modèle avec des modèles affinés, des tests A/B avec des composants d'inférence, et un routage tenant compte des coûts.
Source: AWS ML blog —
original
