15
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Anthropic がコマース用エージェントをオープンソース化した

15
Last updated at Posted at 2026-09-02

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.txt7つのパッケージを 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 が置く .pthUTF-8 で書かれます。中身を16進で見ると e8ab8f e8a8aa(=「諏訪」)でした。しかし Python はこのファイルをロケールのエンコーディングで読みます。 日本語 Windows では cp932 です。パスが壊れて解決できません。

同じコミット・同じ手順を C:\tmp\ca に置き直したら、import は通りました。 違いはパスに日本語が入るかどうかだけです。

2. ASCII のパスにしても、店頭アプリが起動しない。

OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。

run_demo.pynode_modules/.bin/next直接起動します。Windows でこれを呼ぶには next.cmd が要ります。API(:8000)は起動しましたが、店頭側(:3000)は上がりません。

3. その後始末で二次クラッシュする。

AttributeError: module 'os' has no attribute 'killpg'

os.killpgUnix 専用で、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-agentsApache 2.0 で公開
  • 買い物客向けと店舗スタッフ向けの2種類のエージェントが入っている
  • 小売・旅行・通信・娯楽の4業種の実装つき
  • Messages API / Agent SDK / Managed Agents の3形態で同じものを書き分けている。ここが読みどころ
  • 公式の「カート最大35%増」は up to 付き。平均ではない
  • Windows では run_demo.py が完走しない。 README に Windows の記載は0件
    • 日本語ユーザー名.pthcp932 で読めず ModuleNotFoundError
    • ASCII パスでもnext を直接起動して WinError 193
    • 後始末os.killpg が無く二次クラッシュ
  • エラー表示すら cp932 で落ちる。 PYTHONIOENCODING=utf-8 を付けないと原因が読めない

読むだけなら Windows でも困りません。動かすなら WSL2 に置くのが早いです。


参考

※ 引用は原文と日本語訳を併記しています。訳は読みやすさを優先しているので、正確な表現は原典をご確認ください。

関連記事


JQITのエンジニアの95%以上は未経験からの採用です。
よければコーポレートサイトにも遊びに来てください。

コーポレートサイト

エンジニア採用も行っています。もしご興味あれば覗いてみてください。

採用サイト

15
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?