迴歸基礎:巧妙利用AI
作者jr conlin分享了他對大型語言模型(LLM)的思考,認為LLM雖是新工具,但應謹慎使用。他透過回顧傳統的瀑布式軟體開發流程,提出了LLM在系統不同階段的潛在應用:在架構設計層面作為編輯器檢查錯誤,在高階工程師層面輔助任務分配,而在初級開發層面則建議謹慎使用,以免阻礙新人成長並積累技術債務。
作者jr conlin在部落格中詳細闡述了他對大型語言模型(LLM)的看法。他坦言自己對LLM持有不少負面意見,認為當前的大規模語言模型在經濟和生態上並不可持續,更像是億萬富翁們的短期逐利工具。但無論如何,LLM是一種新工具,如同臺鋸、車床或玻璃熔爐一樣,使用時必須保持警惕,因為我們在完全掌握其能力和潛在危害之前,需要格外小心。
文章回顧了傳統的瀑布式開發流程。在作者早年參與的一個生命攸關的關鍵系統中,系統架構師們花費六個月時間,採用MILSPEC-20格式詳細定義了系統的每個輸入、動作和輸出,甚至具體到按鈕按下和介面結果。這些需求文件經過團隊共識後,被打包分發給開發團隊。高階工程師帶領初級開發者逐項實現,初級開發者在指導下逐步成長,最終成為高階工程師或架構師。這種模式下,文件清晰準確,變更影響一目瞭然。
有趣的是,作者的一位系統工程師朋友正在利用Claude設計系統,他所編寫的設計文件實際上就是一份需求文件,與90年代的MILSPEC-20文件如出一轍。這讓作者意識到,LLM在系統工程中可以扮演編輯的角色:在架構層面,LLM能夠檢查遺漏或衝突;在高階工程層面,它可以確保任務分配合理,避免冗餘;但在初級開發層面,作者強烈建議不要過度依賴LLM直接生成程式碼,因為這會剝奪初級開發者的學習機會,並累積大量的技術債務。
作者承認,在現代職場中,注重短期成本最佳化的管理層可能不會採納這種理性建議。但無論如何,LLM的正確使用方式應當是輔助人類決策,而非完全替代。最終,作者總結道:如同使用危險工具需要防護措施,使用LLM也不能掉以輕心,否則將付出高昂的代價。