九月二十九號上午,台中一家童鞋店的老闆娘在我面前把她每週一的例行工作做了一遍給我看:四間門市的 POS 匯出檔,四個 Excel,複製貼上拼成一張總表,然後用眼睛掃過去,看哪些尺碼快沒了要調貨。她自己計時過,平均兩小時四十分。那天我們用 Codex 寫了一支腳本,第一次跑完花 12 秒。
結果是錯的。
錯在一個很笨的地方:其中一間門市的欄位叫「數量」,另外三間叫「銷售數量」。還有一間的日期是 2026/9/28,其他三間是 2026-09-28。合併的時候那間門市的數字整欄變成空的,總表少掉將近四分之一的銷量。可是表格長得完全正常,有標題、有數字、有合計列,一眼看過去挑不出問題。
我講這個失敗,是因為大部分人問「零售業導入 Codex 有什麼具體應用場景」的時候,想聽的是成功案例清單。清單我待會給。但真正決定成敗的是這 12 秒之後發生的事。
零售能交給它的,其實只有三類活
我陪跑過的店家裡,實際落地而且撐過三個月以上的,都落在這三類:
第一類,固定格式的搬運。每天或每週都要做、輸入輸出都是檔案、規則講得出來。像是多門市 POS 匯出合併、電商後台訂單跟物流出貨單對帳、把出貨清單轉成貨運商指定的那種古老 CSV 格式。這類最無聊,但省下來的時間最誠實。
第二類,批次文字處理。那位老闆娘的商品主檔有 1,230 筆,規格欄裡什麼寫法都有:「23cm」、「23 公分」、「US 5 / 23」。要上架到新的通路,平台要求尺寸拆成獨立欄位。這種事人做會做到眼睛酸,而且做到第 400 筆開始出錯。
第三類,一次性的查核。找出半年沒賣出一雙的 SKU;找出售價低於進價的品項;找出同一款鞋在四間門市售價不一樣的。這類腳本跑完就可以丟掉,寫得醜沒關係。
反過來,我會攔住不讓它碰的:定價怎麼訂、哪幾款該停、這個客人退貨該不該通融。這些不是它做不到,是做出來你沒辦法驗收。沒辦法驗收的答案,再漂亮都不能用。
不會寫程式的店主,第一句話該怎麼下
這段是真正可以照抄的部分。
先把要處理的檔案放在同一個資料夾,檔名統一(我習慣用 `門市名_年月.xlsx`)。在那個資料夾裡開終端機,輸入 `codex` 進到對話。
然後第一句不要叫它合併。叫它先看。
我固定用這種寫法:「這個資料夾有 4 個門市的 POS 匯出 Excel。先不要寫合併邏輯,請先印出:讀到幾個檔、每個檔的所有欄位名稱、每個檔的列數、每個檔日期欄的前三筆原始值。」
跑完你會拿到一份清單。那份清單就是你店裡資料真實的樣子,通常跟你以為的不一樣。看到「數量」和「銷售數量」並排在清單上的那一刻,問題就解決了一半。
接著才告訴它對應規則:哪個欄位等於哪個欄位、日期統一成什麼格式、遇到空值要報錯還是跳過。這時候寫出來的腳本才有用。
還有一招我每次都教:要求腳本每次執行都印出三個數字,讀進幾個檔、各檔幾列、合併後幾列。三個數字加起來對不上就是錯了。這比叫一個不會寫程式的人去讀程式碼實在太多。這也是我上 Codex 教學的時候講最久的一段,因為它不是技術,是驗收習慣。
淘井
易經井卦初六那句話我每次講到自動化都會想起來:「井泥不食,舊井无禽。」井底積了泥,水就不能喝;廢掉的井連鳥都不去。要喝水,先得淘井。
那位老闆娘後來做的第一件事不是寫程式。她打電話給四個店長,要求匯出檔的欄位名稱統一、日期格式統一。這通電話她分三天才打完,因為有一間門市的店長堅持他那套用了六年沒問題。
資料不乾淨的時候,自動化不會幫你把泥撈掉。它只會讓泥水流得更快,而且流得很整齊、很有說服力、附帶一張漂亮的合計表。
我見過比這更慘的:一家做五金的客戶,腳本跑了七個月,每週的庫存報表都有兩個倉的資料是空的,沒人發現。因為報表每週都準時出現,數字每週都長得很像。
十月十三號她傳訊息給我,說週一的總表現在 9 秒跑完。我問她省下來的兩個半小時拿去做什麼,她說她去巡店了。有一間門市,她兩個月沒進去過。