iT邦幫忙

2025 iThome 鐵人賽

DAY 19
1
Odoo

站在巨人的肩膀上打造企業智慧助手:Make × AI × Odoo 的實踐之路系列 第 19

🚀 Day 19:AI 正式上工:判斷需求 × Gmail 智能分類

  • 分享至 

  • xImage
  •  

一、前情提要:AI 從「能回覆」到「能判斷」

昨天的 Day18,我們已經把 Gemini 串進 Make,測試過它能夠回訊息。
不過,如果 AI 只是單純「會回話」,那還不算真正幫上忙。

真正的關鍵在於:
👉 AI 能不能聽懂客戶的需求,並做出正確判斷?

雖然有時候客戶講的話,比你前任的心思還難猜🤯,但我相信只要 prompt 下得好,AI 也可以迎刃而解。


反正今天我們的重頭戲就是:

  • 🎯 Day14 彩蛋一:判斷客戶要查的是「單據」還是「明細」
  • 🎯 Day16 彩蛋:讓 Gmail 分類更聰明,不只是硬加標籤,而是依「內容語意」自動判斷

也就是說,今天開始,AI 不再只是「語言模型」,而是你的 超智慧分流器 🚦。


二、使用者情境

案例 1:客戶需求判斷

  • 客戶輸入:「我要查 SO2025-0006 的明細」
  • 系統要能理解這不是單純的「查訂單」,而是要進一步查詢「訂單明細」

傳統做法是靠「字串包含 單據:」來判斷,但這太死板了。
如果客戶輸入「可以幫我看 SO2025-0006 的內容嗎?」
👉 舊方法直接 GG,根本無法正確判斷

所以我們需要 AI 幫忙判斷語意,而不是死規則。


案例 2:Gmail 智能分類

  • 收到信件:「您好,這是刀具報價單」 → 應該分類到「VIP / 詢價」
  • 收到信件:「Odoo 報表排程寄送」 → 應該分類到「其他」
  • 收到信件:「50% OFF!廣告促銷」 → 應該分類到「其他」

Day16 我們雖然會加標籤,但那時候只是「無差別通通加上去」。
今天要讓 AI 幫我們分辨內容,再決定該加哪個標籤。


三、實際操作

今天要完成兩個彩蛋的解法,我會分開說明,並且附上我設計 Prompt 的思路。


🎯 Part 1:Day14 彩蛋一解法(判斷「單據 / 明細」)

Day14 的時候,我是靠「字串包含 單據:」來判斷要不要查明細,這方法很死板。

於是我重新設計了一個 Prompt,讓 AI 先幫我看懂訊息內容,到底是要查「單據」還是「明細」,若為明細,則再請 AI 幫我取出單號的部分,查詢完單號明細後,再請 AI 整理格式,回傳給 LINE。

這是這整個的 UML 流程圖,可以看到 AI 分別擔任了判斷、抽取資料、格式整理的角色。
https://ithelp.ithome.com.tw/upload/images/20250819/20177665Ts0uSmQWhw.png

雖然看起來很複雜,但其實我只是想表達一件事:
你可以看到,我使用 AI 做了很多事,像是幫忙判斷類別、整理格式,這些原本都要人工處理的工作,現在全部交給 Gemini 搞定了。

接下來就說明我在Make流程中 AI 的 ** Prompt 設計思路**

  • 📌 任務說明:請 AI 幫我做分類,輸出只有「單據」或「明細」兩種結果。
  • 📚 資料來源:帶入使用者輸入的文字({{20.events[].message.text}})。
  • 📏 規則條列:清楚定義「單據」是查歷史訂單、「明細」是查單據明細且有單號。
  • 🧪 範例:我寫了 4 個範例,涵蓋模糊查詢和精準查詢,幫助 AI 學會差異。
  • 🚫 禁止項目:強調「只能輸出類別,不要說明文字」。

Prompt設計

請根據以下文字進行歸類,並只輸出類別,不需要任何說明或多於文字。
文字:{{20.events[].message.text}}
規則:
-類別分為:單據、明細
-只需輸出類別,不要輸出其他說明文字

類別判斷邏輯:
單據:要尋找購買歷史的單據
明細:要找單據的詳細明細且有明確的單據號碼

範例1:
輸入:
你好,我想要知道我之前買了甚麼
輸出:
單據

範例2:
輸入:
你好,我想要查看單據明細
輸出:
單據

範例3:
輸入:
你好,我想要查看S0006單據
輸出:
明細

範例4:
輸入:
查看單據
輸出:
單據

範例5
輸入:
單據:S0006
輸出:
明細

這樣設計之後,不管客戶怎麼表達,AI 都能正確分辨「單據 vs 明細」,Router 就能自動分流。
因此我也稍微修改了流程圖:
https://ithelp.ithome.com.tw/upload/images/20250819/20177665U61L6j8DDH.png


🎯 Part 2:Day16 彩蛋解法(Gmail 智能分類)

在 Day16,我雖然做了 Gmail 標籤化,但當時只是「無差別加標籤」。
今天我要加上 AI 判斷,讓 AI 可以對信件內容進行分類。

所以流程是:
收到 Gmail 後,讓 AI 判斷信件內容屬於「購買」還是「其他」,然後依據結果,自動加上 Gmail 對應的標籤。

這是這整個的 UML 流程圖,也是請AI進行信件內容的判斷
https://ithelp.ithome.com.tw/upload/images/20250819/20177665rx7JE7xdRb.png

接下來就說明我在 Make 流程中 AI 的 Prompt 設計思路

  • 📌 任務說明:請 AI 幫我把 Gmail 訊息分類為「購買」或「其他」。
  • 📚 資料來源:帶入 Gmail 的信件內容。
  • 📏 規則條列:明確定義「購買」的判斷邏輯(有購買意圖、詢價、產品需求),其他一律歸為「其他」。
  • 🧪 範例:設計了多種情境(購買、詢價、退貨、單據查詢、打招呼…),避免 AI 誤判。
  • 🚫 禁止項目:同樣要求「只能輸出類別名稱」。

Prompt設計

請依據以下規則判斷輸入文字的類別,並只輸出類別名稱(不得輸出任何解釋或額外文字)。
文字:{{6.text}}
可選類別:
購買、其他

分類規則:
1.購買:表達有購買刀具產品的需求或意願,或是想要了解刀具產品的意願,或闡述購買刀具的需求
2.其他:除了類別購買以外的都為其他

範例:

輸入:你好,我想購買你們的產品  
輸出:購買

輸入:請問我上次買的單據明細可以提供嗎?  
輸出:其他

輸入:請問退貨流程是怎麼處理的?  
輸出:其他

輸入:你好  
輸出:其他

輸入:你好,我想要問如果要拿來切鋁的刀具,我應該要選甚麼產品? 
輸出:購買

輸入:你好,可以說明一下你們家的刀具產品嗎?
輸出:購買

這樣 Gmail 的每一封信,AI 都能幫我們判斷意圖,再讓 Make 自動加上正確的標籤。
下圖是修改後的Make流程圖
https://ithelp.ithome.com.tw/upload/images/20250819/20177665xBDfOAgyph.png


四、測試成果

來實測看看 🚀:

✅ Part 1 測試結果

  1. 客戶輸入:「你好,我想要查看 S00006 單據」
    → AI 在 Make 辨識為「明細
    → 系統自動回傳 Carousel 明細卡片

  2. 客戶輸入:「早安,我想查單據」
    → AI 在 Make 辨識為「單據
    → AI 整理完 Odoo 資料並產生 API 格式後,系統自動回傳 quickReply 選擇

  3. 客戶選擇 quickReply「S00023」,回傳「單據:S00023」
    → AI 在 Make 辨識為「明細」,並擷取單號:S00023
    → AI 整理完 Odoo 資料並產生 API 格式後,系統自動回傳 Carousel 明細卡片

gif


✅ Part 2 測試結果

  1. Gmail 收到「老闆交辦事項」
    → AI 在 Make 辨識為「其他」
    → 系統標記 Gmail 信件為「其他」標籤

gif

統整這兩個流程和結果,你會發現最大的不同就是:
👉 流程加入AI前,只是「照規則做」,加入AI後,則是真的「聽懂人話」去處理


五、結語:AI 上工的第一天

今天我們完成了兩個關鍵任務:

  • 客戶需求判斷:不再靠死字串,而是靠 AI 讀懂語意,決定是查單據還是查明細。
  • Gmail 智能分類:不再「無差別加標籤」,而是 AI 判斷內容,正確分類到「購買」或「其他」。

這代表 AI 正式進入流程,成為我們的 智慧分流器


📌 後續文章預告:
我們會繼續強化 AI 和 Odoo 的應用,讓 AI 在我們的流程中,擔任判斷、整理格式…等功能的重要角色,大家就敬請期待吧!

我們明天見 👋


上一篇
🚀 Day 18:工具使用說明:Make × AI 實作教學
下一篇
🚀 Day 20:AI × Make:客戶訊息分類 × 聯絡人管理的第一步
系列文
站在巨人的肩膀上打造企業智慧助手:Make × AI × Odoo 的實踐之路30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言