嗯...最近好像很多人在問 chatbot 怎麼做。感覺好像很複雜,但又好像沒那麼難... 🤔
每次在群組裡聊到這個,大家反應都很兩極。有人覺得這是工程師才搞得懂的東西,也有人說現在很多無程式碼 (No-code) 工具,拖一拖拉一拉就好了。說真的,兩種都對,也都...不太對。
我想了想,決定還是把我這幾年踩過的坑、用過的想法整理一下。這篇不會是那種一步一步帶你點擊的超詳細教學,網路上很多了。 我比較想聊的是「從零開始」那個「零」到底是什麼。就是...在你選定任何工具、寫任何一行程式碼之前,腦袋裡該想清楚的事。算是個...心法分享吧。
先說結論
如果你很急,那我的建議是:先不要急著選工具。真的。
先把你的機器人要「幹嘛」想清楚,然後用紙筆,或是任何你順手的筆記軟體,畫出使用者跟它講話的流程。就...很像在寫劇本。這個步驟比你花時間去研究哪個平台功能最強、哪個 API 最便宜重要一百倍。這個想不清楚,給你再好的工具也沒用。
為什麼現在的教學,好像哪裡怪怪的?
我去看了一下現在大家在網路上找「聊天機器人教學」會看到的內容,大概就是...幾種類型:
- 一種是特定工具的推廣文,比如 Botpress 或 GPTBots,很詳細地教你怎麼用它們家的平台做出一個機器人。 這沒什麼不好,但你看完只會用那一個工具。
- 另一種是工程師寫的,直接教你串接 LINE Messaging API 或是用 Python 函式庫。 這種通常很硬核,如果不懂程式會直接卡關。
- 還有一種是行銷角度出發的,跟你說 chatbot 對生意多好多棒,可以 24 小時服務、提升顧客滿意度之類的。 但...然後呢?具體怎麼做就點到為止。
我感覺比較少人去談的是...「取捨」。就是,什麼情況下你根本不需要一個會自由聊天的 AI 機器人?什麼時候用簡單的規則式機器人就夠了? 還有,上線之後的維護,那才是惡夢的開始...呃,我是說,挑戰的開始。 沒人告訴你,你的機器人上線後,你需要持續監控和分析它的表現,這才是整個專案的重點。
動手前,先寫好「劇本」
好,回到我剛剛說的「寫劇本」。這到底是什麼意思?
在你打開任何平台之前,先回答這幾個問題:
- 機器人的核心任務是什麼? 它是客服嗎?是訂餐系統?還是只是個陪聊天的?一次最好只專注做一件事。想讓它什麼都會,通常最後就是什麼都做不好。
- 它的「人設」是怎樣的? 它講話的口氣是專業、親切,還是有點...機車?這會決定你所有回應的文案風格。
- 使用者會怎麼跟它「開頭」? 他們是從廣告點進來的?還是從官網某個按鈕?開頭的第一句話,決定了整個對話的走向。
- 如果機器人「聽不懂」怎麼辦? 這是最重要的。要有個備案。是轉接真人客服?還是給一個「不好意思,我不太懂你的問題,你可以...」的導引?後備意圖 (Fallback Intent) 的設計,是決定一個機器人好壞的關鍵。
把這些都想清楚,你會得到一個類似流程圖的東西。這就是你的開發藍圖,也是你跟工程師或團隊溝通的基礎。
好啦,該選工具了
當你的劇本差不多了,就可以來挑工具了。市面上的選擇真的很多,每年都在變。 我把它們粗略分成三類,你可以看看自己在哪個光譜上。
| 工具類型 | 適合誰 | 優點 | 缺點 / 成本 |
|---|---|---|---|
| 無程式碼平台 (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,技術只是其中一部分。更多時候,它是在考驗你對使用者、對溝通流程的理解。希望這些隨性的分享對你有幫助。與其說是教學,不如說是一些...路上的風景吧。有問題可以在下面留言,雖然我不一定答得出來就是了。😅
對了,你覺得做一個聊天機器人,最困難的部分是技術,還是設計對話流程?
