top of page

KNOWLEDGE

AIにCMSへ書き込ませるとき、同じデータの重複作成をどう防ぐか

​著者:可児波起

​確認日:

2026年9月22日

​更新日:

2026年9月25日

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件返った、主要メタデータが一致していた、作成時刻に一定の差があった、といった事実と、原因についての推測を分けます。



再実行時の基本ルール


  1. Createの前に、今回が本当に新規作成か確認する
  2. Create成功後は返されたIDを保持する
  3. 同じ作業を続けるときは、そのIDを対象にする
  4. 前回の成否が不明なら、まず既存データを検索する
  5. 候補が見つかったら、複数情報で同一対象か確認する
  6. 確認はGet / Query、変更はUpdate、新規だけCreateと役割を分ける
  7. 重複が見つかっても、原因未確認なら原因を断定しない


AIに外部サービスを操作させるときは、文章や指示だけでなく、外部サービス上の対象IDを作業状態の一部として持たせることが、再実行を安全にする基本になります。



このKnowledgeの関連知識


作成後の状態を確認する: 重複Createを避けた後、保存されたか・読み戻せたか・表示されたかを別々に確認する。

AIに外部サービスを操作させるとき「送信した・保存された・表示された」を分けて確認する


現在地: WEB & CMS → Wix・CMS・API自動運用

Knowledgeトップを見る

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

【情報源】

Author

【著者】

可児 波起

​マーケティングデザイナー / DXコンサルタント / 音楽家

次に読む

作成後の状態を確認する

AIに外部サービスを操作させるとき「送信した・保存された・表示された」を分けて確認する

重複Createを避けた後、保存されたか・読み戻せたか・表示されたかを別々に確認する。 この記事では、AIにWixなどの外部サービスを操作させるときは、「リクエストを送った」「保存結果が返った」「保存内容を読み戻した」「画面や公開状態で確認した」を分けて記録します。送信しただけで「設定済み」と言い切らず、重要な項目ほど確認段階を明示すると、AIの完了報告が実際の状態より先に進むのを防ぎやすくなります。

このテーマをもっと見る

Wix・CMS・API自動運用

Wix直接運用、CMS自動化、API、Media Manager、重複防止を扱う。 現在、このテーマには5件の主要Knowledgeがあります。

上位カテゴリ

WebとCMS実務(WEB & CMS)

ChatGPTとWix・CMS・APIをつなぎ、壊れにくく続けられるWeb運用へ落とし込む。

すべてのテーマから探したい場合は、Knowledge一覧へ戻る。

bottom of page