2026 客服革命:WordPress x Gemini 打造情緒危機自動分流
你的客服團隊還在憑感覺處理客訴?這篇 2026 年的硬核實戰教學,揭密如何在 WordPress 中串接 Google Gemini API,實現表單送出瞬間,AI 自動判讀客戶情緒分數並強制輸出 JSON。我們將教你如何利用高效能的 Flash 模型建立自動化分流,將感謝信自動歸檔,並將「極度憤怒」的危機秒速通知主管。別讓你的網站停留在 Web 2.0 時代!立即升級自動化工程,保護你的團隊心理健康,讓專業客服專注於真正需要解決的問題。不想手刻程式碼?立即聯繫浪花科技,打造企業級 24H 智慧守門員!
你的客服還在「憑感覺」?2026 實戰 WordPress x Gemini API:自動化情緒偵測與危機分流系統
嗨,各位開發者與站長們,我是浪花科技的資深工程師 Eric。
現在是 2026 年了,如果你還在讓你的客服團隊(或是你自己)一封一封手動點開「聯絡我們」的表單,然後深呼吸一口氣祈禱不是來罵人的,那你真的該更新一下工作流了。我們都知道,處理客訴最累的不是解決問題,而是那個「不知道下一封信會不會炸開」的心理壓力。
今天這篇文章,我不談什麼高大上的 AI 哲學,我們要來點「硬核」的實作。我要教你如何在 WordPress 中串接 Google Gemini API(我們假設是目前性價比最高的 Gemini 1.5 Pro 或 2.0 Flash 模型),在客戶按下「送出」表單的那一毫秒,自動判讀他的情緒指數。如果是來道謝的,自動歸檔;如果是來「炎上」的,系統直接繞過工讀生,秒速通知主管。
這不是魔法,這是 2026 年該有的基本自動化工程。
為什麼選擇 Gemini API 而不是 OpenAI?
身為一個精打細算的工程師,選型(Tech Stack Selection)是我們的天職。雖然我在其他專案也用 GPT-4o,但在處理「大量文本分析」這件事上,2026 年的 Google Gemini 有幾個絕對優勢:
- 長文本窗口(Context Window): 客戶寫起客訴信來有時候比寫小說還長,Gemini 的 token 吞吐量大,不會讓你炸預算。
- 原生 JSON 模式: 對於後端工程師來說,能穩定吐出 JSON 格式的 AI 才是好 AI。我們不需要在那邊用正規表示式(Regex)去剖析它的回答,那簡直是地獄。
- 回應速度: 在 Flash 模型的加持下,延遲極低,適合即時的 Webhook 處理。
架構設計:從表單到情緒標籤的自動化流水線
在開始寫 Code 之前,Eric 習慣先畫架構圖(雖然這裡沒圖,但請跟著我的邏輯走)。我們的目標是打造一個「中介層(Middleware)」,攔截表單數據。
- 觸發點 (Trigger): 使用者填寫 WordPress 表單(例如 Contact Form 7, WPForms, 或自幹的表單)。
- 攔截 (Hook): 利用 WordPress 的 `save_post` 或表單外掛提供的 Action Hook 攔截數據。
- 分析 (Analyze): 將內容打包,透過 `wp_remote_post` 發送給 Gemini API。
- 決策 (Decision): 取得 AI 回傳的 JSON(包含情緒分數、關鍵字、摘要)。
- 行動 (Action):
- 將情緒標籤寫入 `post_meta`。
- 如果是「極度憤怒」,觸發 Email 或 Slack 通知。
實戰程式碼:PHP 串接 Gemini API
我知道你們是用經典編輯器(Classic Editor)或者習慣直接在 `functions.php` 裡貼程式碼(雖然我建議寫成外掛,但為了教學方便,我們先這樣做)。
首先,我們需要一個與 Gemini 溝通的函式。請注意,千萬不要把 API Key 直接寫死在程式碼裡,請放在 `wp-config.php` 定義常數,這是資安基本常識,好嗎?
1. 設定 API 金鑰
在 `wp-config.php` 加入:
define( 'GEMINI_API_KEY', '你的_GOOGLE_AI_STUDIO_KEY' );
2. 撰寫 API 請求函式
這段程式碼負責把文字丟給 Gemini,並要求它只回傳 JSON。這裡我加了一些工程師的小囉嗦註解,方便你除錯。
function eric_analyze_sentiment_with_gemini( $user_message ) {
if ( ! defined( 'GEMINI_API_KEY' ) ) {
error_log( 'Gemini API Key 未設定,請檢查 wp-config.php' );
return false;
}
$api_url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=' . GEMINI_API_KEY;
// 這段 Prompt 是關鍵,我們要 AI 變成一個資深的客服經理
// 強制輸出 JSON 格式,不要廢話
$prompt_text = "你是一位資深的客戶關係經理。請分析以下客戶回饋內容。\n"
. "內容:\"" . esc_js( $user_message ) . "\"\n"
. "請務必只回傳符合以下格式的 JSON 字串,不要包含 Markdown 標記或其他文字:\n"
. "{\n"
. " \"sentiment\": \"Positive\" | \"Neutral\" | \"Negative\",\n"
. " \"score\": (1-10分,10為最憤怒/負面,1為最開心/正面),\n"
. " \"summary\": \"一句話摘要重點\",\n"
. " \"urgent\": true | false (如果分數大於 7 則為 true)\n"
. "}";
$body = [
'contents' => [
[
'parts' => [
['text' => $prompt_text]
]
]
],
'generationConfig' => [
'responseMimeType' => 'application/json' // 2026年必備設定,強制 JSON
]
];
$response = wp_remote_post( $api_url, [
'headers' => ['Content-Type' => 'application/json'],
'body' => json_encode( $body ),
'timeout' => 15 // AI 有時候會想比較久,給它點時間
] );
if ( is_wp_error( $response ) ) {
error_log( 'Gemini API 連線失敗: ' . $response->get_error_message() );
return false;
}
$body_content = wp_remote_retrieve_body( $response );
$data = json_decode( $body_content, true );
// 解析 Gemini 獨特的 JSON 結構,這層結構真的很深...
if ( ! empty( $data['candidates'][0]['content']['parts'][0]['text'] ) ) {
$ai_json_string = $data['candidates'][0]['content']['parts'][0]['text'];
return json_decode( $ai_json_string, true );
}
return false;
}
自動化分流:當「暴怒」來襲時
有了上面的分析函式,我們就能在表單送出後做很多事。這裡以 WordPress 內建的文章儲存為例(假設你的聯絡表單會存成 Post Type)。
function eric_process_feedback_sentiment( $post_id, $post, $update ) {
// 避免無限迴圈和自動存檔
if ( wp_is_post_revision( $post_id ) || wp_is_post_autosave( $post_id ) ) return;
if ( 'customer_feedback' !== $post->post_type ) return; // 假設你的 Post Type 叫 customer_feedback
// 檢查是否已經分析過,避免重複扣 API Quota
if ( get_post_meta( $post_id, '_is_analyzed', true ) ) return;
$message = $post->post_content;
$analysis = eric_analyze_sentiment_with_gemini( $message );
if ( $analysis ) {
// 1. 存入情緒標籤
update_post_meta( $post_id, 'sentiment_score', $analysis['score'] );
update_post_meta( $post_id, 'sentiment_label', $analysis['sentiment'] );
update_post_meta( $post_id, 'ai_summary', $analysis['summary'] );
// 標記已分析
update_post_meta( $post_id, '_is_analyzed', true );
// 2. 危機處理邏輯
if ( $analysis['urgent'] === true ) {
// 這裡可以串接 Slack Webhook 或寄信給老闆
$admin_email = get_option( 'admin_email' );
$subject = "[緊急警報] 偵測到高風險客訴 (分數: {$analysis['score']})";
$body = "摘要:{$analysis['summary']}\n\n原始內容:\n{$message}";
wp_mail( $admin_email, $subject, $body );
// 工程師小語:這時候最好也傳個 LINE 給自己,因為 Email 很常被忽略
}
}
}
add_action( 'save_post', 'eric_process_feedback_sentiment', 10, 3 );
進階思考:除了憤怒,我們還能偵測什麼?
雖然「偵測暴怒」很爽,但身為資深工程師,我們要看更長遠的價值。透過 Gemini API,你還可以做:
- 自動分類: 讓 AI 判斷這是「產品瑕疵」、「物流問題」還是「退款請求」,自動分配給不同部門。
- 銷售機會偵測: 如果 AI 偵測到客戶說「我很喜歡這產品,如果有紅色更好」,這就是潛在的 Upsell 機會,自動標記為「高價值客戶」。
- 多語言支援: 2026 年的市場是全球的,Gemini 可以無痛處理英文、日文、泰文客訴,並統一輸出中文摘要給你。
結語:技術是為了讓人更優雅地工作
導入 AI 不是為了取代客服,而是為了保護客服的心理健康,讓他們把精力花在真正需要安撫的客戶身上,而不是消耗在閱讀垃圾訊息中。上面的程式碼只是基礎,實際應用中,你可能還需要考慮 Queue (佇列) 機制來處理大量併發請求,避免 API Rate Limit。
如果你覺得這一堆程式碼看了頭很痛,或者你想直接要一套企業級、包含 Slack 通知與 CRM 整合的完整方案,別客氣,這種髒活累活交給我們來做。
延伸閱讀
如果你對 AI 與 WordPress 的自動化整合有興趣,強烈建議閱讀以下幾篇深度技術文章,別讓你的網站只停留在 Web 2.0 時代:
- 客服半夜裝睡?OpenAI Assistants API 終極實戰,打造永不關機的 WordPress 智慧大腦
- 自動化還在單向道?n8n Webhook + API 雙向整合術,打造 WordPress『數據迴力鏢』!
- 你的客戶名單正在裸奔?跨系統資安實戰:打造 WordPress 與 CRM 的加密傳輸堡壘
不想自己手刻 API?想要直接導入企業級的 AI 客服分流系統?
常見問題 (FAQ)
Q1: Google Gemini API 需要付費嗎?
截至 2026 年,Google AI Studio 對於 Gemini Flash 模型仍提供相當大方的免費額度(Free Tier),對於中小型網站的客訴量來說通常綽綽有餘。但若是企業級用量,建議綁定 Google Cloud Platform 帳單以確保服務不中斷,價格相較於 GPT-4o 仍然非常有競爭力。
Q2: 這樣串接會不會讓網站變慢?
這是一個好問題!如果在使用者送出表單的當下「同步」呼叫 API,確實會讓使用者感覺變慢。建議的最佳解法是使用 WordPress 的 WP-Cron 或 Action Scheduler 進行「非同步」處理,先收下表單,後台再慢慢分析,這樣使用者體驗才是最順暢的。
Q3: AI 的情緒判斷準確嗎?會不會誤判?
目前 Gemini 1.5/2.0 對於繁體中文語境的理解能力已經非常高,對於明顯的憤怒或客套話都能精準辨識。當然,AI 不是神,反諷語氣(Sarcasm)仍是挑戰。這就是為什麼我們建議設定「閾值(Threshold)」,只針對分數極高或極低的案例進行自動化觸發,中間地帶保留人工判讀。






