
What happened
AWS published a technical guide demonstrating how to build multi-agent systems that combine models hosted on Amazon SageMaker AI (like Qwen 3.5 9B) with managed models on Amazon Bedrock (Claude Haiku 4.5 and Claude Sonnet 4.6) in a single architecture using Amazon Bedrock AgentCore runtime.
Why it matters
Teams building AI agents often need cost optimization, data residency control, or domain-specific models that don't exist in managed services. This approach lets you use the cheapest or best model for each task without rewriting your agent framework, while keeping everything in a production-ready architecture.
What to watch
The post emphasizes a critical implementation detail: custom OpenTelemetry spans are required to capture token usage from SageMaker endpoints, since Bedrock AgentCore's default instrumentation doesn't track SageMaker inference metrics. Without the `stream_options: {"include_usage": true}` parameter on vLLM, token counts report as zero, making cost monitoring impossible.
Summaries like this, in your inbox every morning.
The post addresses a real operational friction point: most AI teams have models scattered across different platforms. Bedrock hosts managed models, but specialized or cost-optimized models may live on SageMaker, or teams need to keep data in a specific region. Rather than force everything into one service or maintain separate agent frameworks, AWS shows how to unify them under a single orchestrator using the agents-as-tools pattern from Strands Agents. The architecture is pragmatic: an orchestrator agent (Claude Haiku 4.5) classifies user intent and routes to specialized agents, each of which can call its ideal model backend—Bedrock for managed APIs, SageMaker for custom or open-weights models accessed via OpenAI-compatible endpoints.
The deeper lesson in the post is about observability gaps. Bedrock AgentCore automatically instruments agents with OpenTelemetry, which sounds convenient until you realize it only recognizes Bedrock model calls. SageMaker endpoints remain invisible in traces, making cost monitoring and latency debugging impossible. The post's solution—manually emitting `gen_ai.chat` spans with token counts extracted from Strands' accumulated usage metrics—is practical but also a sign that cross-platform agent orchestration requires careful instrumentation planning. The emphasis on `stream_options: {"include_usage": true}` highlights another subtle pitfall: vLLM's default streaming behavior strips token counts, so without this flag, custom observability spans report zero usage even when implemented correctly.
Pick your industry and the AI tools you use, and get news related to your work every day.
Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →
Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.
Cammarata reinterprets InceptionV1's cat-car neuron as a V-shape detector, not two unrelated concepts

Google Deepmind's Gemini 4 Argon scored 97.5 percent on ARC-AGI-3 at a cost of $4,800, second only to GPT-6 As…

Microsoft's Surface Laptop Ultra, using Nvidia's RTX Spark platform, starts at $2,599 (up to $5,899)

Meta's new commercial terms, effective October 30th, appear to let it crawl and train AI on content from websi…

Vercel data published Thursday shows TypeSafe AI's Jev, a lightweight decision model for choosing among predet…

Reflection AI introduced Beam, an open-weight model for agentic coding and long-horizon tasks, with 501 billio…
