レビューゲート付きAI Eコマース自動化

Updated 2026-09-05

商品変更を追跡可能なドラフトジョブに変えます。生成、検証、承認、ストア更新を分け、失敗した実行を理解して再開できるようにします。

プロンプトだけでなく引き継ぎを自動化する

再現可能なコンテンツワークフローは、どの商品が変わったか、どのソースリビジョンを使ったか、残りの作業は何か、誰が公開できるかに答えられる必要があります。CSVを添付したスケジュール済みプロンプトだけでは、これらに答えられません。プロンプトを、状態が会話の外に保存されるジョブの一段階として扱います。

まずエクスポート可能なコンテンツとオフラインのレビューキューから始めます。各ジョブに永続的な記録と明示的な次のアクションを与えます。管理されたストアで送信先アダプターと承認チェックを実行するまで、ライブ商品更新は無効にします。これにより、公開権限を追加する前に生成とレビューを構築できます。

カタログローカライズのワークフロー: 元の商品情報を確認し、用語を固定し、翻訳し、保護されたフィールドを検証して、インポートを承認する。
ワークフローのイラスト。ストアへの公開に先立って、検証と承認を行います。

各ジョブに安定した識別情報を与える

ソースリビジョン、商品識別子、ロケール、用語集リビジョン、プロンプトリビジョンを使い、意図した作業を識別します。同じジョブのリトライで無関係な候補が作られたり、同じインポートが二度適用されたりしてはいけません。ソースやルールが変わったら、以前の候補との関係が見える新しい作業を作ります。

ジョブのキーに行番号を使わないでください。エクスポートを並べ替えると行位置が変わります。価格と単位はソーススナップショットに置いたまま、生成出力は承認済みテキストフィールドだけに許可します。以下の記録は、ジョブストアに適応するための例示的なアプリケーション契約です。

{
  "productId": "SYNTHETIC-CATALOG-A",
  "locale": "de",
  "sourceRevision": "source-revision-required",
  "glossaryRevision": "glossary-revision-required",
  "promptRevision": "prompt-revision-required",
  "state": "queued",
  "approval": null,
  "importReceipt": null
}

観測可能な状態遷移を永続化する

検証へ進める前に候補出力を保存します。レビュアーを割り当てる前に検証課題を保存します。承認を正確な候補とソースのリビジョンに結び付けます。以前のバージョンが承認済みでも、承認後にコンテンツが変わったレコードは公開処理が拒否するべきです。

曖昧な結果には保留状態を使います。たとえばインポート中の接続切断は、ストアが書き込みを拒否した証拠ではありません。リトライ前に現在保存されているフィールドを照合します。各結果を永続化する操作の近くに遷移チェックを置き、以下の状態をオーケストレーション層で実装してください。

遷移必要な証拠保留する場合
キューからドラフトへ保存された候補とリクエスト識別情報出力が欠落または不完全
ドラフトからレビュー可能へ構造化されたフィールドチェック保護フィールドの変化
レビュー可能から承認済みへレビュアーと候補リビジョン未解決の事実問題
承認済みからインポート済みへ承認済みパッチとストアのレシート古いソースまたは不確かな書き込み
インポート済みから検証済みへ保存フィールドの比較想定外のフィールド差分

モデルクライアントとストアアダプターを分ける

ドラフトワーカーには、承認済みのソース部分とモデル認証情報だけを渡します。ストア認証情報は、説明パッチを準備するような狭い操作を持つ別アダプターに置きます。AIリクエストが成功しただけで、副作用として商品を公開できてはいけません。

Shopifyの文書化された翻訳経路は、リソース固有のコンテンツとダイジェストを使います。WooCommerceには商品CSVインポーターが文書化されています。各インターフェースに独自のマッパーと検証手順を持たせます。モデル認証情報はドラフトクライアントで設定し、ソースの読み取りと承認済みストア書き込みは送信先アダプターに保ちます。フローを結合する前に、これらの境界を独立してテストしてください。

リトライに上限を設け、問題レコードを分離する

一時的なトランスポート失敗には、有限のポリシーと試行記録を伴うリトライを使います。原因を変えずに構造的に無効なレスポンスを繰り返すと、使用量とレビュアーの時間を無駄にします。認証、利用できないモデル、不完全な生成、無効なフィールド、拒否されたコンテンツは別の失敗カテゴリーとして扱い、それぞれ異なる介入を行います。

成功したレコードを利用可能なままにし、失敗したものを保留します。検証に失敗した候補を含め、対象商品のすべての試行を保持します。ワーカーの再起動ではカタログ全体を再生成せず、永続化した状態から再開します。キャンセルもテストしてください。生成を停止したことで、インポートプロセスが黙って動き続けてはいけません。

承認済み作業と全コストを測定する

課金証拠がある場合は失敗したリクエストも含め、使用量記録をジョブと試行に結び付けます。ドラフト、レビュー、改訂の呼び出しを別々に追跡します。欠落した使用量は不明のままにします。レシートがないことは無料のリクエストを意味しません。異なる測定値を一つに混ぜるのではなく、編集者の時間をAPI台帳から分けます。

商品とロケールの承認済みリビジョンなど、リリース基準で承認済み作業を定義します。分母がゼロでなく、サンプルの範囲が明確な場合にだけ、記録コストを承認済み作業で割ります。現在のプロバイダーまたはゲートウェイの課金情報を使い、日付と請求ソースをレポートに残します。

インポートを照合し、取り消しを準備する

承認済みの変更だけを含むインポート提案を作り、そのフィールドの以前の値を保存します。承認済みの書き込みを行う直前に、ソースリビジョンをもう一度比較します。別の編集者が商品を変更していたら、上書きせずに停止して新しいレビューを依頼してください。

インポート後、意図したフィールドを読み戻し、商品とロケールごとに不一致を分類します。ストアがインポート済みリビジョンとまだ一致する場合、取り消しはこのバッチの変更だけを復元します。それ以外では競合レビューが必要です。インポート権限をテキスト生成権限から分離します。

失敗を含む小さなフローを検証する

合成商品を使い、承認済み候補を一つ、保護フィールド違反を一つ、変更されたソースの競合を一つテストします。ドラフトと承認の間にワーカーを再起動します。承認済み作業が残り、保留中の作業がインポート提案へ入れないことを確認します。これらのチェックは、プロンプトの言い回しを繰り返しテストするより状態契約を直接検証します。

その後、明示的な権限を持つステージングストアでアダプターをテストします。ソーススナップショット、生成リビジョン、承認、インポートレシート、読み戻し比較を保持してください。ローカルジョブシミュレーションが確立するのはオーケストレーションの動作だけであり、モデル品質やストア統合の成功を確定するものではありません。

よくある質問

ワークフローをスケジュール実行できますか?

ジョブがリビジョンを把握し永続化されているなら、設計上は可能です。スケジューリングは対象作業をキューへ入れるべきで、検証を迂回したり自動公開権限を与えたりしてはいけません。

レビュー中にソースが変わったらどうなりますか?

候補を古い状態としてマークし、変更されたフィールドを比較します。インポートを準備する前に、新しいソースリビジョンに対する承認を求めます。

失敗した行でカタログ全体を止めるべきですか?

必ずしもそうではありません。影響を受けたレコードを保留し、成功したドラフトは保持します。ただし、誤った用語集など共通の失敗が全レコードに影響する場合はバッチを止めます。

不確かなストア書き込みはどうリトライすべきですか?

まず対象フィールドを読み戻します。何が起きたかを照合し、タイムアウトが書き込みなしを意味すると仮定せず、残っている承認済みパッチだけをリトライします。

最初に実装すべきコンポーネントはどれですか?

ソーススナップショット、永続ジョブ、レビューキューから始めます。次にモデルクライアントを追加し、公開済みインポートを有効にする前に送信先アダプターを実装してテストします。