「為什麼這裡要用這個型別?」
當同事這樣問我的時候,我脫口而出的只有「我先去查一下」。明明是我負責實作的,卻沒辦法當場順暢地說明。它能運作,測試也都通過了,但一旦被問到為什麼要這樣寫,就會語塞。自從 AI 程式編寫工具普及之後,AI 參與的實作越來越多,這種副作用也開始一點一點浮現出來。
自從開始使用 AI 程式編寫工具後,生產力確實明顯提升了。導入新函式庫、解決錯誤,過去可能要花半天的工作,現在幾十分鐘就能完成。而這些也都是事實。但我開始意識到,自己正逐漸變成一個「不是自己寫得出程式,而是覺得自己像是能靠 AI 生成程式來寫程式的工程師」。
回頭看我的情況,主要是以下四個因素疊加在一起。
我做的已經不是設計判斷,而是在替 AI 打造一個能順利運作的環境。問題拆解與設計判斷這些本來應該透過實務經驗逐步培養的能力,不知不覺間被我交給 AI 了。
有這種問題意識的不只是我。海外也在研究、討論同樣的主題。
InfoWorld 的文章介紹了 Anthropic 研究團隊針對 52 位初階開發者進行的實驗。
實驗中,研究團隊將開發者分成「AI 使用組」與「AI 未使用組」,讓他們完成一項使用陌生 Python 函式庫的任務,之後再進行理解度測驗。結果顯示,AI 使用組的測驗分數比 AI 未使用組低了 17 分。 尤其在除錯與程式閱讀能力方面,差距特別明顯。
有趣的是,AI 使用者自己也意識到了這種狀態。他們回報說「變得懶散了」「對理解還有很多落差」。另一方面,沒用 AI 的組別則覺得這項任務「很有趣」,並實際感受到自己對函式庫的理解加深了。
不過,並不是所有使用 AI 的人分數都低。那些不只讓 AI 生成程式,還會問「為什麼要這樣寫」這類概念性問題的開發者,維持了較高的分數。 也就是說,問題不在於使用 AI 本身,而在於使用方式。
Rithwik Shetty 的文章介紹了 Andrej Karpathy 提出的「智能低電壓(intelligence brownout)」這個概念。
這指的不是 AI 系統完全停止,而是部分無法使用的狀態;但在那個時候感受到的不只是單純的不便,而是連自己的判斷力都開始動搖的感覺。
當 AI 無法使用的瞬間,才會發現自己失去的不只是打字速度,連靠自己思考與判斷的能力也一起流失了。這不是「工具不能用的不便」,而是「思考依賴」的問題。所謂「AI 不只是單純的工具,而是會影響判斷流程的存在」這個指摘,分量很重。
看到這裡,應該也有人會覺得「我好像也有同樣的情況」。以下是用來衡量自己對 AI 的依賴程度與理解程度的指標。請從上往下確認,看看自己現在處於哪個階段。
AI 毫無疑問是非常強大的工具。它能提升生產力、涵蓋各種模式,也能教你以前不知道的方法。
但是,只要你持續把它當成「生成機」,自己的技術力就不會真正累積起來。找不到 bug 的原因、無法說明設計、面試時卡住。這些問題在剛開始使用 AI 時不容易看見,但會確實地慢慢累積。
最終應該追求的不是「讓 AI 幫你寫程式的人」,而是「能夠審查 AI 寫出來的程式的人」。
為了做到這件事,不需要什麼特別的訓練計畫。重點是不把生成結果照單全收,而是去驗證、去理解。舉例來說,在讓 AI 寫完程式之後,立刻丟下面這些提示詞,也會大幅改變你的理解程度。
請告訴我這段程式在設計上的取捨(優點與缺點)。這個實作最容易漏掉哪些考量?為什麼你推薦這種做法,而不是其他方法?InfoWorld 文章中介紹的一句專家發言,讓我印象很深。
The risk of skill atrophy is real, but it’s not inevitable. It’s a choice
如果翻成中文,大概可以表達為:「技能退化確實是真實存在的風險,但那不是無可避免的,而是一種選擇。」
重新檢視自己與 AI 的相處方式,也是在重新檢視自己作為工程師的樣子。
株式会社シンシア正在招募沒有實務經驗的工程師與學生工程師實習生,並一起工作。
※ 關於在シンシア的工作方式,請見這裡
在シンシア,每年大約有 100 位沒有實務經驗的人申請並接受技術面試。
透過這些經驗,我們會在這裡介紹希望沒有實務經驗者特別培養的技術能力(文法)。
原文出處:https://qiita.com/jinxin4869/items/786af70f2697dfac4329