Anthropic just dropped the scaffolding most retail AI teams have been rebuilding from scratch. The new anthropics/commerce-agents repo is an Apache 2.0 blueprint with two agents — one for shoppers, one for store staff — plus four runnable verticals: retail, travel, telecom, and entertainment. It runs locally on Python 3.11+ and Node 22 with an Anthropic API key, and because the runtimes accept any Anthropic client, the same code deploys on Bedrock, Vertex AI, or Microsoft Foundry without modification.

The architectural argument is the real story here. Anthropic is telling teams to stop building intent routers and subagent swarms. Every handoff between agents is state-lossy — the orchestrator holds the cart, preferences, and conversation history, and each hop burns extra tokens and adds seconds of latency. Instead, they push a single agent loaded with skills: modular instruction sets that load into the agent that already holds the context. Across enterprise deployments, that design beat both the one-big-prompt approach and the multi-subagent approach on quality, often at lower cost. Subagents still make sense for isolated work like deep research, but not for a returns flow that needs order history, cart state, and catalog data simultaneously.

The blueprint also treats UI components as tools rather than prose. Instead of prompting the model to emit custom XML tags, components like present_products or present_itinerary are typed tool calls with server-validated arguments. That means reloading chat history needs no custom parser, and the agent can resolve “the first hotel” directly from the last presentation call. On latency, eager tool dispatch — executing each call as its arguments finish streaming — reportedly cuts multi-second gaps down to a few hundred milliseconds. Prompt caching is the main cost lever: cached reads cost a tenth of fresh tokens, and Anthropic says the best deployments run at 90–99% cache hit rates.

One detail worth internalizing: a third or more of traffic goes in the system prompt, the rest into skills. Safety rules, brand constraints, and key user facts always stay in the prompt. Volatile data goes last in the request, never first, because a timestamp at the top breaks the prefix cache on every call. It’s the kind of operational detail that separates a demo from something that survives Black Friday traffic.