如果你對待 AI 產出是屬於被動接受、直接複製,或是初學者與 AI 協作也可以得到跟你一樣品質的結果,那麼你很可能已經步入因 AI 而失能的陷阱。
這個不是危言聳聽,近期 Anthropic 在這篇文章"How AI assistance impacts the formation of coding skills"發布一項實驗數據,這項實驗邀請了52位初級工程師,讓他們在不同的環境下學習一個全新的 Python 函式庫 Trio,這是一個讓編寫複雜的非同步程式更加簡單、安全的工具。
研究結果顯示 :
使用 AI 輔助的小組,在後續的概念測試中僅獲得 52% 的平均分數;而完全手動的小組卻能達到 68%,這反映了 AI 輔助小組的工程師在理解力與除錯能力上的實質下降。
確實 AI 工具可以加速程式撰寫,但是這個效率提升的背後需要付出什麼? 什麼情況下會付出慘痛的代價呢?
有人認為 AI 就是一個工具,就像你會用計算機而不需要再自己計算,就像你會開車而不需要走路。但是真的一樣嗎?
當人們開始依賴科技,必須思考會用什麼來換?
以前還沒有這麼多開發框架 (frameworks) 時,甚至連 IDE (Integrated Development Environment) 都還不是很完整時,vi、vim 就是程式開發的主要工具。在那個時代,軟體工程師既是程式設計師,也是資料庫管理師,也是UI/UX工程師,既是前端工程師也是後端工程師。
早期的工程師必須是全端,於是在如此的環境中「系統思維」就這樣被逼了出來。而現在的工程師分工細膩,UI/UX工程師可能未必懂資料庫,系統分析師可能未必懂得如何部署。
但是這樣的分工是必須的,因為環境複雜了,一個工程師時間再多也不可能什麼都懂。分工並不是外包,因為你仍舊保有應該專業的核心。但是當 AI 介入時,又是不一樣的故事,是工程師把他的專業「外包」給了 AI 工具,而非跟 AI 分工。
把專業的工作「外包」給 AI 工具,人類就可能因為惰性而降低主動思考的頻率,本來對於專業領域應該很敏銳的部分就逐漸生鏽了。
這個跟使用計算機是不一樣的,因為計算機主要替代的是機械性運算,而 AI 開始替代的是「問題拆解與決策過程」。
撰寫程式技能就不太一樣了,其培養需要以下能力 :
(1) 閱讀文件的能力 : 閱讀官方文件、技術書籍文章是一個建立基礎認知的必要路徑,因為在閱讀時,腦中的認知體系就在逐步構建觀念。
(2) 閱讀程式碼的能力 : 撰寫程式技能很多時候是模仿別人的程式碼而來的,越能夠看懂不同人寫的程式碼,更有機會累積撰寫程式的技能。
(3) 構建演算法的能力 : 要從新手進階到資深,需要不斷的嘗試與錯誤來修正邏輯。
(4) 除錯的能力 : 這是撰寫程式技能的核心能力,因為一點小錯誤都可能讓程式無法執行,有時候出現錯誤時顯示的錯誤訊息很可能包含很多種可能性,必須逐步縮小範圍把錯誤挑出來。
(5) 邊界條件測試的能力 : 程式執行結果正確,未必代表程式完全沒有問題,有可能只是沒有碰到邊界條件。要能夠快速地以邊界條件測試程式,是確保程式品質的重要能力。例如,當輸入都是正數時,程式都正常無誤,也許輸入是負數時,錯誤就發生了。
如果工程師把 AI 當成替代思考的工具,而不是輔助思考的工具,這些能力就可能退化。
如果工程師不再閱讀文件,演算法由 AI 決定,出錯後叫 AI 修改,只要執行結果正確,也不會再去思考邊界條件的問題。工程師只需要花時間跟 AI 溝通,讓 AI 聽懂需求,然後就只要求快速地獲得結果。如果是這樣的進行 Vibe Coding,撰寫程式技能就會因為使用AI而弱化。
Anthropic 的這篇文章,對於資深工程師來說是個警訊,如果停止參與核心思考,只剩結果驗收,那他的專業能力就會退化成為跟新手工程師同樣等級。對於新手工程師來說,如果長久依賴 AI 而不精進該有的專業,那麼就會一直停留在新手的階段而無法進階。
為何一家以 AI 為產品的公司會發佈這樣的研究報告呢? 大家都來 Vibe Coding 不是更能助長 AI 的市場嗎? 其實 Anthropic 應該是在定義「正確的使用文化」,擔心大家誤用了 AI 而變弱化了,再好的產品都會變成毒藥。
Vibe Coding 不應被宣傳為「什麼都不懂也能寫程式」。同樣的,Vibe SEO 也不該被宣傳為「什麼都不懂也能做 SEO」;Vibe Marketing 也不是「什麼都不懂也能做 Marketing」。
「正確的使用文化」應該是 :
使用 AI 進行 Vibe Coding 或是 Vibe SEO、Vibe Marketing 協作時,你應該要懂 AI 怎麼產生結果並且檢核品質。就好像你當老闆,AI 是員工,老闆不能不知道員工在做什麼,也不能把員工的產出就當成結果,還是必須有品質控管的程序。
更重要的是,員工如果作出好的結果,老闆也要會作,並且要讓公司其他人也有能力產出同樣品質的結果。
簡單來說就是專業沒有被 AI 稀釋,才是 AI 的「正確的使用文化」。如此一來,撰寫程式的技能才不會因為使用 AI 而弱化。
0 留言