Re: [閒聊] AI時代如何保持對軟體的熱情
看板Soft_Job (軟體人)作者gigayaya (gigayaya)時間3周前 (2026/04/25 23:53)推噓23(24推 1噓 51→)留言76則, 25人參與討論串1/2 (看更多)
※ 引述《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差?
哈哈哈我覺得這好像就上升到哲學問題了,我暫時也沒有完全肯定答案
但我目前的信念是:
如果要設計給人用的產品,那最後只有人類懂得人類的需求能夠滿足人類
--
噓
07/26 01:40,
07/26 01:40
→
07/26 01:42,
07/26 01:42
→
07/26 01:43,
07/26 01:43
→
07/26 01:51,
07/26 01:51
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.108.32 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1777132390.A.B7F.html
推
04/26 00:02,
3周前
, 1F
04/26 00:02, 1F
→
04/26 00:02,
3周前
, 2F
04/26 00:02, 2F
→
04/26 00:02,
3周前
, 3F
04/26 00:02, 3F
有道理 但我覺得每個人對 想法/code 的邊界可能都不太一樣
我覺得單純只有很high level的想法(例如:幫我實作一個Facebook)就跟我想表達的不太
一樣,這樣好像變單純的許願
我覺得作為軟體工程師你還是必須對你的prompt有一個具體的形狀,然後這個形狀是因
為你是人或是軟體工程師,你了解你們產品的需求,你了解有什麼trade off,所以你的
想法是這樣子
這也是我覺得目前junior跟senior在使用AI的方式上會有不同的地方
但這不是我文章想要著重的地方
先寫code是希望能夠先避免這種情況,先把條件寫嚴格一點
→
04/26 00:04,
3周前
, 4F
04/26 00:04, 4F
推
04/26 00:30,
3周前
, 5F
04/26 00:30, 5F
→
04/26 00:31,
3周前
, 6F
04/26 00:31, 6F
→
04/26 00:32,
3周前
, 7F
04/26 00:32, 7F
→
04/26 00:33,
3周前
, 8F
04/26 00:33, 8F
所以說先不要糾結在那個答案上啦XD
我的意思是:
你知道code怎麼寫(或是大概),你要用AI去寫出來而不是你手動敲
這樣可以省時間,省下來的時間可以去用在更多需要思考的地方
至於你要怎麼達成這件事情,除了本來就要有的CS知識以外還需要使用AI的知識
推
04/26 00:40,
3周前
, 9F
04/26 00:40, 9F
推
04/26 00:52,
3周前
, 10F
04/26 00:52, 10F
→
04/26 00:54,
3周前
, 11F
04/26 00:54, 11F
→
04/26 00:58,
3周前
, 12F
04/26 00:58, 12F
→
04/26 00:59,
3周前
, 13F
04/26 00:59, 13F
→
04/26 00:59,
3周前
, 14F
04/26 00:59, 14F
推
04/26 00:59,
3周前
, 15F
04/26 00:59, 15F
噓
04/26 01:18,
3周前
, 16F
04/26 01:18, 16F
推
04/26 01:25,
3周前
, 17F
04/26 01:25, 17F
→
04/26 01:25,
3周前
, 18F
04/26 01:25, 18F
→
04/26 01:26,
3周前
, 19F
04/26 01:26, 19F
→
04/26 01:26,
3周前
, 20F
04/26 01:26, 20F
→
04/26 01:26,
3周前
, 21F
04/26 01:26, 21F
→
04/26 01:26,
3周前
, 22F
04/26 01:26, 22F
這個簡單問題只是舉例啦... 你今天可以把這個問題的複雜度上升到例如寫一個IG
如果今天一個工程師可以只用prompt就寫出一個IG,那他除了扎實的CS知識之外肯定也
了解許多AI工程技巧
包含到你說的如何不寫出多餘的code,如何偵錯,如何讓AI長時間運行...等等
這部分就是 prompt -> context -> harness engineering 目前這幾年大家研究的方向
推
04/26 01:54,
3周前
, 23F
04/26 01:54, 23F
我覺得的確從2025開始software development就進入新時代了
不過為了避免有人反感,已修改文字
→
04/26 08:41,
3周前
, 24F
04/26 08:41, 24F
這問題的前提是AI不知道最佳解答而你知道,但你不能用手寫
→
04/26 09:28,
3周前
, 25F
04/26 09:28, 25F
因為這個題目(思想實驗)需要的解題能力同時需要CS知識以及AI使用能力
推
04/26 10:13,
3周前
, 26F
04/26 10:13, 26F
→
04/26 10:13,
3周前
, 27F
04/26 10:13, 27F
→
04/26 10:13,
3周前
, 28F
04/26 10:13, 28F
→
04/26 10:13,
3周前
, 29F
04/26 10:13, 29F
→
04/26 10:13,
3周前
, 30F
04/26 10:13, 30F
感覺未來軟體工程師的面試趨勢就是類似這樣
→
04/26 10:17,
3周前
, 31F
04/26 10:17, 31F
假設你要寫一個module, 有10個class, 每個class 100行, 所以目標是寫1000行code
這些code你都已經想好了只差寫出來,但是你人的物理極限是1分鐘寫10行
所以->
方案A: 你人手寫1000行完成module, 花費100分鐘
方案B: 你指揮AI,AI寫出來的code跟你想的完全一樣,AI每分鐘可以寫100行, 花費10分鐘
我個人覺得未來的趨勢是往方案B靠攏
推
04/26 12:36,
3周前
, 32F
04/26 12:36, 32F
我...我檢討... 我以為寫一大堆但書跟前提大家就會懂我的意思XD...
→
04/26 12:36,
3周前
, 33F
04/26 12:36, 33F
→
04/26 12:38,
3周前
, 34F
04/26 12:38, 34F
→
04/26 12:38,
3周前
, 35F
04/26 12:38, 35F
推
04/26 12:56,
3周前
, 36F
04/26 12:56, 36F
推
04/26 14:21,
3周前
, 37F
04/26 14:21, 37F
→
04/26 14:21,
3周前
, 38F
04/26 14:21, 38F
我的理論(信念)是這樣子:
目前的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在社會中的地位
→
04/26 14:21,
3周前
, 39F
04/26 14:21, 39F
→
04/26 14:23,
3周前
, 40F
04/26 14:23, 40F
→
04/26 14:23,
3周前
, 41F
04/26 14:23, 41F
→
04/26 14:24,
3周前
, 42F
04/26 14:24, 42F
→
04/26 14:24,
3周前
, 43F
04/26 14:24, 43F
→
04/26 14:25,
3周前
, 44F
04/26 14:25, 44F
→
04/26 14:26,
3周前
, 45F
04/26 14:26, 45F
所以最終需求不還是人類提的嗎XD 這邊需求是request的意思不是requirement
→
04/26 14:26,
3周前
, 46F
04/26 14:26, 46F
→
04/26 14:27,
3周前
, 47F
04/26 14:27, 47F
推
04/26 14:34,
3周前
, 48F
04/26 14:34, 48F
推
04/26 14:43,
3周前
, 49F
04/26 14:43, 49F
推
04/26 14:45,
3周前
, 50F
04/26 14:45, 50F
推
04/26 15:04,
3周前
, 51F
04/26 15:04, 51F
推
04/26 15:22,
3周前
, 52F
04/26 15:22, 52F
※ 編輯: gigayaya (1.163.108.32 臺灣), 04/26/2026 15:30:07
推
04/26 16:24,
3周前
, 53F
04/26 16:24, 53F
→
04/26 16:25,
3周前
, 54F
04/26 16:25, 54F
推
04/26 16:25,
3周前
, 55F
04/26 16:25, 55F
→
04/26 16:25,
3周前
, 56F
04/26 16:25, 56F
→
04/26 19:00,
3周前
, 57F
04/26 19:00, 57F
→
04/26 19:00,
3周前
, 58F
04/26 19:00, 58F
推
04/27 00:28,
3周前
, 59F
04/27 00:28, 59F
→
04/27 01:12,
3周前
, 60F
04/27 01:12, 60F
推
04/27 13:11,
3周前
, 61F
04/27 13:11, 61F
→
04/27 13:11,
3周前
, 62F
04/27 13:11, 62F
→
04/27 13:11,
3周前
, 63F
04/27 13:11, 63F
→
04/27 13:11,
3周前
, 64F
04/27 13:11, 64F
→
04/27 13:11,
3周前
, 65F
04/27 13:11, 65F
→
04/27 13:11,
3周前
, 66F
04/27 13:11, 66F
→
04/27 13:11,
3周前
, 67F
04/27 13:11, 67F
→
04/27 13:11,
3周前
, 68F
04/27 13:11, 68F
推
04/27 15:23,
3周前
, 69F
04/27 15:23, 69F
→
04/27 15:24,
3周前
, 70F
04/27 15:24, 70F
→
04/27 15:24,
3周前
, 71F
04/27 15:24, 71F
推
04/27 15:25,
3周前
, 72F
04/27 15:25, 72F
推
04/27 19:11,
3周前
, 73F
04/27 19:11, 73F
推
04/29 10:02,
3周前
, 74F
04/29 10:02, 74F
→
04/29 21:50,
3周前
, 75F
04/29 21:50, 75F
→
04/29 21:52,
3周前
, 76F
04/29 21:52, 76F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
23
76
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章
139
216