作者gigayaya (gigayaya)
看板Soft_Job
標題Re: [閒聊] AI時代如何保持對軟體的熱情
時間Sat Apr 25 23:52:55 2026
※ 引述《gigayaya (gigayaya)》之銘言:
: 3.多去學習知識,不論是經典的CS知識或是最新和AI有關的知識
這幾天想到一個例子表達我的觀點,想分享給大家或許能更好理解我想表達的XD
主要是想表達軟體工程師仍然存在且需要有知識,以及AI時代工作型態的轉變
(ps.這只是一個展示概念的思想實驗例子,希望大家不要對內容太認真)
---
想像一個場景:今天你去一家公司應徵軟體工程師,你坐在會議室中
對面面試官給你一台筆電請你現場做live coding面試,你看到畫面中的文字題目如下:
Q:
目標為生產一個function解決以下問題->
有一串數字,規則是「後面的數 = 前面兩個相加」:
第1個: 0
第2個: 1
第3個: 0+1 = 1
第4個: 1+1 = 2
第5個: 1+2 = 3
第6個: 2+3 = 5
第7個: 3+5 = 8
其中第1個數字固定為0,第2個數字固定為1
給予你一個input數字,請你回傳那個位置的數字是多少
約束/規則:
1. 給你的數字範圍為2~1000正整數
2. 你只能寫prompt給AI,AI的輸出即為你的答案,你不能手動修改AI回答的內容
3. 使用的prompt文字越少分數越高
4. 跟AI溝通的次數越少分數越高
5. 程式語言為python (其實這不重要,舉例而已)
6. 只能使用我們提供的AI
7. 我們保證我們的AI沒有任何的隨機性 (意思就是保證存在方法拿到滿分)
8. 我們已經測試過我們的AI可以產生出最好的答案 (跟上一則同意思)
9. AI只會回傳程式碼不會聊天
---
然後面試官手上的正確答案是這樣:
```
def fib(n: int):
a, b = 0, 1
for _ in range(n-1):
a, b = b, a + b
return a
```
我們先假設這就是這世界上最好的答案,忽略一下變數名稱,錯誤處理之類的小問題
面試官會將你的答案跟他手上的黃金答案對比,跟答案長的越相同分數越高
---
那在這個情況中你要如何獲得高分,意思就是你要如何達成只用最少的prompt就能
產生出面試官手上的正確答案呢?
要能達成這件事情,我覺得你至少需要掌握以下幾點:
1.你知道這是一個費式數列問題,所以你跟AI溝通的時候不需要把完整的題目複製貼上,
可以只用四個文字表達你的需求
2.你知道用for loop實作費式數列問題比遞迴好,因為時間複雜度比較低
3.你知道用兩個變數而不是一個list儲存內容比較好,因為佔用的空間更少
4.你知道如何用最少的字告訴AI你的需求以及設定邊界等等的技巧高品質地完成任務
我們先假設2,3點AI還沒有被訓練這些資料,那如果AI能寫出這樣的code的話一定是
你prompt要求的
所以如果你的答案被判定為高分的話:
1. 你的CS知識
2. prompt engineering知識(AI使用技巧)
肯定都不差
(舉例結束)
---
所以我想表達的意思是:
有了AI之後工程師的任務從『自己用手將腦袋中的code敲到檔案裡面』變為->
『指揮AI將你腦袋中的code生產出來』
並且通常來說,在同樣完成任務的前提下,後者花的物理時間會比前者少很多
(或至少你可以同時平行開許多AI agent去做許多事)
所以工程師的知識以及經驗還是有用的,因為你至少要知道你要產生什麼,你頭腦中還是
有一個roadmap
並且隨著問題的複雜度越高,你就需要越多的AI engineering技巧
於是你從實作function開始外包給AI去寫並且你去review,之後是一個class,然後是
一個component,一個module,一個library,一個framework,最後是一個產品
但你都知道你在幹嘛,想像你每一輪都在做那個面試,只是你被要求的目標越來越高
至於這樣子要幹麻?為什麼要這樣做?這樣做對工程師有什麼好處?
我會在之後的另外一篇文章中比較詳細的闡述我的想法(如果沒拖稿的話XD
---
最後AI會不會可能想得比我還好?這的確是有可能,所以在正式工作中你可以在決定
內容之前先跟AI多討論,確定好你覺得沒問題後再實作
但你說會不會連一開始第一個問題,第一個方向,人類給出來就是錯的比AI差?
哈哈哈我覺得這好像就上升到哲學問題了,我暫時也沒有完全肯定答案
但我目前的信念是:
如果要設計給人用的產品,那最後只有人類懂得人類的需求能夠滿足人類
--
1F:噓 mmmmO:靠 害我嚇到想說啥時有po文07/26 01:40
2F:→ mmmmmO:嫩 我比你長一點07/26 01:42
3F:→ Ommmmm:靠北喔07/26 01:43
4F:→ mmmmmO:6907/26 01:51
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.108.32 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1777132390.A.B7F.html
5F:推 zys: 我覺的這樣用ai並不能最大化 應該要把它當成一個一起協作的04/26 00:02
6F:→ zys: 人 而不要對他加太多限制 因為你說要讓ai把腦中的code實作出04/26 00:02
7F:→ zys: 來 應該是把腦中的想法實作出來04/26 00:02
有道理 但我覺得每個人對 想法/code 的邊界可能都不太一樣
我覺得單純只有很high level的想法(例如:幫我實作一個Facebook)就跟我想表達的不太
一樣,這樣好像變單純的許願
我覺得作為軟體工程師你還是必須對你的prompt有一個具體的形狀,然後這個形狀是因
為你是人或是軟體工程師,你了解你們產品的需求,你了解有什麼trade off,所以你的
想法是這樣子
這也是我覺得目前junior跟senior在使用AI的方式上會有不同的地方
但這不是我文章想要著重的地方
先寫code是希望能夠先避免這種情況,先把條件寫嚴格一點
8F:→ weiman0702: 我看完簽名檔就忘了你說啥 04/26 00:04
9F:推 dani1992: 這個最佳標準是什麼?04/26 00:30
10F:→ dani1992: 最低複雜度,那應該用公式解04/26 00:31
11F:→ dani1992: 好理解,我覺得遞迴比迴圈好,有tail optimizaiton下04/26 00:32
12F:→ dani1992: 複雜度也一樣 04/26 00:33
所以說先不要糾結在那個答案上啦XD
我的意思是:
你知道code怎麼寫(或是大概),你要用AI去寫出來而不是你手動敲
這樣可以省時間,省下來的時間可以去用在更多需要思考的地方
至於你要怎麼達成這件事情,除了本來就要有的CS知識以外還需要使用AI的知識
13F:推 dani1992: 要更快更精準還有矩陣快速冪跟fast doubling 04/26 00:40
14F:推 dani1992: 恩 我覺得在這個例子上不需要CS知識,知道產品需求比較 04/26 00:52
15F:→ dani1992: 重要,知道需求那空間時間複雜度都交給AI即可04/26 00:54
16F:→ dani1992: 你有假設AI沒有訓練這點,但大部分情況都是相反吧04/26 00:58
17F:→ dani1992: 工程師知道的比AI少,所以同樣自作主張縮減題目不一定04/26 00:59
18F:→ dani1992: 比較好04/26 00:59
19F:推 wulouise: 工程師最需要的是問對的問題,也沒錯04/26 00:59
20F:噓 MoonCode:04/26 01:18
21F:推 ku72: 坦白說 我自己應該不會這樣招募工程師 目前看到的是 AI在這04/26 01:25
22F:→ ku72: 種單一低複雜度的問題上 都能夠很快的給出答案 現在需要的是 04/26 01:25
23F:→ ku72: 工程師能有足夠大的邏輯窗口 來幫AI寫出的東西做減法 邏輯能04/26 01:26
24F:→ ku72: 力 全局觀察能力 整理歸納能力 ... 在後AI時代才是被需要的04/26 01:26
25F:→ ku72: 能在AI產出的一大堆代碼內 找出那些是不必要的 那些是可以合04/26 01:26
26F:→ ku72: 併的 那些該開放 那些該封閉 等等 04/26 01:26
這個簡單問題只是舉例啦... 你今天可以把這個問題的複雜度上升到例如寫一個IG
如果今天一個工程師可以只用prompt就寫出一個IG,那他除了扎實的CS知識之外肯定也
了解許多AI工程技巧
包含到你說的如何不寫出多餘的code,如何偵錯,如何讓AI長時間運行...等等
這部分就是 prompt -> context -> harness engineering 目前這幾年大家研究的方向
27F:推 viper9709: 舊時代的知識@@...04/26 01:54
我覺得的確從2025開始software development就進入新時代了
不過為了避免有人反感,已修改文字
28F:→ jeffguoft: 這問題最快解法就是整題貼給AI,一次prompt解決04/26 08:41
這問題的前提是AI不知道最佳解答而你知道,但你不能用手寫
29F:→ lazarus1121: 不過只是要考知識幹麻還用AI 04/26 09:28
因為這個題目(思想實驗)需要的解題能力同時需要CS知識以及AI使用能力
30F:推 openthedidi: 老實說真的要考,還不如訂一個實作題,考使用者如何 04/26 10:13
31F:→ openthedidi: 在標準的時間限制內配合ai實作出來。並同時觀察使用 04/26 10:13
32F:→ openthedidi: 者的token 用量與審code方式以及如何將架構設計傳達 04/26 10:13
33F:→ openthedidi: 給ai。相同時間內,有人需要訂閱premium 的方案才能 04/26 10:13
34F:→ openthedidi: 實作出相同品質,有人用20鎂就可以生出來 04/26 10:13
感覺未來軟體工程師的面試趨勢就是類似這樣
35F:→ ab4daa: 我腦袋中有code了就直接寫就好 04/26 10:17
假設你要寫一個module, 有10個class, 每個class 100行, 所以目標是寫1000行code
這些code你都已經想好了只差寫出來,但是你人的物理極限是1分鐘寫10行
所以->
方案A: 你人手寫1000行完成module, 花費100分鐘
方案B: 你指揮AI,AI寫出來的code跟你想的完全一樣,AI每分鐘可以寫100行, 花費10分鐘
我個人覺得未來的趨勢是往方案B靠攏
36F:推 VScode: 我懂你的意思 但你舉的例不好 導致一直歪樓XD 04/26 12:36
我...我檢討... 我以為寫一大堆但書跟前提大家就會懂我的意思XD...
37F:→ VScode: 所以舉例的能力也是很重要的 連人類都很容易誤解了 04/26 12:36
38F:→ VScode: 我會在容易誤解的地方補上context 讓AI理解為何這麼做 能 04/26 12:38
39F:→ VScode: 更精準達成需求 04/26 12:38
40F:推 gino0717: 以後人類插手越多AI就會錯的越離譜 以後都讓AI自己去講 04/26 12:56
41F:推 strlen: 我比較悲觀 你想想 只有人類能理解人類的需求 <- 這一點 04/26 14:21
42F:→ strlen: 真的合理嗎?憑什麼AI沒辦法將需求端也學起來 XD 04/26 14:21
我的理論(信念)是這樣子:
目前的LLM本質是transformer, 是文字模仿, 是文字接龍, 是機率
他能接出下一個正確的文字是因為這些都是『已經存在』的東西, transformer無法創造
他的training data中不存在的東西, 換句話說他無法『憑空』『創造』知識
而創造,則是我認為人之所以為人,智慧的本質
當然你也可以說根據scaling law, AI已經"湧現"出了能夠『創造』知識的能力
只是在我看來,只要LLM還是transformer,還是語言接龍,還是鸚鵡學說話模仿
那AI就還不能說是有『智慧』,而人類就還不會被淘汰
就像Steve Jobs曾經提過: "Good artists copy; great artists steal"
AI目前還停留在Good的階段,所以目前AI沒辦法創造出下一個相對論,下一個愛因斯坦
但這只是我的信仰,意思就是我沒辦法提出很強烈的證據支持我的論點
希望能讓你不要那麼悲觀
回到你下面舉例的情況,我覺得更可能的情況是:
->你可以用AI完美複製IG的code,但你無法只用AI創造一個app取代IG在社會中的地位
43F:→ strlen: 老實說 目前人類還能插手的就架構跟需求 但這是目前 04/26 14:21
44F:→ strlen: AI目前在中小型模組上已經穩贏人類的 缺的是大局觀 04/26 14:23
45F:→ strlen: 但這個說老實話也不難解決 光是用harness engineering做一 04/26 14:23
46F:→ strlen: 個團隊agents 由一個架構師AI指揮底下的sub agents 也可以 04/26 14:24
47F:→ strlen: 做到現在人類能做的事...... 04/26 14:24
48F:→ strlen: 當然目前需求還是由人類開 但哪天AI連需求也都學起來了... 04/26 14:25
49F:→ strlen: 到最後肯定就是 人類只要出一個命題 AI自行分析需求 自行 04/26 14:26
所以最終需求不還是人類提的嗎XD 這邊需求是request的意思不是requirement
50F:→ strlen: 規劃架構 自行指派sub agents實作 自行review 自行迭代... 04/26 14:26
51F:→ strlen: 這是遲早的事 半年內或許就看得到了 唉唉唉唉 04/26 14:27
52F:推 VScode: 連PM跟架構師都失業嗎 太慘了.. 04/26 14:34
53F:推 Staker: 同意 04/26 14:43
54F:推 devilkool: 跟客戶溝通的經驗讓我覺得AI應該還是很難學溝通需求 04/26 14:45
55F:推 ian90911: 同意 04/26 15:04
56F:推 viper9709: 覺得AI還是很難跟客戶溝通+1 04/26 15:22
※ 編輯: gigayaya (1.163.108.32 臺灣), 04/26/2026 15:30:07
57F:推 sarsman: 認同 04/26 16:24
58F:→ sarsman: 以受薪階級角度來說,仍然有工作需求,但扛鍋範圍會變廣 04/26 16:25
59F:推 wulouise: ai現在通靈context大概還在eng 等級,不能到客戶因為產 04/26 16:25
60F:→ wulouise: 品知識不一定夠 04/26 16:25
61F:→ ikachann: 客戶最厲害的是 他自己想要什麼也說不清 04/26 19:00
62F:→ ikachann: 你還要慢慢引導他 他想要的是什麼 04/26 19:00
63F:推 dream1124: 解析得不錯,算是現在難得理性客觀討論的文章,推! 04/27 00:28
64F:→ strlen: 的確是人類提的 但那個人 不一定是你啊 XDDDDD 04/27 01:12
65F:推 pinner: 我是覺得兩年前的湧現其實是多層transformer架構下把更高 04/27 13:11
66F:→ pinner: 層次的理解變成單位元素,並實現跨越段落理解,讓AI更像 04/27 13:11
67F:→ pinner: 有智商,如果哪一天他們可以再下一步(繼續加大模型大小 04/27 13:11
68F:→ pinner: )讓一整門學問都成爲單位元素的時候人類所謂的創意也沒 04/27 13:11
69F:→ pinner: 有用了。個人感受是創意其實只是不同面向去思考一件事情 04/27 13:11
70F:→ pinner: ,所以當人誇獎你有創意的時候只是說你「想事情的角度跟 04/27 13:11
71F:→ pinner: 他們不一樣」。當AI可以自己從各種角度切入的時候,各種 04/27 13:11
72F:→ pinner: 學問被攻略只是時間問題了 04/27 13:11
73F:推 Wishmaster: 我覺得不確定性還是太大了,也可能是我太廢了... 04/27 15:23
74F:→ Wishmaster: 想像中你限縮得夠好他給的答案會趨近唯一,但問題是 04/27 15:24
75F:→ Wishmaster: 這不是一定 04/27 15:24
76F:推 viper9709: 推樓上 04/27 15:25
77F:推 secrectlife: 我覺得ai夠聰明後你這些prompt 根本沒差 04/27 19:11
78F:推 Romulus: 那麼霹靂車什麼時候才會實現呢 04/29 10:02
79F:→ superpandal: 思路衍生的創造本來就很有power 不覺得ai能有創意 04/29 21:50
80F:→ superpandal: 想事情角度不同恰恰是事情最終結果差異的起因 04/29 21:52