AI 與工程師未來

前陣子又思考了一下自己對於 AI 還有軟體工程師這個職業的看法。

會再次思考的轉捩點有兩個,一是之前分享過的,用 AI 做逆向的時候發現 AI 的能力比我想像中的厲害許多,真的被驚艷到了。

二是在工作中見證了 AI 的強大,例如說設計在某些狀況下可能直接被跳過了,因為 AI 就能直接給出可接受的解答(至少對內部系統來說)。

那為什麼軟體工程師不行呢?如果越來越多工程師只是把 spec 或是需求丟給 AI 讓 AI 做,review 也給 AI,那需求方是不是也能跳過工程師,直接用 AI 把東西做出來?這點在一些小需求上面已經是這樣了,已經有很多不會寫 code 的人靠 AI 做出了滿足自己需求的產品。

有些人可能會反駁說:「可是 OOO AI 辦不到啊,做得很差」,這個 OOO 你可以帶入如資安、部署、合規或是性能調整等等,任何你覺得 AI 現在做不到的事情。

兩年前我也覺得 AI 做不到融合現有產品寫 code,只能拿來寫新的小玩具而已。一年前我也不覺得 AI 可以從頭寫出一個具有完整度的產品,而且自己測試。

在談 AI 能力的時候,我常常會想,這些做不到的事情,是現在做不到,還是以後也一定做不到?或是,腦海中能不能想像 AI 做到的樣子?

如資安,以前 vibe coding 常被詬病資安很差,但現在 AI 在資安上的能力越來越強,你寫完 code 只要讓他自己再 review 一遍資安,我是覺得基本常見的漏洞應該都找得出來。

最近碰到這種問題時,我的思考模式已經漸漸轉變為:「既然 AI 做不好,你該做的不是說 AI 不好用然後放棄,而是教 AI 做好」。

你覺得 AI code review 不好,就把你怎麼 code review 的經驗分享給他;你覺得 AI 找不出漏洞,就把你找漏洞的心得跟流程分享給他,要他學著點。

雖然說人腦中的知識跟經驗很難完全 dump 出來,但提供一些方向是做得到的,或也可以提供一個 checklist 讓 AI 慢慢勾,有足夠 token 的話每一項開一個 subagent 去跑也行。

總之呢,我從認知到 AI 的強大之後,開始重新思考軟體工程師會不會被「取代」(這個取代有很多不同層面上的意思),再思考軟體工程師的職責到底是什麼,被取代的前提又是什麼。

然後又想到了團隊分工的轉變,以前做 prototype 都是 PM 自己先弄個 wireframe,然後設計幫忙,現在一步到位 PM 直接寫 code 出 prototype 了,還可以沿用已經有的 design system。

簡短摘要就到這裡,其他細節都放在文章了,聊的東西比這邊多而且思考過程更完整,對這話題有興趣的話可以看看。

評論