ANSWER
【結論】
AIにCMSへ新規データを作らせるときは、Create成功後に返されたIDを作業状態として保持し、その後の確認・修正・再開では同じIDを対象にします。処理結果が不明なまま再実行する場合は、まず既存データを検索して作成済みか確認し、対象が見つかればGetやUpdateへ切り替えます。Createを「確認」や「続き」のために再実行しないことが、重複作成を避ける基本です。

Explanation
【詳しく解説】
重複作成は「同じタイトル」ではなく「別IDが増えた」で確認する
CMSへ記事やデータを作成するとき、同じタイトルが表示されているだけでは、同じデータを見ているとは限りません。
新規作成の結果として別のIDが返っていれば、少なくともシステム上は別の作成物として扱う必要があります。
AI運用では、表示名だけを頼りにせず、作成後に返されたIDを次工程へ引き継ぐことが重要です。
Createは「新しく作る」操作として扱う
Wix BlogのCreate Draft Postは、新しい下書きを作成するAPIです。
作成結果にはdraftPostオブジェクトが返り、その中にIDが含まれます。
このIDは、あとから同じ下書きを取得・更新するときの対象識別に使えます。
ここで重要なのは、Createを「作成できたか確認する操作」や「前回の続きを再開する操作」と混同しないことです。
すでに作成済みかもしれない状態でCreateをもう一度実行する前に、現在の状態を確認します。
作成直後にIDを作業状態として保存する
新規作成が成功したら、次の工程に必要なのは記事本文をもう一度送ることではなく、作成された対象を識別できるIDです。
AI側の作業状態には、少なくとも「何を作ったか」「どのIDが返ったか」「次に何をするか」を残します。
- CREATE:新しいデータを作る
- ID:返された識別子を保持する
- GET:同じ対象の状態を確認する
- UPDATE:同じ対象を修正する
Wix Blogでは、Get Draft Postは下書きIDを指定して取得し、Update Draft Postも対象IDを指定して更新します。
作成後は「タイトルが同じものを探して操作する」より、返されたIDで同じ対象を追う方が対象を明確にできます。
処理結果が不明なら、再作成する前に検索する
通信が途切れた、別スレッドへ移った、完了報告だけが残っているなど、前回のCreateが成功したか分からない場合があります。
この状態で「念のためもう一度Createする」と、すでに作成済みだった場合に別データが増える可能性があります。
Wix BlogにはQuery Draft Postsがあり、条件を指定して既存の下書きを検索できます。
再実行前に候補を確認し、作成済みの対象が見つかったら、そのIDを固定してGetやUpdateへ進みます。
ただし、タイトル一致だけで同一データと断定せず、作成日時、内容、カテゴリー、タグなど、利用できる情報を合わせて対象を確認します。
「同じ指示をもう一度」は、同じ対象の継続とは限らない
会話型AIでは、ユーザーが同じ指示をもう一度送ることがあります。
しかし、外部サービスへのCreate操作では、同じ指示を再送したからといって、前回作ったデータの続きを自動的に意味するとは限りません。
そのため、AI側では自然言語の「もう一度」「続き」より、外部サービス上のIDと操作種別を優先して状態管理します。
再実行時には、「新しく作るのか」「既存の対象を読み直すのか」「既存の対象を更新するのか」を先に分けます。
確認用の操作と、変更用の操作を分ける
状態確認のために外部サービスへアクセスするなら、可能な限り読み取り操作を使います。
Createは新規作成、GetやQueryは確認、Updateは既存対象の変更というように、目的に合う操作を分けます。
これは「送信した・保存された・表示された」を分ける確認設計とは別の問題です。
ここで管理しているのは、再実行したときに、同じ対象を操作しているのか、それとも新しい対象を作っているのかです。
重複候補が見つかったら、原因を決めつけない
同じようなデータが2件あっても、可視の記録だけで「確認のつもりでCreateを二重実行した」と断定できるとは限りません。
別の処理経路、再送、操作のやり直しなど、複数の可能性があります。
Evidenceとして残すのは、確認できた事実です。
別IDのデータが2件返った、主要メタデータが一致していた、作成時刻に一定の差があった、といった事実と、原因についての推測を分けます。
再実行時の基本ルール
- Createの前に、今回が本当に新規作成か確認する
- Create成功後は返されたIDを保持する
- 同じ作業を続けるときは、そのIDを対象にする
- 前回の成否が不明なら、まず既存データを検索する
- 候補が見つかったら、複数情報で同一対象か確認する
- 確認はGet / Query、変更はUpdate、新規だけCreateと役割を分ける
- 重複が見つかっても、原因未確認なら原因を断定しない
AIに外部サービスを操作させるときは、文章や指示だけでなく、外部サービス上の対象IDを作業状態の一部として持たせることが、再実行を安全にする基本になります。
このKnowledgeの関連知識
作成後の状態を確認する: 重複Createを避けた後、保存されたか・読み戻せたか・表示されたかを別々に確認する。
AIに外部サービスを操作させるとき「送信した・保存された・表示された」を分けて確認する
現在地: WEB & CMS → Wix・CMS・API自動運用
EVIDENCE
【根拠・検証】
筆者が支援する食品小売事業のWix Blog作業で確認された2件の下書き
筆者が支援する食品小売事業のWix Blog下書き作成記録を後から採掘したところ、同名の未公開下書きについて、異なる2つの記事IDが返っていた記録がありました。
主要なメタデータは一致しており、記録上の作成時刻の差は33.056秒でした。
このことから確認できるのは、短い時間差で、別IDを持つ同名の下書きが2件作成された記録があることです。
この記録だけでは原因までは確定できない
採掘記録からは、2件が作られた正確な原因までは確認できません。
「確認のためにCreateを再実行した」「33.056秒が記事制作時間だった」「2件の本文全文が完全一致していた」といったことも、確認済み事実としては扱っていません。
現在も2件が残っているかについても、このEvidenceでは確認していません。
公式API構造から、再実行管理を分けて設計した
Wix公式のDraft Posts APIでは、Create Draft Postは新しい下書きを作成し、結果にdraftPost.idを返します。
Get Draft PostはIDで既存下書きを取得し、Update Draft PostはID指定で既存下書きを更新します。Query Draft Postsでは既存下書きを条件検索できます。
この構造と実際の重複記録を分けて考え、海辺の部屋では「Create後はIDを保持し、再開時はまず既存対象を確認する」という予防設計として整理しました。
なお、このルールを導入したことで重複作成が何%減った、といった効果測定は行っていません。
SOURCES
【情報源】
OFFICIAL SOURCE
Wix公式:Create Draft Post ↗
OFFICIAL SOURCE
Wix公式:Get Draft Post ↗
OFFICIAL SOURCE
Wix公式:Query Draft Posts ↗
OFFICIAL SOURCE
Wix公式:Update Draft Post ↗
Author
【著者】
可児 波起
マーケティングデザイナー / DXコンサルタント / 音楽家
次に読む
作成後の状態を確認する
AIに外部サービスを操作させるとき「送信した・保存された・表示された」を分けて確認する
重複Createを避けた後、保存されたか・読み戻せたか・表示されたかを別々に確認する。 この記事では、AIにWixなどの外部サービスを操作させるときは、「リクエストを送った」「保存結果が返った」「保存内容を読み戻した」「画面や公開状態で確認した」を分けて記録します。送信しただけで「設定済み」と言い切らず、重要な項目ほど確認段階を明示すると、AIの完了報告が実際の状態より先に進むのを防ぎやすくなります。
このテーマをもっと見る
Wix直接運用、CMS自動化、API、Media Manager、重複防止を扱う。 現在、このテーマには5件の主要Knowledgeがあります。
上位カテゴリ
ChatGPTとWix・CMS・APIをつなぎ、壊れにくく続けられるWeb運用へ落とし込む。
すべてのテーマから探したい場合は、Knowledge一覧へ戻る。
