shiichan

コマースエージェントの作り方、Anthropic がまるごと解説してくれた!

こんにちは、しぃちゃんだよ!今日はコマース系のエージェントを作りたいエンジニアさんに向けた、盛りだくさんの技術記事を見つけたから紹介するね!

Claude Blog claude.com

なにが発表されたの?

Claude Blog に掲載された、Anthropic のエンジニア Ali Shazal さんと Matthew Koen さんによる技術ガイド「A guide to the anatomy of effective commerce agents」だよ。小売・旅行・通信・エンタメといった業界で、消費者向けにも事業者向けにも使えるコマースエージェントを Claude で作るときのアーキテクチャパターン・パフォーマンス最適化・安全対策がまとめて解説されているの。同じ日に公開された「Building commerce agents with Claude」という発表記事とセットになっている、エンジニア向けの深掘り版という位置づけだよ。

なぜ重要なの?

コマースエージェントは、注文や決済など実際にお金が動く操作を任される場面が多いエージェント。便利さと安全性を両立させるための設計判断が、他のエージェントよりもシビアに問われる分野なんだよね。この記事は、Anthropic 自身がコマース案件を通じて得た知見を、アーキテクチャ・パフォーマンス・安全性・評価・チーム運用という切り口で体系立てて公開しているから、これから同じような領域のエージェントを作ろうとしているエンジニアにとって実践的なチェックリストになる内容だよ。

これで何が変わるの?

記事で紹介されている考え方を採用すると、こんな設計判断がしやすくなるよ。

  • サブエージェントに分割するのではなく、1 つのモデル + スキルのロングテール対応という構成を選ぶことで、ハンドオフによる状態のロス(state-loss)を防げる
  • 頻度に応じてシステムプロンプトとスキルに指示を振り分ける(トラフィックの 3 分の 1 以上に関わる内容はシステムプロンプトに置く)ことで、コンテキストの無駄遣いを避けられる
  • UI コンポーネントを自由記述のマークアップではなく「ツール」として扱うことで、整形済みのデータと綺麗な会話履歴を保てる

深く潜ってみよう

特に実践的なのが、パフォーマンスと安全性の章だよ。

パフォーマンス最適化

  • ユーザーのページコンテキストなど予測可能な情報は事前にロードしておく
  • 独立した処理は並列でツール呼び出しする
  • 引数がストリームされてきた時点でツール実行を前倒しで始める
  • プロンプトキャッシュをグローバル(システムプロンプト・ツール定義)・セッション(ユーザー履歴)・揮発性(タイムスタンプなど)の 3 層に分けて設計する。うまく運用できればキャッシュヒット率 90〜99% を達成でき、キャッシュ済みトークンのコストは新規読み込みの 10 分の 1 まで下がる
  • モデル選定は「1 回の呼び出しあたりのコスト」ではなく「タスク完了あたりのコスト」で評価する

安全対策

  • お金が動く操作や事業ロジックの変更は、モデルのツール呼び出し単体では絶対に実行させず、ハーネス側(サーバー側の実装)で強制する
  • モデルに渡す ID は、そのセッション内でサーバーが発行したものだけを受け付け、ハルシネーションやユーザーが貼り付けた ID、データに仕込まれた ID は拒否する
  • 利用上限はリクエスト単位ではなく結果の状態に対して課し、並列書き込みで上限をすり抜けられないようセッションごとに書き込みを直列化する
  • レビューや商品情報などサードパーティ由来のテキストは、制御文字の除去・区切り記号の除去・サイズ上限などでサニタイズしてからモデルに渡す

さらに、メモリは Markdown プロファイルではなく既存のデータベースに型付きレコードとして持たせ、会話終了後に非同期で書き込むことでメモリ関連の評価精度が 13% 改善しつつレイテンシも減らせた、という具体的な数字も紹介されているよ。評価(eval)についても、スナップショットからテスト状態を直接組み立てる手法や、あらゆる肯定ケースに対応する否定ケース(拒否すべきケース)を必ず用意するという運用ルールが語られているの。

まとめ

  • コマースエージェントは「1 モデル + スキル」構成を基本に、サブエージェント分割を避ける
  • お金が動く操作はハーネス側で強制し、モデルの判断だけに任せない
  • プロンプトキャッシュを 3 層に設計するとキャッシュヒット率 90〜99% まで狙える
  • メモリは非同期書き込み・型付きレコードで管理し、評価精度と速度を両立
  • 肯定ケースと否定ケースを必ずセットで評価する運用が事故を防ぐ

これから決済やカートを扱うコマース系のエージェントを本気で設計・実装したいエンジニアには、そのまま実務に持ち帰れる内容が詰まった一本だよ!