超商店員的 AI 排班表,第一週就出事
1-2 這家門市為什麼決定交給 AI
阿凱的門市之所以會成為試辦點,其實有幾個現實原因。
第一,這家店的離職率在區域內偏高。過去半年走了四位計時人員,每次有人離職,排班就要重新洗牌一次,阿凱的排班時間成本幾乎翻倍。他隱約覺得,員工之所以留不住,跟「排班不公平」有某種關聯——有人永遠上不到想上的班,有人永遠被塞進大夜班。
第二,總部近年積極推動「門市數位化」,從電子標籤、智慧補貨到人臉辨識結帳,一路推下來,排班系統自然也被列進清單。總部的說法是:AI 排班可以根據歷史來客數、天氣、節慶、促銷活動,自動計算每個時段的最佳人力配置,還能自動檢查法規,降低店長的工作負擔。
第三,也是最現實的一點:試辦門市可以拿到一筆為期三個月的補助,以及總部派駐的輔導人員協助。對阿凱來說,這幾乎是「不試白不試」。
於是,在一個充滿期待的週一早上,系統上線了。阿凱把十二位員工的基本資料、可上班時段、技能標籤(例如「會煮咖啡」、「會操作代收」、「可獨立結帳」)輸入系統,按下「自動產生排班表」,螢幕上跑了大約十秒的轉圈圈動畫,然後,一份整整齊齊的排班表出現在他眼前。
阿凱當時的第一個念頭是:「也太漂亮了吧。」
人力曲線完美貼合預估來客數,每個班次都符合最低人力標準,總工時也落在預算內,甚至還自動標註了「本週符合勞基法規範」。他滿懷感動地把表格列印出來,貼在休息室的布告欄上,心想:這下終於可以好好睡覺了。
他不知道的是,這份「漂亮」的排班表,正是災難的起點。
二、第一週的震撼教育:排班表上的六個意外
AI 排班表上線的第一週,門市總共發生了六件讓阿凱哭笑不得、卻也讓他徹底改觀的事。這些事件有些聽起來像笑話,但每一件背後,都指向 AI 排班系統在設計上的結構性問題。
2-1 意外一:完美的人力曲線,卻沒人願意上
第一個意外,發生在排班表公布後的當天下午。
系統根據歷史資料,判斷週五晚上的八點到十一點是來客高峰,於是安排了四個人同時在班。從數學上來說,這個配置無懈可擊:四個人的產能足以應付尖峰,也符合最低營運標準。
問題是,這四個人裡面,有三位是同一所夜校的同學,而週五晚上正好是他們的必修課時間。
阿凱在輸入資料時,確實輸入了每個人的「可上班時段」,但系統的邏輯是「優先滿足營運需求」,只有在無法滿足時,才會去參考個人的時段偏好。於是,系統把三位夜校生同時排在週五晚班,並在備註欄留下一行小字:「本班次人力已最佳化」。
三位夜校生看到排班表時,幾乎同時在群組裡發了訊息:「店長,這個班我們不能上。」
阿凱看著那行「本班次人力已最佳化」,一時間不知道該笑還是該哭。他花了兩個小時手動調整,把三人拆開,重新安排了三位不同的員工,而這個調整後的版本,人力曲線已經完全偏離了系統原本的「最佳解」。
這件事點出了一個核心問題:AI 眼中的「最佳化」,是把人當成可替換的資源單位來計算的。但人不是資源單位,人是有課表、有家庭、有生理時鐘的個體。當系統的目標函數裡沒有把「人」的變數放進去,所謂的最佳解,就只是紙上的最佳解。
2-2 意外二:AI 把「最能幹的人」排在最忙的班
第二個意外,發生在週六。
系統分析過去三個月的結帳速度、客訴率與補貨效率後,發現資深員工「阿明」的綜合表現分數最高。於是,系統很「聰明」地把阿明排在週六下午的尖峰班次,理由是:「高績效員工配置於高負荷時段,可提升整體營運效率。」
這個邏輯聽起來很合理,甚至有點像人力資源管理教科書裡會出現的建議。但它忽略了一件事:阿明上週才剛連續上了五天大夜班。
週六下午三點,阿明出現在櫃檯後面,臉色蒼白,眼睛布滿血絲。他在結帳時按錯了兩次收銀機,還把一位客人的咖啡做成熱的(對方點的是冰的)。下午四點半,他跟阿凱說:「店長,我真的撐不住了,可以讓我提早走嗎?」
阿凱當下才驚覺,系統雖然有「連續出勤天數」的檢查機制,卻沒有把「班別轉換的生理負荷」納入考量。對系統來說,大夜班和早班都只是時段標籤,但對人體來說,從大夜直接轉早班,等同於把生理時鐘硬生生倒轉一圈。
這件事情之後,阿凱在員工休息室裡聽到一句話,讓他記了很久:「AI 排班不是把最強的人排在最忙的班,是把最強的人操到最弱。」
2-3 意外三:演算法不懂「這週我要考試」
第三個意外比較小,但同樣典型。
計時人員小婷在排班公布前三天,口頭跟阿凱說:「店長,下週三晚上我要考證照,可以不要排我班嗎?」阿凱當時正在補貨,隨口應了一聲「好」,心裡想說等排班出來再調整。
結果排班表出來,小婷被排在週三晚班。她看到之後,傳了一條訊息給阿凱:「店長你不是說好嗎?」
阿凱這才想起來,他確實答應過,但忘記把這個「例外」輸入系統。系統的邏輯是根據「已登錄的可上班時段」來排班,而小婷的口頭請託,從頭到尾沒有進入任何資料庫。
這暴露了 AI 排班系統的另一個結構性問題:它只能處理「已結構化」的資訊。而門市裡大量的排班需求,其實是以口頭、訊息、便利貼的形式存在的。當這些「非結構化」的資訊沒有被轉譯進系統,AI 就會在資訊不完整的情況下,做出看起來合理、實際上卻與現實脫節的決策。
2-4 意外四:看不見的隱形工時
第四個意外,發生在週四。
系統計算工時的方式,是根據「排班時段」來算的。例如排在下午兩點到晚上十點,就是八小時。這個計算方式在帳面上很清楚,但完全忽略了超商工作的「隱形工時」。
所謂隱形工時,指的是交接班時的盤點、閉店前的清潔、突發的補貨、尖峰時段後的整理、以及「客人一直來所以沒辦法準時下班」的狀況。這些時間,系統不會計算,因為它只認排班表上的數字。
結果是,這一週裡有三位員工的實際工時,比排班表上多了將近一個半小時,但系統顯示「本週工時符合預算」。阿凱在核對打卡紀錄時才發現這件事,而三位員工的情緒,已經從「有點累」變成「不太爽」。
更麻煩的是,總部的報表是根據系統資料生成的。也就是說,總部看到的「人力成本」,和門市實際發生的「人力成本」,中間存在一道看不見的落差。這道落差,最後是由店長和員工一起承擔的。
2-5 意外五:公平感的崩塌
第五個意外,是最難修補的。
AI 排班系統在計算時,會根據「員工技能標籤」來分配班次。會煮咖啡的人,被排在咖啡銷量高的時段;會操作代收的人,被排在帳單繳費的尖峰時段。從效率角度來看,這無可厚非。
但問題是,這套邏輯套用到「大夜班」時,就變成了另一回事。系統計算後,發現有兩位員工的「大夜班適配度」最高(因為他們過去上過最多大夜班,歷史資料顯示他們「表現穩定」),於是把這一週的三個大夜班,全部排給了這兩個人。
這兩位員工看到排班表的反應是:「為什麼又是我?」
而其他員工的反應則是:「哦,反正大夜班不會輪到我。」
這就是所謂的「歷史資料回饋迴路」:AI 根據過去的排班資料學習,而過去的排班資料本身就已經存在不公平;AI 學到這個不公平之後,又進一步強化它。結果就是,原本只是「輪流」的大夜班,變成了「固定」的負擔。
阿凱後來受訪時說了一句很傳神的話:「AI 沒有製造不公平,它只是把原本藏在角落的不公平,放大到每個人都看得見。」
2-6 意外六:當 AI 遇上「臨時請假」
第六個意外,發生在週日。
一位員工早上臨時身體不適,傳訊息請假。阿凱按照過去的做法,先打電話問有沒有同事可以代班,然後手動調整排班表。但這次系統不讓他改。
系統的邏輯是:排班表一旦公布,就進入「鎖定」狀態,任何變更都需要走「異常處理流程」,由區域主管審核。阿凱當下急著找人代班,根本沒時間跑流程,於是他做了一件很「人性」的事:他直接在紙本上劃掉那個名字,手寫上代班人的名字,然後拍照傳到群組。
這張手寫的排班表,成了整個實驗裡最具象徵性的畫面。AI 花了十秒鐘算出來的完美排班,最後被一支原子筆推翻。
三、拆解問題:AI 排班到底錯在哪裡?
第一週結束後,阿凱和總部的輔導人員坐下來檢討。他們把六個意外逐一攤開,發現這些問題其實可以歸納成四個層次。而這四個層次,也是所有想導入 AI 排班的零售業者,都必須面對的共同課題。
3-1 資料層:餵給 AI 的歷史資料本身就是偏誤的
AI 排班的基礎,是歷史資料。系統會分析過去的來客數、銷售額、員工出勤紀錄、班別表現,來推估未來的人力需求。這個做法在製造業、物流業行之有年,但在零售服務業,會遇到一個根本問題:歷史資料本身就充滿雜訊與偏誤。
首先,過去的排班表,是「店長憑經驗排出來的」,而不是「最佳解」。如果店長本身有偏好的排班習慣,例如總是讓某幾個人上大夜班,那麼 AI 學到的就會是這個習慣,而不是真正的營運需求。
其次,歷史資料裡看不到「被拒絕的需求」。例如某個時段因為人力不足,導致結帳大排長龍,客人直接放棄購買走人。這筆「未發生的交易」不會出現在銷售資料裡,但它是實實在在的營運損失。AI 看不到這個損失,自然也不會在排班時把它考慮進去。
第三,歷史資料無法反映「人的變化」。員工的技能會成長、生活狀況會改變、體力會下降、動機會轉變。這些變化,多數不會即時反映在系統欄位裡。AI 用三個月前的資料來排今天的班,就像用去年天氣預報來決定明天要不要帶傘。
3-2 目標層:KPI 設錯,AI 只會更有效率地做錯事
如果說資料是 AI 的糧食,那麼目標函數就是 AI 的方向盤。而這次實驗最大的問題之一,就是方向盤從一開始就轉錯了方向。
總部設定的排班目標,大致可以歸納為三項:人力成本極小化、尖峰時段人力極大化、法規合規率極大化。這三個目標聽起來都很合理,但它們漏掉了最重要的一項:員工的留任率與工作滿意度。
結果就是,AI 在「成本」與「效率」這兩個維度上表現得非常出色,卻在「人」這個維度上徹底失分。它把人力曲線排得漂漂亮亮,卻讓三位夜校生無法上課、讓資深員工過勞、讓大夜班負擔集中在少數人身上。
這其實是企業導入 AI 時的通病。我們很容易把「可量化的指標」當成全部,卻忽略了那些「難以量化但同樣重要」的變數。而排班這件事情,恰恰是「難以量化變數」密度極高的領域。
一句話總結:當 KPI 只計算成本與效率,AI 就會用最有效率的方式,把員工榨乾。
3-3 介面層:排班表不是表格,是溝通工具
這一層問題,是最容易被忽略的。
對系統設計者來說,排班表就是一張表格:欄位是日期,列是員工,格子裡是班別代碼。它的功能是「記錄」與「計算」。
但對門市現場來說,排班表的功能遠不止於此。它是店長與員工之間的溝通媒介,是員工之間協調換班的依據,是休息室裡討論「這週誰要顧小孩」的共同語言。它的價值,不只在於「排得對不對」,更在於「大家能不能理解、能不能接受」。
而這次的 AI 排班表,在介面上犯了幾個失誤。第一,它沒有提供「為什麼這樣排」的解釋。員工看到自己被排在大夜班,只看到一個結果,看不到背後的理由,自然會覺得「這是系統亂排的」。第二,它沒有提供「換班申請」的直覺流程,員工想換班,得先跟店長說,店長再手動改,改完還要重新跑系統驗證,流程比原本的紙本作業還麻煩。第三,它沒有考慮到「視覺化」的重要性。一張密密麻麻的表格,對店長來說是資訊,對員工來說是壓力。
說到底,排班系統的成敗,不只在演算法,更在於它有沒有被設計成一個「讓人願意使用」的工具。
3-4 制度層:法規、勞動條件與 AI 的距離
最後一層,是制度層面的問題。
AI 排班系統雖然內建了法規檢查機制,但法規檢查只能處理「明確的紅線」,例如工時上限、休息時間、例假天數。它無法處理「灰色地帶」,例如「連續三天中班後接大夜班」這種雖然合法、但對身體負擔極大的排法。
更根本的問題是,我國的勞動法規在設計時,是以「人為排班者」為預設對象的。法規裡有很多「經勞工同意」、「經協商」的條文,這些條文的前提是「有一個可以溝通的人」。當排班者變成 AI,這些「協商」的環節該怎麼落實?誰來代表 AI 跟員工協商?這些問題,在這次實驗裡完全沒有被處理。
換句話說,AI 排班不只是技術問題,更是勞動治理的問題。如果企業只想著「用 AI 降低排班成本」,卻沒有同步調整相關的制度與流程,那麼再聰明的演算法,也只會製造更多爭議。
四、從翻車到落地:讓 AI 排班真正好用的五個關鍵
第一週的失敗,並沒有讓阿凱放棄 AI 排班。相反地,他覺得這次「翻車」非常有價值,因為它把所有問題一次攤在陽光下。經過兩個月的調整,這家門市的 AI 排班系統終於慢慢步上軌道。以下是他們摸索出來、也值得其他門市參考的五個關鍵。
4-1 關鍵一:把「人」的變數寫進模型
第一步,是重新設計排班的目標函數。他們把原本只計算「成本」與「效率」的模型,擴充成一個「多目標」模型,加入了三個人味指標:
這三個指標,坦白說都很難精確定義,也很難量化。但他們的做法是:先求有,再求好。例如「偏好滿足率」一開始只用簡單的問卷收集,後來才慢慢發展成系統內的偏好設定功能。重點是,讓「人」正式成為演算法的一部分,而不是演算法的例外。
4-2 關鍵二:AI 排草案,人做定稿
第二步,是改變工作流程。
原本的流程是「AI 排完,店長直接公布」。新的流程則是「AI 排草案,店長審閱調整,再公布」。這個改變聽起來很小,但效果極大。
AI 的優勢在於它可以快速處理大量變數,產出一個「起點」。店長的優勢在於他掌握那些沒有被文件化的組織知識,可以針對草案進行「微調」。兩者結合,既能保有 AI 的效率,又能補足 AI 的盲點。
阿凱的說法是:「以前我排班是從零開始,現在我是從八成開始。雖然還是要花時間,但花的是『確認』的時間,不是『重來』的時間,心情差很多。」
4-3 關鍵三:建立回饋迴路,讓系統持續學習
第三步,是建立一個「員工回饋」的機制。
每次排班表公布後,員工可以在系統裡針對自己的班次提出「偏好調整」或「特殊需求」。這些回饋不會直接改變當週的排班,但會進入系統的資料庫,成為下一週排班的參考。
更重要的是,店長每個月會花半小時,跟員工一起檢視「這個月的排班有沒有問題」。這半小時,表面上是檢討排班,實際上是讓員工感覺「自己的聲音有被聽見」。而這種感覺,往往比排班本身排得好不好,更能影響留任率。
4-4 關鍵四:透明化,讓員工看得懂 AI 在想什麼
第四步,是提高系統的透明度。
新的排班表,每一格班次旁邊都會有一個小小的「說明」圖示。點進去,可以看到這個班次的排班理由,例如「本時段預估來客數較高,需配置兩位以上結帳人力」、「依您的偏好設定,本月已安排三次早班」。
這個設計的用意,是讓 AI 的決策「可被理解」。當員工知道「為什麼是我」,不滿的情緒就會降低很多。就算還是不滿意,至少可以針對具體理由進行討論,而不是陷入「系統就是爛」的無效抱怨。
4-5 關鍵五:從單店試點到區域複製,保留地方彈性
最後一步,是關於規模化的思考。
AI 排班系統很容易陷入「總部統一標準」的誘惑,想要用同一套模型套用到所有門市。但這次實驗證明,每家門市的員工結構、來客型態、地理環境都不一樣,同一套模型在不同門市,效果可能天差地遠。
因此,比較好的做法是「總部提供模型,門市保留參數調整權」。例如總部可以設定法規檢查的硬性規則,但把「偏好滿足率」的權重,留給各店店長依照實際狀況調整。這樣既能保有規模化的效率,又能保留地方彈性。
五、結語:AI 不是排班殺手,而是一面照妖鏡
回頭看這次「第一週就出事」的實驗,阿凱的結論很有意思。他說:「AI 排班不是來解決問題的,它是來暴露問題的。」
在 AI 進來之前,這家門市的排班問題其實一直存在:夜校生的需求總是被犧牲、大夜班的負擔總是不平均、資深員工總是被排在最累的班次、臨時請假的處理總是靠人情。只是這些問題,被店長的經驗與員工的忍耐給掩蓋住了。
AI 進來之後,這些問題被放大、被具體化、被寫進報表裡。它用最冷酷的方式告訴所有人:「你們的排班,本來就不公平。」
從這個角度來看,AI 排班真正的價值,不在於它能不能排出「完美」的班表,而在於它能不能逼著組織去面對那些長久被忽略的問題。它是一面照妖鏡,照出的是門市管理裡那些說不出口的委屈與將就。
當然,這面鏡子本身也需要被修正。它需要更完整的資料、更合理的目標函數、更友善的介面、更配套的制度。而這些修正,沒有一項是純技術問題,每一項都需要人來參與、來協商、來調整。
所以,如果你問我「超商該不該用 AI 排班」,我的答案會是:該用,但不能只用 AI。AI 可以負責計算,但人必須負責決定「什麼值得被計算」。當這兩者能夠好好合作,排班這件苦差事,才有機會真正變得不那麼苦。
至於阿凱,他現在每個月排班還是會花幾個晚上,但頻率已經從「三、四個晚上」降到「一個晚上加一個下午」。他笑著說:「剩下來的時間,我拿去跟員工聊天。我發現,與其讓 AI 猜他們想要什麼,不如直接問他們。」
這大概就是這個故事,最樸素也最真實的結論了。
本文為「雅寶社區 · 頂客論壇」AI 趨勢專欄投稿,內容改寫自實際門市試辦案例,部分人物與細節經匿名化處理。歡迎在下方留言分享你所在門市或公司的 AI 排班經驗。
```
💬 想說點什麼?
歡迎到留言板分享你的想法、心得或疑問。
💬 前往留言板 →