說來好笑,作為一年平均閱讀量超過百本書的人,我還是經常會被如何讀得更快、如何讀得更多的書給吸引。
像是日本的書評家印南敦史,據說一年可以讀700本書,換言之效率是我的7倍,因此他的《快速抓重點,過目不忘的閱讀術》我當然要買來看看,尤其他原本還是個5分鐘才能讀完一頁的人,這種戲劇般驚人的轉變,怎能不買回來拜讀一下?
韓國作家金炳完曾經是三星電子的研究員,據說有天下班途中,看到秋風捲起一地翻滾的落葉,天啟式地想到自己和那些枯葉多麼類似,一旦脫離如樹木般的公司給予的養份,自己就只能衰敗萎靡。這種「我只是別人樹上的葉子」的生存方式讓他對自我價值產生質疑,而且再也放不下,幾個月後就辭去工作。辭職後他把自己關在圖書館三年,讀了一萬本書,出關2年內出版了50本書,輸入與輸出都是非常的驚人。
金炳完的讀書效率換算一下是我的30倍以上,是印南敦史快5倍,你說他的《一次讀10本書的串聯閱讀法》怎麼能不買回來拆解研究一下?
另外像是朝日廣告公司策略規畫部策畫總監羽田康祐的作品《商業書10倍高效閱讀法》,給出了10倍速的讀書法的公式,可以有系統地、可操作地快速閱讀。甚至有看上去近乎玄學的《超速閱讀-20分鐘讀完一本書》的共鳴閱讀法等,老實說這套方法看完之後我雖然沒有被說服,但如果渡邊康弘藉此創造出一番知識產業,也許也有我未能體會的獨到之處。
只要有適當的工具或方法,閱讀可以做到超乎想像的高速,魔術般地。
咒術師般的AI高效工作流
自從 ChatGPT 2022年底問世以來,生成式 AI 在軟體開發界掀起一陣效率革命的巨浪。
一開始它像是個一般正經說幹話的聊天機器人,人們像是看小丑表演般,笑話它的各種幻覺。然而沒多久它可以拿來寫 function 層級的程式了,再沒多久,它可以掃瞄你的專案、依需求寫起功能或測試了。
事情也沒有停在這裡,CLI 的命令列的交互方式,讓開發人員可以開始無中生有,把專案規劃寫一寫,不,甚至連寫下來也不用,跟它聊一聊,他就能進入規劃模式,沒多久寫出幾份技術文件與實作方法出來,有什麼沒有討論清楚的,他還會再追問一下,然後在黑畫面中啟動起多個 agent,霹靂叭啦開工做起事來。
這時候我都覺得軟體開發人員好像是這個時代的咒術師一樣,口中真言一吐,式鬼就幻化為真,叫它做什麼就去做什麼,自己都不用動手。最近 Typeless 這類的語音輸入專案也帶起一陣流行,是不是更像在咒術迴戰了。
各種蠻橫的效率阻力
回想起「前」生成式AI時代,開發人員拿到需求之後,得先理解一下文件規格,看看這一次需不需要上窮碧落下黃泉來通通靈,有時候還是免不了兩處茫茫皆不見,只好動用珍貴的真人社交力再找人翻譯翻譯。這是開發溝通上的效率阻力。
即便順利進入開發階段,這個功能是否以前有寫過類似的東西,到底放在哪裡得找出來參考一下。這一段一直報錯,上個 Stack Overflow 查一下有沒有人也踩過雷。這個需求明明就應該能正常運作,但為什麼跑出來還是有問題,忠孝東路走九遍也找不到原因。這是開發實作上的效率阻力。
程式寫完了,但是時程死線到了來不及了,沒時間寫測試,先推上正式機請全民公測好了。有時也會加入新功能之後,PM也都驗完OK,上線之後才發現怎麼另外一個功能壞掉了。這是開發品質上的效率阻力。
產品上線運作了,各種功能像日本流水麵線一樣,一坨一坨地平滑地落下來,供人享用,大家夾起來吃一口,一起喊出「喔伊係」。這麼理想的情境當然只會出現在緯來日本台的綜藝節目上,事實上可能是新功能有問題要退版回上一次發佈,或是容量管理超過警戒值一直通報不停。更不用說網站因為不明原因跳出了 500 錯誤訊息、直接倒站掛掉,只能不分日夜趕快叫 on call 的猴子去修復。這是開發維運上的效率阻力。
很多開發者就像我在閱讀上會想要學習各種讀更多書的方法,用 AI 可以變成 10 倍速開發工程師也不時耳聞。過去 10 倍速之類的用語往往是伴隨著程式語言或是開發框架或工具,都是單點、片面的,而這次各種橫陳於開發生命週期的之前的蠻橫阻力,在生成式AI時代,的的確確可以獲得緩解與消除,真實不虛。
高速開車的重點在開對方向
史蒂芬·柯維在作《與成功有約》這本書中曾經說過一個比喻,假設你要去芝加哥,卻拿著印刷錯誤,是張標著芝加哥的底特律地圖,這時即便你油門踩得再猛、速度再快,也只是更快到一個錯誤的地方。
單純高效就是你以為儀表板上面的速度越快越好,但終根究底,快不是目的,把事情做對做好才是。只有把事情做對做好,這時快才有意義,這時才是開始討論效率的起點。
我前面說的那些高效率的讀書方法,幾乎都是以「致用」為前提來討論,讀書是為了運用、是為輸出來改變、改善人生,所以書不用逐字讀、逐句讀、甚至逐頁讀,得魚之後忘筌又何妨?因此書就不再是固體不動的形制,而是互相交融的液態形狀,可以任意取一瓢飲。
但有些開發人員相信手作工藝,認為 AI 犯的錯、埋的雷在大方向只會拖累進度,認為現在的 AI 只是看上去高效,而無法真正提升效率。
我不知道這是一種本位主義或是對新技術的排斥,生成式 AI 非常前期的時候,這個說法或許得以成立,但當生成式 AI 可以自主開採出 Firefox 漏洞,可以作程式碼審查,可以接管部署流程的今日,AI的通用工具力已經超越一般開發者的技能樹,認為AI仍然只是一台高速跑在錯誤城市的車子,顯然對現實的判斷有點落差。
當然工具依然是工具,AI即便現在對多錯少,仍然有錯,就跟人一樣。既然人類會犯錯,我們仍然讓人類進行程式開發,只是我們會設計一連串的方法來容錯或改正,因此面對 AI 也只需要用過去的這樣的方式來應對即可。
AI會犯錯,不該是放棄開發出更好的軟體或產出的藉口。
會是自己掘墓人的傑出同盟者嗎?
善用 AI 來提升自己的效率是當今開發者無可逃避的課題,不過這裡面還有很多議題可以展開,尤其像是生存議題:當 Twitter 創辦人 Jack Dorsey 的公司 Block 裁撤約 4,000 名員工、知名部署工具大廠 Atlassian 裁減 1,600 名員工、Meta也打算撤掉 20% 的人力,AI 對軟體產業的人力運用衝擊很大,失業的恐懼也常常在開發人員頭上揮之不去。
米蘭‧昆德拉在《不朽》這部小說創造一詞「自己掘墓人的傑出同盟者」,會不會 10 倍速工程師其實都拿著鏟子在挖坑給自己?這議題不容易回答,有機會再聊。