看板 Soft_Job
從事程式設計工作12年,最近半年,我開始大量使用AI寫程式。 令我吃驚的是,我發現自己的開發能力好像退步了。 所以今天想跟大家分享,工程師在用AI輔助工作時的一些注意事項。 ## 時間分配的變化與建議 首先是時間分配的建議。以前工程師上班時,我認為可以分成四種狀態:學習、實驗、產 出和摸魚。 這四種狀態的比例大約是3比3比3比1。 但現在有了像 chatgpt 和 github copilot 這樣的工具後,這比例有時會變成1比1比1比 7,運氣不好時可能是2比2比2比4。 也就是說,工程師上班可以摸魚的時間大幅增加,因為事情很快就做完了。 我的建議是,可以隨意調整實驗、產出和摸魚的時間,但學習的時間最好保持不變。 不然會感覺不踏實。久而久之,應該真的會變廢物、會失業。 ## 抽象第一定律 在程式設計中,有一條稱為 抽象第一定律(First Law of Abstraction)的法則。 這條規則指出,在程式設計中,我們經常透過簡化來讓事物更容易使用。例如,當你建立 一個套件或框架時,使用者無需了解所有細節即可使用它。然而,抽象雖然能減少工作時 間,卻無法減少學習時間。 想像一個初學者學習網頁開發,他可能很開心地用 Vue 寫出一些動態效果,卻不太理解 其背後原理。但隨著學習的深入,他終究會遇到無法解決的問題,而這時就需要理解 DOM (文件物件模型)、虛擬 DOM 以及 狀態管理 等基礎概念。 後端開發也是如此。初學者可能會使用 ORM(物件關聯對映) 來輕鬆與資料庫互動。然 而,當遇到效能問題或需要執行複雜查詢時,他們仍然需要學習 SQL。 再舉一個例子,當剛開始接觸後端部署時,有些人可能會使用現成的 Docker 映像檔 快 速部署服務。但當需要調整設定時,他們仍然得學習 Nginx、Linux、網路架構,甚至資 料庫管理。 在軟體開發領域,AI 就像是一個巨大的抽象層。它能大幅減少工作時間,但卻無法縮短 學習時間。 如果你完全依賴 AI 而跳過學習過程,短時間內或許能產出許多成果,但長期來看,你的 學習成長可能比過去依賴論壇和 Google 搜尋還要少。 ## 詢問研究員類型的問題 我的建議是,雖然我們要維持學習階段的時間,但學習的方向不再是去學用法/語法,而 是去學更深的工程思維、設計哲學。我的建議是多提問研究員類型的問題。舉三個例子: 第一,當你碰到一個API、一個套件或框架,有黑箱感覺時,問AI:這個東西底層如何運 作?是用什麼方式實作的?能否提供原始碼連結? 第二,如果你覺得某個套件、API 的設計怪異,問AI:為何這樣設計? 第三,看到某些設計讓你不滿意時,問AI:這樣設計是否有缺點,並指出你認為不好的地 方,問AI有什麼想法? 這三種問題通常能獲得AI很好的回覆,而這類型問題,以前在 Google 或論壇上很難找到 答案,查詢也非常耗時。 在AI時代,這些問題可以快速解決。因此,我們的心態要轉變成像研究員一樣,研究底層 設計思維和哲學,而不是僅僅寫出程式碼。現在依靠AI可以快速完成程式碼,我們應該更 深入地學習。 ## 結論 我認為軟體工程師/程式開發者的定義已經改變了。 以前的開發者更像是各種套件和工具的使用者,花大量時間在實驗和理解這些工具的使用 方式,然後將成果交付。 然而,若現在仍只停留在這個階段,幾年內很快就會被淘汰,這是殘酷的現實。 因此,我們應該自詡為研究員,各行各業皆如此。 AI的出現使我們需要思考哪些事情有意義,哪些事是AI不便處理而需人類完成的。 我們應該持續思考並問對問題。研究員類型的問題能幫助我們學習,也是現代工程師應多 發問之處。 我之前舉了三種情況:遇到黑箱、怪異情況、不服氣時,可以提出有價值的問題作為範例 供大家參考。 身為工程師,你認為還有哪些你常常詢問 AI、你覺得很有價值的發問方式? 歡迎大家一起推文交流一下,謝謝。 --- 網頁好讀版:https://codelove.tw/@howtomakeaturn/post/an24Va -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.204.26 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1740282905.A.E5C.html
ILoveAMD: 就看你要年薪幾百萬囉 02/23 12:27
lchcoding: 想請問-抽象第一定律出處在哪?我轉職門外漢 02/23 12:38
MoonCode: 蛤 02/23 14:10
Obama19: 聽君一席話如聽一席話 02/23 14:27
Chricey: 南瓜籽油功效 02/24 12:23
k7ji91ab5m: 對我來說從 可以這樣做->為什麼這樣做 不論是不是用 02/23 14:33
k7ji91ab5m: AI 都會經歷 但問AI有時候比較快 有時候他是錯的 02/23 14:33
prag222: 用過deepseek跟ChatGPT比較沒? 02/23 14:56
Chricey: uc2功效 02/25 10:56
tzouandy2818: 你還是不要說自己資歷十二年好了 02/23 15:03
nayeonmywife: ….. 02/23 15:11
Tix: 說得很棒,感謝分享! 02/23 15:17
Kroner: UC2 02/26 00:33
hegemon: 真的不用浪費時間寫這篇文章 02/23 15:18
KanzakiHAria: 聽君一席話如聽一席話 02/23 15:50
hobnob: 總覺得沒有十幾年經驗的那種氣勢,好人好事代表 02/23 16:47
Kroner: 苦瓜胜肽 02/26 19:11
c8dog: ㄜ … 該不會最近才知道要用 AI 輔助吧? 02/23 17:10
c8dog: 好的,我有看到開頭的「最近半年」了 02/23 17:12
StrangeJ: 我覺得這篇文章沒甚麼大問題 幫補血 02/23 17:24
Chricey: gaba 是什麼 02/23 17:24
ck960785: 我主管看到這種用ai味太重的文字會直接開罵 02/23 17:38
kkes0001: 真的有點廢話 02/23 18:52
aegius1r: 這篇也是AI寫的嗎 02/23 18:54
Chricey: 魚油 02/23 18:54
asdf1343: 查不到有什麼叫 first law of abstraction 02/23 19:26
asdf1343: 根據原po說的應該是 the law of leaky abstractions 02/23 19:26
asdf1343: 想提醒的是如果問ai難以查到的事 要小心它瞎掰內容給你 02/23 19:26
Kroner: 瑪卡推薦 02/23 19:26
asdf1343: 自己求證還是必要的 02/23 19:26
hwChang: 除了縮短產出時間,我覺得最大的優點,是它可以有系統地 02/23 20:44
hwChang: 整理出我想要的資訊,以及更深入地討論問題,對我來說非 02/23 20:44
Chricey: 益生菌 02/23 20:44
hwChang: 常有幫助。 02/23 20:44
hwChang: 我是用付費的 ChatGPT 02/23 20:45
WTS2accuracy: 看描述真的像10y經驗1y技術力的CRUD老人 XD 02/23 21:35
Kroner: 苦瓜胜肽 02/23 21:35
pttano: 哈哈 02/23 21:50
viper9709: 研究員嗎...台灣大多不是吧XD 02/24 00:07
bryandick: 用時間分配的角度切入非常棒 ,要不要喝個咖啡聊聊天 02/24 00:28
Chricey: 苦瓜胜肽副作用 02/24 00:28
jobintan: 說下最近聽說過的故事,以前PM要實現某個東西時,得去對 02/24 07:57
jobintan: SDE低聲下氣,現在有了AI,就再也不用看SDE的臉色了。 02/24 07:58
MoonCode: 樓上這個笑死 立刻開 github 權限給 pk 02/24 10:42
Kroner: b群功效 02/24 10:42
wade2432: 不用看臉色是把sde都開除了,全靠ai自己開發嗎?不是的 02/24 11:22
wade2432: 話你大概聽到一個吹牛大王在說故事 02/24 11:22
stepnight: 難道不是PM要實現某個東西比較奇怪嗎 02/24 12:23
Kroner: 花青素功效 02/24 12:23
ricky60324: 軟工要做pm的事情更簡單吧… 要不要做而已 02/24 14:39
aria0520: 常常rd做到最後還是要自兼pm 畢竟罵也是罵rd 02/24 23:40
pkpk10654: 我以為PM最難的部分是做人 02/25 10:56
Chricey: 色胺酸副作用 02/25 10:56
rexyeah: Google速度變短而已吧,之前花1小時Google, 複製貼上,現 02/25 22:18
rexyeah: 在1分鐘。 02/25 22:18
aria0520: 可以這樣說XD 還有泡在stackoverflow上的時間減少了 02/26 00:33
Kroner: GABA 02/26 00:33
yam276: 這篇也是AI寫的嗎 02/26 14:22
MyNion: 這篇文沒那麼糟吧,在座的工程師怎麼都那麼不友善 02/26 15:08
hth9494: AI對我的幫助就是告訴我Unknown unknown的關鍵字 02/26 19:11
Kroner: 苦瓜胜肽 02/26 19:11
edwardhsu: 沒料 02/26 22:17