9月2日、Anthropic が anthropics/commerce-agents を公開しました。Apache 2.0 です。
「Claude でショッピングエージェントを作るときの参考実装」で、動くコードがそのまま入っています。 何が入っているのかを整理します。
検証環境: Windows 10 / Python 3.11.9 / Node 22.19 / 測定は 2026-09-03 時点
エージェントが2種類
| 誰が使うか | できること | |
|---|---|---|
| Shopping Agent | 買い物客 | カタログ検索、商品比較、カート投入、注文追跡・返品の Q&A |
| Merchant Agent | 店舗スタッフ | 売上分析、在庫アラート、価格・販促の提案、キャンペーン草案 |
表と裏の両方が入っているのが特徴です。買い物客向けだけでなく、店側の管理画面用エージェントも同梱されています。
4業種の実装が入っている
同じ骨格で、業種別に4つ用意されています。
retail ACME Store API :8000 / 店頭 :3000
travel ACME Travel API :8001
telecom ACME Mobile API :8002
entertainment ACME Tickets API :8003
--merchant を付けると店舗ポータル(:3100)に切り替わり、--all で両方立ち上がります。
実行のしかたが3通り
ここが一番参考になるところだと思いました。同じプロンプト・同じツールを、3つの動かし方で書き分けています。
| 実行形態 | 何が違うか |
|---|---|
| Messages API | エージェントのループを自分で書く。参照実装 |
| Agent SDK | ループを SDK に任せる |
| Managed Agents | ホスト側で動かし、自分の MCP サーバーを呼ばせる |
「エージェントのループを自作すべきか、SDK に乗るか」で迷ったときに、同じ題材の3実装を読み比べられます。
規模
ファイル 640
Python 213
TypeScript 202
Markdown 62
ライセンス Apache License 2.0
requirements.txt は 7つのパッケージを editable で入れます。 リポジトリ内のディレクトリから入れる作りで、PyPI には登録されていません。
公式が挙げている効果
Retailers running shopping agents on Claude have seen carts up to 35% larger and shoppers 60% more likely to complete a purchase.
(Claude でショッピングエージェントを動かしている小売業者では、カートが最大35%大きくなり、購入完了率が60%高くなった)
「up to(最大)」が付いています。 平均ではありません。母数や条件は公開されていないので、そのまま自社に当てはめられる数字ではないと考えたほうがよさそうです。
Windows で動かしたら三段で止まった
README の前提条件は Python 3.11+ / Node 22 / API キーの3つだけです。手元はすべて満たしています。Windows と WSL への言及は README とドキュメントに1件もありません。
結果、python scripts/run_demo.py retail は完走しませんでした。
1. ユーザー名に日本語が入っていると、パッケージが見つからない。
ModuleNotFoundError: No module named 'commerce_common'
editable install が置く .pth は UTF-8 で書かれます。中身を16進で見ると e8ab8f e8a8aa(=「諏訪」)でした。しかし Python はこのファイルをロケールのエンコーディングで読みます。 日本語 Windows では cp932 です。パスが壊れて解決できません。
同じコミット・同じ手順を C:\tmp\ca に置き直したら、import は通りました。 違いはパスに日本語が入るかどうかだけです。
2. ASCII のパスにしても、店頭アプリが起動しない。
OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
run_demo.py は node_modules/.bin/next を直接起動します。Windows でこれを呼ぶには next.cmd が要ります。API(:8000)は起動しましたが、店頭側(:3000)は上がりません。
3. その後始末で二次クラッシュする。
AttributeError: module 'os' has no attribute 'killpg'
os.killpg は Unix 専用で、Windows には存在しません。エラーを片付けようとして、片付け処理そのものが落ちます。
おまけに、エラーの表示でも落ちます。 メッセージに em ダッシュ(—)が入っており、cp932 で書けません。
UnicodeEncodeError: 'cp932' codec can't encode character '\u2014'
PYTHONIOENCODING=utf-8 を付けると、ようやく本当のエラーが読めます。 これを付けるまで、私は原因にたどり着けませんでした。
読むだけでも価値がある
Windows でデモが完走しないのは残念ですが、リポジトリの価値はそこではないと思いました。
- 同じ題材を3つの実行形態で書き分けているので、設計の比較ができる
- 店舗側エージェントまで含んでいる例は珍しい
- カタログ・カート・決済・注文履歴の接続パターンが docs にまとまっている
コードを読む目的なら、git clone だけで足ります。動かすなら WSL2 か Linux が無難です。
まとめ
- 9月2日、Anthropic が commerce-agents を Apache 2.0 で公開
- 買い物客向けと店舗スタッフ向けの2種類のエージェントが入っている
- 小売・旅行・通信・娯楽の4業種の実装つき
- Messages API / Agent SDK / Managed Agents の3形態で同じものを書き分けている。ここが読みどころ
- 公式の「カート最大35%増」は up to 付き。平均ではない
-
Windows では
run_demo.pyが完走しない。 README に Windows の記載は0件-
日本語ユーザー名 →
.pthがcp932で読めずModuleNotFoundError -
ASCII パスでも →
nextを直接起動してWinError 193 -
後始末 →
os.killpgが無く二次クラッシュ
-
日本語ユーザー名 →
-
エラー表示すら
cp932で落ちる。PYTHONIOENCODING=utf-8を付けないと原因が読めない
読むだけなら Windows でも困りません。動かすなら WSL2 に置くのが早いです。
参考
- anthropics/commerce-agents — 本体(Apache 2.0)
- Building Commerce Agents with Claude — 公式発表(2026-09-02)
※ 引用は原文と日本語訳を併記しています。訳は読みやすさを優先しているので、正確な表現は原典をご確認ください。
関連記事
- スター6万のAgent Skillを入れたら、呼ぶたびに9万トークン必要だった — 同じく公開実装を手元で動かした話
- Claude Fable 5.1、キャッシュ読みは4分の1。ただし tool_choice が400を返す — エージェントを組むときに効く仕様変更
JQITのエンジニアの95%以上は未経験からの採用です。
よければコーポレートサイトにも遊びに来てください。
エンジニア採用も行っています。もしご興味あれば覗いてみてください。
▶ 採用サイト