1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「変更されてたの!?」を防ぐ!Difyで作る商品差分検知Botの舞台裏

Posted at

発売日変更?倉庫変更?まずい、発注エラーを防げ!

はじめに:仕様変更は突然に

PB商品の 「需要集約(生産数計画)」
実際に発売する半年前に実施するため、

  • 発売日の変更
  • 倉庫の変更
  • 商品情報の修正(カラー・サイズなど)

がたびたび発生します。

しかし、それらの変更が事前に共有されることは少なく、

「発注したらエラーになった」
「倉庫が違っていて納品されない」

など、現場での混乱が後から発覚することが多々あります。

そこで私は考えました。
「自力で差分を検出できるBotがあれば、発注前に気づけるのでは?」

この課題感から生まれたのが、今回紹介する「商品差分チェッカーBot」です。

🗂️ 目次

  1. はじめに:仕様変更は突然に
  2. 目的:Botで仕様変更を検知する
  3. 初期設計:理想と現実
  4. 問題①:「null」が変更なしと誤判定される
  5. 問題②:テンプレートが差分を潰していた
  6. 改善①:SYSTEMプロンプトの再設計
  7. 改善②:テンプレートの条件分岐を明確化
  8. 改善③:整形ノードの見直し
  9. おわりに:Botは“気づきの仕組み”、でもまだ道半ば

目的:Botで仕様変更を検知する

差分チェッカーBotの目的は明確です。

  • 需要集約時と発売時のCSVデータを照合
  • 商品ごとの変更点(発売日・価格・倉庫・カラーなど)を抽出
  • 変更があれば、変更した項目を回答してもらう

初期設計:理想と現実

最初に組んだSYSTEMプロンプトは、以下のようなものでした。

あなたは商品差分チェッカーです。
2つのデータを比較し、変更点を抽出してください。
変更がない場合は「変更はありません」と出力してください。

一見、問題なさそうに見えます。
しかし、実際にBotを動かしてみると…


問題①:「null」が変更なしと誤判定される

商品名「LED電球」に対して、Botが返してきたのはこのメッセージ:

変更はありません。

image.png

実際には、倉庫が「C倉庫 → E倉庫」に変わっていたのに、差分が抽出されていない。
原因は、null や空欄を「変更なし」と誤認していたことでした。


問題②:テンプレートが差分を潰していた

出力テンプレートがこうなっていました:

商品名:{{product_name}} 変更点:{{差分データ}} ※変更がない場合は「変更はありません」と表示されます

このテンプレートが、差分が空の場合に強制的に「変更はありません」と表示してしまう仕様。
つまり、差分抽出ロジックが正しくても、テンプレート側で潰されていたのです。


改善①:SYSTEMプロンプトの再設計

誤判定を防ぐため、SYSTEMプロンプトを以下のように強化しました。

  • 変更内容は「旧 → 新」の形式で記載
  • nullや空欄は「未入力」「削除」として扱う
  • 変更がない場合のみ「変更はありません」と出力
  • Markdown形式で出力(箇条書き)

出力例:

商品名:LED電球 変更点:

発売日:10月1日 → 10月15日

倉庫名:C倉庫 → E倉庫

※画像③:差分抽出が成功したBot出力


改善②:テンプレートの条件分岐を明確化

Botが抽出した差分を「どう見せるか」は、テンプレート次第。
ここが曖昧だと、せっかくの差分が「変更なし」と誤って表示されてしまいます。

差分ありの表示例:

商品名:LED電球
変更点:変更はありません

擬似コード:

if (差分.length === 0) { 表示 = "変更はありません"; } else { 表示 = 差分をMarkdown形式で箇条書き出力; }

このようにすることで、Botの抽出結果と表示内容が一致し、
現場での誤認や見落としを防げるようになりました。


改善③:整形ノードの見直し

商品名だけで照合すると、複数の候補が混在してしまうため、
以下の項目をすべて使って一意に照合するようにしました。

  • 商品名
  • カラー(色)
  • 価格
  • 発売日(旧)

整形テンプレート例:

商品名:LED電球(ブラウン) 旧データ:

発売日:10月1日

価格:698円

倉庫名:C倉庫

新データ:

発売日:10月15日

価格:698円

倉庫名:E倉庫

でもやっぱり正しい情報を見ていないみたい。
  ↓↓↓↓
image.png


おわりに:Botは“気づきの仕組み”、でもまだ道半ば

Botは単なる自動応答ではなく、
「人が気づけない変化を、仕組みとして伝える」 存在です。

Difyはその仕組みをノーコードで作れる強力なツールですが、
現場で使うには「伝える工夫」「整形の精度」「プロンプト設計」が不可欠でした。

とはいえ、現時点ではまだ「完璧な差分抽出」はできていません。
Botが誤判定するケースもあり、テンプレートの仕様も改善中です。

今はまだ“引き続き努力中”。
でも、現場の声を拾いながら、Botを“使える仕組み”に育てていく過程こそが、DXの本質だと思っています。
完成まで何度も修正をいれながら、ここでも報告をしていきたいです。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?