PTT評價

[心得] 近期用 ai 輔助工作的小小心得

看板Soft_Job標題[心得] 近期用 ai 輔助工作的小小心得作者
poopoo888888
(阿川)
時間推噓 9 推:15 噓:6 →:24

從事程式設計工作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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.204.26 (臺灣)
PTT 網址

ILoveAMD02/23 12:27就看你要年薪幾百萬囉

lchcoding02/23 12:38想請問-抽象第一定律出處在哪?我轉職門外漢

MoonCode02/23 14:10

Obama1902/23 14:27聽君一席話如聽一席話

k7ji91ab5m02/23 14:33對我來說從 可以這樣做->為什麼這樣做 不論是不是用

k7ji91ab5m02/23 14:33AI 都會經歷 但問AI有時候比較快 有時候他是錯的

prag22202/23 14:56用過deepseek跟ChatGPT比較沒?

tzouandy281802/23 15:03你還是不要說自己資歷十二年好了

nayeonmywife02/23 15:11…..

Tix02/23 15:17說得很棒,感謝分享!

hegemon02/23 15:18真的不用浪費時間寫這篇文章

KanzakiHAria02/23 15:50聽君一席話如聽一席話

hobnob02/23 16:47總覺得沒有十幾年經驗的那種氣勢,好人好事代表

c8dog02/23 17:10ㄜ … 該不會最近才知道要用 AI 輔助吧?

c8dog02/23 17:12好的,我有看到開頭的「最近半年」了

StrangeJ02/23 17:24我覺得這篇文章沒甚麼大問題 幫補血

ck96078502/23 17:38我主管看到這種用ai味太重的文字會直接開罵

kkes000102/23 18:52真的有點廢話

aegius1r02/23 18:54這篇也是AI寫的嗎

asdf134302/23 19:26查不到有什麼叫 first law of abstraction

asdf134302/23 19:26根據原po說的應該是 the law of leaky abstractions

asdf134302/23 19:26想提醒的是如果問ai難以查到的事 要小心它瞎掰內容給你

asdf134302/23 19:26自己求證還是必要的

hwChang02/23 20:44除了縮短產出時間,我覺得最大的優點,是它可以有系統地

hwChang02/23 20:44整理出我想要的資訊,以及更深入地討論問題,對我來說非

hwChang02/23 20:44常有幫助。

hwChang02/23 20:45我是用付費的 ChatGPT

WTS2accuracy02/23 21:35看描述真的像10y經驗1y技術力的CRUD老人 XD

pttano02/23 21:50哈哈

viper970902/24 00:07研究員嗎...台灣大多不是吧XD

bryandick02/24 00:28用時間分配的角度切入非常棒 ,要不要喝個咖啡聊聊天

jobintan02/24 07:57說下最近聽說過的故事,以前PM要實現某個東西時,得去對

jobintan02/24 07:58SDE低聲下氣,現在有了AI,就再也不用看SDE的臉色了。

MoonCode02/24 10:42樓上這個笑死 立刻開 github 權限給 pk

wade243202/24 11:22不用看臉色是把sde都開除了,全靠ai自己開發嗎?不是的

wade243202/24 11:22話你大概聽到一個吹牛大王在說故事

stepnight02/24 12:23難道不是PM要實現某個東西比較奇怪嗎

ricky6032402/24 14:39軟工要做pm的事情更簡單吧… 要不要做而已

aria052002/24 23:40常常rd做到最後還是要自兼pm 畢竟罵也是罵rd

pkpk1065402/25 10:56我以為PM最難的部分是做人

rexyeah02/25 22:18Google速度變短而已吧,之前花1小時Google, 複製貼上,現

rexyeah02/25 22:18在1分鐘。

aria052002/26 00:33可以這樣說XD 還有泡在stackoverflow上的時間減少了

yam27602/26 14:22這篇也是AI寫的嗎

MyNion02/26 15:08這篇文沒那麼糟吧,在座的工程師怎麼都那麼不友善