9月20日
手機替你擋掉那些推銷的聲音,而市場裡的攤販早就會這一手
開發者用 JEV 端側模型過濾手機通知與簡訊廣告的消息,被我們翻譯成菜市場裡挑菜、去雜訊與一張安靜餐桌的滋味故事。
九月二十日,開發者社羣 V2EX 上出現一則討論度不小的帖子。一位開發者分享了他做的小工具:把手機的 App 通知和簡訊交給一個叫 JEV 的模型判斷,廣告行銷的訊息留下來,但壓低它們的存在感,讓你少被幹擾。帖子底下有人聊正則表達式就夠用,有人推薦自己做了五六年的同類產品,也有人提醒簡訊太隱私,一切處理最好都在手機本地完成,別送上雲端。
一則技術帖,讀著讀著,我卻想起市場裡挑菜的畫面。
攤子上的一雙手,是最高級的過濾器
你去過清晨五點的果菜市場嗎。整簍整簍的青江菜剛從貨車上卸下來,露水還掛在葉緣,葉柄折下去會脆脆地響。這時候攤販的手會先進去翻一遍,把壓傷的、黃了的、被蟲咬出洞的那幾株抽出來,往腳邊的塑膠桶一扔。好的留下,攤開,灑水,燈光一打,綠得發亮。
這個動作叫「整理」,也叫「去蕪存菁」。攤販不會跟你解釋規則,他不會說葉面完整度超過百分之多少才算合格。他看得多,手摸得多,一株菜捏在手心幾秒鐘,好壞心裡就有數。
這正是那則技術帖在聊的事。過往擋廣告靠寫規則,看見「優惠」「限時」「點擊領取」這些字眼就攔下來。規則的好處是清楚,壞處是死板,就像你規定家裡炒青菜只能放三瓣蒜,遇到一把特別嫩的菠菜就綁手綁腳。後來的做法是讓模型自己學會判斷,看得多了,它就像攤販那雙手,捏一下就知道這則通知值不值得你回頭。
廚房裡的去雜訊,是一種溫柔的手藝
做菜的人其實每天都在過濾。
煮高湯的時候,浮沫要一遍一遍地撇。灰褐色的泡沫聚在鍋邊,你拿一支長湯匙貼著湯面輕輕一刮,湯就清了。撈出來的雜質你不會特地丟掉給誰看,它們就靜靜待在碗裡,湯照樣滾它的,蔥香照樣飄它的。
挑蝦腸也是。竹籤從蝦背第二節戳進去,緩緩往上一挑,那條墨色的腸泥就整條帶出來了。蝦還是那隻蝦,白灼之後彈牙依舊,只是你喫的時候不會咬到一嘴沙。
那個 JEV 工具的設計者說了一句我覺得很妙的話,他說廣告訊息不刪除,只是讓你更少關注。這跟廚房的道理一模一樣:雜質不必趕盡殺絕,它只要不礙著你喝湯、不硌著你的牙,就好。挑剩的蝦腸留在砧板角落,等收尾時一起收拾,一頓飯的安靜就這樣被保住了。
在自己家裡處理,像在自己家裡開夥
帖子底下有個討論很值得多看兩眼。有人說,簡訊這種東西太隱私了,處理最好發生在手機端、在本地,別傳到別人的伺服器上。這讓我想到我們先前寫過的手機正在記得你愛喫什麼那篇文章,被記住這件事有兩種滋味,一種是攤販記得你要的肥瘦,一種是你不知道誰在暗處看著你的菜單。
開夥這件事也是同樣的道理。你自己家裡的廚房,油鹽放在哪、火開多大、湯要燉幾個鐘頭,都是關起門來的事。外食有外食的熱鬧,但有些步驟你就是不想外包。髮菜要自己泡,反覆換水到那一絲絲墨綠完全舒展開;醃梅子要自己搓鹽,看著青梅在玻璃罐裡一顆顆皺起來。這些事交給別人做不是不行,只是你會睡不安穩。
所以後來連開發者也回覆說,端側模型才是隱私加上體驗的最優解。翻譯成廚房的語言就是:菜在自己家裡洗,最放心。
一張安靜的餐桌,是過濾的最終目的
我們到底為什麼要擋通知、撇浮沫、挑蝦腸?
說到底,是為了把注意力留給真正重要的那一口。
你一定有過這種經驗:難得週末燉了一鍋蘿蔔牛腩,湯色奶白,蘿蔔透光,筷子一夾就斷。你剛坐下,手機震了,促銷訊息;再震,某 App 的每日簽到提醒;又震,一則你根本沒訂過的電子報。一鍋好湯的熱氣就在這些震動裡慢慢散掉,等你再拿起湯匙,牛腩的膠質涼了,湯面浮了一層薄薄的油膜。
過濾的意義就在這裡。它不是要把世界隔絕在外,而是把座位留好。通知檔案還在手機裡,你想看的時候隨時翻得到,只是它們不再有資格在你喝第一口湯的時候插隊。就像市場攤販抽掉的那些傷葉,不是消失了,是去了它們該去的地方,堆肥也好、餵雞也好,反正別混進你今晚的那盤菜。
給你的餐桌一點端側的溫柔
如果你也覺得最近喫飯時手機太吵,有幾個土辦法可以試試。
喫飯前把手機翻面朝下,螢幕貼著桌布,這是最原始的靜音。或者設一個用餐時段的勿擾模式,白名單只留家人。再講究一點,學攤販整理那簍菜的精神,找個週末下午把手機裡每個 App 的通知權限翻一遍,該關的關,該靜音的靜音,就像挑出那些黃葉爛葉,一次整理,之後每一餐都清爽。
那鍋蘿蔔牛腩值得安安靜靜地被喝完。市場裡的攤販知道,廚房裡撇浮沫的人知道,現在連手機也開始學著知道了。