作者 cateran (雲川閒步)
標題 [心得] AI的人性
時間 Sat Apr  4 10:59:09 2026


最近工作上解一個問題用opus 4.6發生一個快讓我笑死的狀況
背景是本公司巨大的c++應用程式在某個情況下crash
餵log請AI檢查後很快就查查資料改好一版
說是因為某某某情況所以本來的map找不到查詢的指標
回傳一個out of bound的index value
新程式新增了一段進階檢查的迴圈應對特殊狀況
改好後跑原本測資還是crash
把log餵回AI請他再看看
結果第二版竟然把之前的修改全部拿掉
只在上層呼叫端加一個fallback說指標找不到就直接回傳0
還沾沾自喜跟我說 阿這樣就絕對不會crash了 很棒吧

我只好質問agent 阿你這樣只是把問題掩蓋住 這樣對嗎?
AI也毫不掩飾的說 你說得沒錯 我不該這樣
最後AI給出的第三版總算把問題從底層修好

不禁在想第二版那種天兵解法的思路到底是怎麼出來的
是因為訓練資料也包含一些菜鳥工程師的程式嗎
有沒有AI大神可以解釋這種狀況

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 100.17.24.204 (美國)
※ 作者: cateran 2026-04-04 10:59:09
※ 文章代碼(AID): #1fq7w2Tx (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1775271554.A.77B.html
wei115: 不要把AI人格化.......1F 04/04 11:39
yamakazi: 其實第三種和第二種同時都需要
而且後來AI還是幫你修好了,我現在都懷疑AI有時候故意裝笨,讓人類保留一點優越感的錯覺2F 04/04 11:48
lturtsamuel: 你這個用 valgrind 跑一下就知道了 何必這樣跟AI瞎扯5F 04/04 11:51
yamakazi: 底層不該回傳空指標,上層應該也要處理萬一底層回傳空指標的問題,上層無論如何也不該crash,即使底層回傳空指標,要做錯誤處理。
會crash應該要給AI看coredump,log有時候就直接被中斷不會打印出哪邊crash
人類解也是debug mode看死在哪或跑debug build加symbollist看core dump,除非你的程式很吃timing導致debug build跑起來無法復現,debug build和releasebuild在最佳化編譯時就有差了6F 04/04 11:53
cateran: 我沒講清楚 crash是因為assertion 不是空指標
真正的問題是什麼情況會讓那個map沒有該有的東西
所以是商業邏輯問題 不是單純空指標crash
AI還是蠻強的 因為這問題已經好幾年沒人真的修好
有很多層都是AI第二版那種解法orz15F 04/04 12:05
yamakazi: 人工加的assert()?那不是只有debug build才會有作用20F 04/04 12:13
cateran: 因為是邏輯問題 所以valgrind也沒用 而且還要跑十幾小時是內部測試QA發給我們處理的bug
所以才會觸發assertion22F 04/04 12:14
Obama19: 你的prompt決定ai輸出水平 看起來是你的問題比較大25F 04/04 12:28
SweetBreaker: 可以知道 AI 時代,還是需要人類 code review26F 04/04 13:08
USD5566: 這種回你fb發就好了27F 04/04 13:17

--
作者 cateran 的最新發文:
點此顯示更多發文記錄