Re: [閒聊] AI時代如何保持對軟體的熱情

看板Soft_Job (軟體人)作者 (gigayaya)時間1小時前 (2026/04/25 23:53), 30分鐘前編輯推噓5(5010)
留言15則, 4人參與, 13分鐘前最新討論串1/1
※ 引述《gigayaya (gigayaya)》之銘言: : 3.多去學習知識,不論是經典的CS知識或是最新和AI有關的知識 這幾天想到一個例子表達我的觀點,想分享給大家或許能更好理解我想表達的XD (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要求的 如果你的答案被判定為高分的話,看來你至少有CS以及prompt engineering知識 (舉例結束) --- 所以我想表達的意思是: 有了AI之後工程師的任務從『自己用手將腦袋中的code敲到檔案裡面』變為-> 『告訴AI你腦袋中的code生產出來』 並且通常來說,在同樣完成任務的前提下,後者花的物理時間會比前者少很多 所以工程師舊時代的知識還是有用的,因為你至少要知道你要產生什麼,你頭腦中還是 有一個roadmap 於是你從實作function開始外包給AI去完成並且review,之後是一個class,然後是 一個component,一個module,一個library,一個framework,最後是一個產品 但你都知道你在幹嘛 至於這樣子要幹麻?為什麼要這樣做?這樣做對工程師有什麼好處? 我會在之後的下一篇文章中比較詳細的闡述我的想法(如果沒拖稿的話XD --- 最後AI會不會可能想得比我還好?這的確是有可能,所以在正式工作中你可以在決定 內容之前先跟AI多討論,確定好後再實作 但你說會不會連一開始第一個問題,第一個方向,人類給出來就是錯的比AI差? 哈哈哈我覺得這好像就上升到哲學問題了,我暫時也沒有完全肯定答案 但我目前的信念是: 如果要設計給人用的產品,那最後只有人類懂得人類的需求能夠滿足人類 --

07/26 01:40,
靠 害我嚇到想說啥時有po文
07/26 01:40

07/26 01:42,
嫩 我比你長一點
07/26 01:42

07/26 01:43,
靠北喔
07/26 01:43

07/26 01:51,
69
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, 1小時前 , 1F
我覺的這樣用ai並不能最大化 應該要把它當成一個一起協作的
04/26 00:02, 1F

04/26 00:02, 1小時前 , 2F
人 而不要對他加太多限制 因為你說要讓ai把腦中的code實作出
04/26 00:02, 2F

04/26 00:02, 1小時前 , 3F
來 應該是把腦中的想法實作出來
04/26 00:02, 3F
有道理 但我覺得每個人對 想法/code 的邊界可能都不太一樣 我覺得單純只有很high level的想法(例如:幫我實作一個Facebook)就跟我想表達的不太 一樣,這樣好像變單純的許願 我覺得作為軟體工程師你還是必須對你的prompt有一個具體的形狀,然後這個形狀是因 為你是人或是軟體工程師,你了解你們產品的需求,你了解有什麼trade off,所以你的 想法是這樣子 這也是我覺得目前junior跟senior在使用AI的方式上會有不同的地方 但這不是我文章想要著重的地方 先寫code是希望能夠先避免這種情況,先把條件寫嚴格一點

04/26 00:04, 1小時前 , 4F
我看完簽名檔就忘了你說啥
04/26 00:04, 4F
※ 編輯: gigayaya (1.163.108.32 臺灣), 04/26/2026 00:13:11

04/26 00:30, 42分鐘前 , 5F
這個最佳標準是什麼?
04/26 00:30, 5F

04/26 00:31, 41分鐘前 , 6F
最低複雜度,那應該用公式解
04/26 00:31, 6F

04/26 00:32, 40分鐘前 , 7F
好理解,我覺得遞迴比迴圈好,有tail optimizaiton下
04/26 00:32, 7F

04/26 00:33, 39分鐘前 , 8F
複雜度也一樣
04/26 00:33, 8F
所以說先不要糾結在那個答案上啦XD 我的意思是: 你知道code怎麼寫(或是大概),你要用AI去寫出來而不是你手動敲 這樣可以省時間,省下來的時間可以去用在更多需要思考的地方 至於你要怎麼達成這件事情,除了本來就要有的CS知識以外還需要使用AI的知識 ※ 編輯: gigayaya (1.163.108.32 臺灣), 04/26/2026 00:41:57

04/26 00:40, 32分鐘前 , 9F
要更快更精準還有矩陣快速冪跟fast doubling
04/26 00:40, 9F

04/26 00:52, 20分鐘前 , 10F
恩 我覺得在這個例子上不需要CS知識,知道產品需求比較
04/26 00:52, 10F

04/26 00:54, 18分鐘前 , 11F
重要,知道需求那空間時間複雜度都交給AI即可
04/26 00:54, 11F

04/26 00:58, 14分鐘前 , 12F
你有假設AI沒有訓練這點,但大部分情況都是相反吧
04/26 00:58, 12F

04/26 00:59, 13分鐘前 , 13F
工程師知道的比AI少,所以同樣自作主張縮減題目不一定
04/26 00:59, 13F

04/26 00:59, 13分鐘前 , 14F
比較好
04/26 00:59, 14F

04/26 00:59, 13分鐘前 , 15F
工程師最需要的是問對的問題,也沒錯
04/26 00:59, 15F
文章代碼(AID): #1fxEDcj_ (Soft_Job)
文章代碼(AID): #1fxEDcj_ (Soft_Job)