聊天機器人製作教學:從零開始建置流程與工具選擇指南

Published on: | Last updated:

嗯...最近好像很多人在問 chatbot 怎麼做。感覺好像很複雜,但又好像沒那麼難... 🤔

每次在群組裡聊到這個,大家反應都很兩極。有人覺得這是工程師才搞得懂的東西,也有人說現在很多無程式碼 (No-code) 工具,拖一拖拉一拉就好了。說真的,兩種都對,也都...不太對。

我想了想,決定還是把我這幾年踩過的坑、用過的想法整理一下。這篇不會是那種一步一步帶你點擊的超詳細教學,網路上很多了。 我比較想聊的是「從零開始」那個「零」到底是什麼。就是...在你選定任何工具、寫任何一行程式碼之前,腦袋裡該想清楚的事。算是個...心法分享吧。

先說結論

如果你很急,那我的建議是:先不要急著選工具。真的。

先把你的機器人要「幹嘛」想清楚,然後用紙筆,或是任何你順手的筆記軟體,畫出使用者跟它講話的流程。就...很像在寫劇本。這個步驟比你花時間去研究哪個平台功能最強、哪個 API 最便宜重要一百倍。這個想不清楚,給你再好的工具也沒用。

為什麼現在的教學,好像哪裡怪怪的?

我去看了一下現在大家在網路上找「聊天機器人教學」會看到的內容,大概就是...幾種類型:

  • 一種是特定工具的推廣文,比如 Botpress 或 GPTBots,很詳細地教你怎麼用它們家的平台做出一個機器人。 這沒什麼不好,但你看完只會用那一個工具。
  • 另一種是工程師寫的,直接教你串接 LINE Messaging API 或是用 Python 函式庫。 這種通常很硬核,如果不懂程式會直接卡關。
  • 還有一種是行銷角度出發的,跟你說 chatbot 對生意多好多棒,可以 24 小時服務、提升顧客滿意度之類的。 但...然後呢?具體怎麼做就點到為止。

我感覺比較少人去談的是...「取捨」。就是,什麼情況下你根本不需要一個會自由聊天的 AI 機器人?什麼時候用簡單的規則式機器人就夠了? 還有,上線之後的維護,那才是惡夢的開始...呃,我是說,挑戰的開始。 沒人告訴你,你的機器人上線後,你需要持續監控和分析它的表現,這才是整個專案的重點。

動手前,先寫好「劇本」

好,回到我剛剛說的「寫劇本」。這到底是什麼意思?

在你打開任何平台之前,先回答這幾個問題:

  1. 機器人的核心任務是什麼? 它是客服嗎?是訂餐系統?還是只是個陪聊天的?一次最好只專注做一件事。想讓它什麼都會,通常最後就是什麼都做不好。
  2. 它的「人設」是怎樣的? 它講話的口氣是專業、親切,還是有點...機車?這會決定你所有回應的文案風格。
  3. 使用者會怎麼跟它「開頭」? 他們是從廣告點進來的?還是從官網某個按鈕?開頭的第一句話,決定了整個對話的走向。
  4. 如果機器人「聽不懂」怎麼辦? 這是最重要的。要有個備案。是轉接真人客服?還是給一個「不好意思,我不太懂你的問題,你可以...」的導引?後備意圖 (Fallback Intent) 的設計,是決定一個機器人好壞的關鍵。

把這些都想清楚,你會得到一個類似流程圖的東西。這就是你的開發藍圖,也是你跟工程師或團隊溝通的基礎。

規劃 chatbot 對話流程的混亂桌面
規劃 chatbot 對話流程的混亂桌面

好啦,該選工具了

當你的劇本差不多了,就可以來挑工具了。市面上的選擇真的很多,每年都在變。 我把它們粗略分成三類,你可以看看自己在哪個光譜上。

工具類型 適合誰 優點 缺點 / 成本
無程式碼平台 (No-code)

例如:BotBonnie, GPTBots.ai

行銷人員、創業者、完全不想碰程式的人。 真的很快,拖拉點選就能完成。 很多針對 LINE 或 Messenger 的行銷模組可以用。 彈性低,被平台綁死。功能進階一點就要錢,長期下來成本不一定比較低。
低程式碼/視覺化開發平台

例如:Google Dialogflow, Botpress

有一點點技術概念、想高度客製化但又不想從零開始的人。 彈性大很多,可以用視覺化介面設計流程,也能寫點程式碼 (JavaScript) 做複雜的操作。 Botpress 甚至是開源的,可以自己架。 有學習曲線。 像 Dialogflow 分了 ES 和 CX 兩種版本,新手很容易搞混。 雖然平台本身可能免費或便宜,但維護和開發都需要時間成本。
純程式碼/框架

例如:直接串接 LINE/FB API, Rasa, Microsoft Bot Framework

工程師、開發者。 完全自由,要做什麼功能、串接什麼服務都可以。能做到最極致的優化和客製。 就是...什麼都要自己來。從伺服器、資料庫到整個對話邏輯管理,全部是你的事。時間和技術門檻最高。

我自己是覺得...沒有哪個是絕對最好的。很多人會從 No-code 開始,發現不夠用之後,再慢慢往低程式碼或純程式碼移動。這很正常。

選擇正確的開發工具,就像為任務找到對的鑰匙
選擇正確的開發工具,就像為任務找到對的鑰匙

台灣市場的特殊考量:LINE

如果你人在台灣,那幾乎繞不開 LINE。 我們的使用習慣跟國外很不一樣。國外可能優先考慮 WhatsApp 或 Facebook Messenger,但在台灣,LINE 官方帳號跟 LINE Bot 是主流。

這有什麼差嗎?差多了。LINE 的 Messaging API 有很多它自己獨特的訊息格式,像是圖文選單 (Rich Menu)、按鈕範本 (Button Template) 等等。 如果你選的工具沒有針對 LINE 做優化,你可能就沒辦法用這些很方便的功能,或是要自己花很多力氣去刻。像是很多國外開發的 No-code 平台,可能對 Facebook Messenger 支援很好,但對 LINE 的支援就很陽春。 這點在選工具的時候一定要先問清楚。

一些台灣本土的平台像 BotBonnie,或是對亞洲市場比較重視的平台,通常在 LINE 的整合上會做得比較好。

一些很容易踩到的雷

最後,分享幾個我...或我朋友...慘痛的經驗。希望可以幫你避開。

  • 忘記設定預算和用量監控: 尤其是用大型語言模型 (LLM) API 的時候,像 ChatGPT API。 剛開始測試量小沒感覺,一但上線使用者一多,API call 的費用可能會暴增。一定要設定預算警告!
  • 對自然語言理解 (NLU) 期望過高: 以為 AI 什麼都聽得懂。事實上,你需要給它很明確的「意圖 (Intent)」和「實體 (Entity)」範例來訓練它。 沒有好的訓練資料,AI 就跟笨蛋沒兩樣。
  • 對話流程做成死胡同: 使用者聊到一半卡住了,不知道下一步要幹嘛,機器人也只會重複「聽不懂」,然後使用者就跑了。永遠要提供一個出口,不管是回到主選單,還是轉接真人。
  • 上線後就放著不管: 就像前面說的,上線才是開始。 你要定期去看對話紀錄,看使用者都在問什麼、在哪個環節卡住、哪些問題是機器人答不出來的。然後持續優化你的劇本跟訓練資料。
成功互動的畫面:手機上顯示來自機器人的清晰回覆
成功互動的畫面:手機上顯示來自機器人的清晰回覆

嗯...大概就是這樣吧。做一個 chatbot,技術只是其中一部分。更多時候,它是在考驗你對使用者、對溝通流程的理解。希望這些隨性的分享對你有幫助。與其說是教學,不如說是一些...路上的風景吧。有問題可以在下面留言,雖然我不一定答得出來就是了。😅

對了,你覺得做一個聊天機器人,最困難的部分是技術,還是設計對話流程?

Related to this topic:

Comments

撥打專線 LINE免費通話