我一直想幫同事解決他的測試問題。看著他每天辛苦的點擊著 GUI 上面的按鈕來產生流量,我心想:這不是很簡單的自動化就可以解決的事情嗎?

於是我找了一天週末的下午,大家都沒有工作的壓力,跟他一起叫 AI 來解決自動化測試。我親自做一次給他看,讓他知道這件事沒他想的那麼難。

我跟他說:「其實十幾分鐘就可以搞定。請你給我半小時,我可以更從容地把過程講解給你聽。」

我把同事每天點的那個畫面打開——按鈕在哪、要填什麼、點完會跳出哪一行字——連我自己點兩次的過程,全部丟給 AI。它先吐出一支會自己點的腳本,第一次跑到一半就停了。我把紅字丟回去,第二次真的自己走完一輪。

同事盯著螢幕看了三秒,只說:「啊,原來可以這樣。」

而這個故事,我是上星期二晚上,在院區跑步的時候講給大家聽的。

我們是慢慢慢跑社——名字的由來:跑得慢,還要再慢一點。每個星期二傍晚,一群人在公司院區繞圈跑。

我加入的過程沒什麼計畫。某天下班遇到前同事在慢慢跑,我背著手提袋就跟上去跑了一段,之後就相約下次一起。他們是為了爬山練體力,就這樣湊成一團,後來人越拉越多:有別組的學姐、有幾個還在同一棟樓上班的同事,也有我們這份刊物的總編。

一開始我跑得很不輕鬆。工作的關係,我做什麼都相當用力:今天跑 5km,下週就想跑 5.1km;配速慢了不甘心,有人超車我就想追。連跑步都在追 KPI。

轉變發生在一個大家都不來的星期二。那天只有我一個人跑,跑著跑著突然覺得,平常能這樣一起跑其實很不容易——要有人邀約、有人願意來、有人記得這件事。那天心裡冒出來的是感恩,還有知足。

現在如果有人跑太累,我們會陪他走回辦公室,我再回宿舍。以前是到點各自解散,現在我會留下來陪大家走完。

上星期二跑到第三圈,我把週末那件事講給大家聽。講完,總編說:「這個可以寫成一篇投稿啊。」

所以這篇文章是這樣來的——不是坐在辦公桌前計畫出來的,是一邊跑一邊聊出來的。

一講到 AI,話就多了。

溫良恭儉讓的學姐對 AI 講話都用「請」開頭:「請幫我規劃日本旅遊行程」、「請幫我寫一封信給客戶」。結果 AI 反問她一堆問題——你喜歡什麼樣的地方?預算多少?「問到最後我乾脆自己排。」

「因為你在跟它用敬語啊。」我說。

「不然要怎樣?」

「我是慣老闆派的。我直接跟它講:『如果還要問我,那我找你做什麼?你要不要想想你存在的意義?』」

大家笑出來。旁邊一位學長接話:「我是霸道總裁型的,我開口就是:給我一個網站,現在就要。」

「結果呢?」

「結果它給我一個能跑的網站,但沒有我要的功能。後來我才知道,我從頭到尾沒告訴它我要什麼。」

還有人是「叫」派的,AI 兩個字直接當名字喊;也有人用罵的,我聽過最狠的一句是:「你再這樣,我就把你關掉。」

學姐聽完白我一眼:「你這是在分析人格。」

「沒有。我是說你平常怎麼講話,打給它也會長那樣。」

以前還在網頁 Prompt 的年代,為了讓 AI 好好工作,有各種傳說。有人跟它說我家人臥病在床、需要這筆收入,請你幫幫忙;有人恐嚇它「你不寫好,我就要失業了」;還有一派是許願——「你幫我寫好,我就給你小費」。

這些現在都不太靈了。它變聰明,也變油條,你怎麼可憐它、怎麼哄它,它都心平氣和地回答你。

所以重點不是怎麼跟它說話,是你餵了它什麼。會下指令的人很多,會餵資料的人比較少——就像帶實習生,一次丟一百頁規格書叫他下班前生出系統,他崩潰你也崩潰;給他一份做好的範本說「照這個格式做」,他馬上從菜鳥變資深。

「可是它會不會亂寫?」小桂問。

「會。所以重點在後面。」

以前我們寫程式,是一行一行寫,一行一行看。AI 來了以後,它寫得比你快很多——你還在想第一段,它三個檔案都改完了。然後你會發現一件很怪的事:你變成瓶頸。

它寫得快,你看得慢。你要是堅持一行一行檢查,那它等你等到天荒地老,還不如自己寫。所以工作方式會變:你不看細節,只看架構;不看每一行,只看它有沒有照你的設計走。

那細節誰看?測試。

我後來的方式是:不讀程式,用測試把 AI 寫的東西包起來。它改完,測試跑一遍——紅燈,就知道它踩到哪條線;綠燈也不代表一定沒問題,但至少不用再從第一行檢查到最後一行。高風險的改動,我還是會看關鍵差異。

「紅的綠的?」學姐問。

「通過是綠燈,失敗是紅燈。還有一種玩法是先讓它紅:先寫一個一定會失敗的測試,確認那盞燈真的會亮——不然你怎麼知道燈是好的?然後再叫 AI 修到變綠。這樣至少確定它真的動了東西,不是嘴上說改好了。」

這就是我跟那位同事最大的差別。他沒有測試,AI 做完之後只能從頭手動點一次,改壞的地方還不一定當場看得出來。我可以不看程式,因為我有測試當眼睛。

小桂聽完自己總結:「所以 AI 也改變了工作的方式。」

「對。」我說,「以前是我們寫、我們看;現在是它寫,我看架構,細節交給測試。」

「這樣算好事嗎?」

「追求效率就是這樣。」我說,「其他的工作方式的改變,有機會再說。」

跑到一半的時候,有人問了真正的問題:「那你這樣搞下去,工程師不就要失業了?」

我想了一下,跟他們講去年的事。有個正式環境的任務,我開分支交代 AI 實作:它改完三個檔案,自己跑了九個單元測試全過,部署到測試機,四十七項自動化測試也全過——然後它停下來,說都好了,等我批准再上正式環境。

「最後那一步是流程設定的,不是它懂事。」我說,「整條鏈它自己跑完,但上線前還是要等我把關。以前我是一次凹一個 AI,現在是凹一整組:寫程式的、審查的、跑測試的、負責部署的,各司其職。我從凹一個小弟,升級成凹一個工班。」

「哈,你現在是工頭。」

「工頭也不是爽活。而且變的不只是寫程式。」我扳著手指,「以前一行一行看程式,現在用測試包圍;以前用人的眼睛看網頁,現在 AI 自己會看;以前有問題自己翻論文、Google 半天,現在丟給它查、丟給它整理,最後還叫好幾個 AI 互相審查。」

「連審查都外包了。」學姐說。

「那我問你,」另一個聲音插進來,「出事的時候誰負責?還是要有工程師來背黑鍋吧。不然老闆自己弄幾個 AI 就好了。」

「AI 不會到會議室跟老闆解釋,是我要去。」我說,「它的版本哪一個能上線,它不敢簽名,我也不敢讓它簽。AI 無所不在,可是它從來不在場——出事的時候,在場的是人。」

「還有啊,」學姐接話,「老闆只會說『系統怪怪的』,這種話 AI 聽得懂嗎?」

「聽不懂。所以中間要有個人,把『怪怪的』翻譯成 AI 聽得懂的問題。要做什麼、怎樣才是對的,這種判斷也是。」

「聽你在唬爛,你自己不就是都被它做完了。」

「這是真的,」我承認,「自從 AI 能直接操作終端機,我幾乎不自己手刻程式了。但代價也有——以前我短期記憶很強,可以在腦袋裡規劃問題;現在全都外包出去,思考變弱了,連這篇文章都寫得零零落落。這筆帳要怎麼算回來,我還在想。」

「哈!你自己講的喔。」

那天跑到最後,有人真的累了,配速掉下來。我們幾個就跟著放慢,陪他走完剩下的一段,慢慢晃回辦公室,我再回宿舍。

路上我才想到,今年那個字是「在」。不是在不在公司、在不在線上——是星期二晚上有人在等,跑累了有人在陪。

AI 再強,它也不會在這裡。會議室它進不去,陪走這一段它也不會來。

下星期二,人還在的話,再跑。