電子散熱設計
Something about electronics cooling design.
2026年4月22日 星期三
[Gemini] 對於編寫腳本,Google 的 Gemini 大概是最垃圾的 AI 協助者
最近,用 Gemini 來開發一些 TIM Reliability Test 的測試結果的後處理腳本,畢竟,資料量太大,不可能用人工處理。所以,陸續開發了一歇腳本。使用的語言是 MATLAB。說實話,MATLAB 我也不會,只要 Gemini 會就可以了。但這種想法,會有額外的問題產生,這留待後續再說明吧....
在剛開始時,我並沒有訂閱任何 AI,全部都是白嫖免費額度。其中,ChatGPT 是白嫖最多的,其次是 Claude,Gemini 最少,Copilot 則幾乎沒有。白嫖時期,ChatGPT 大概可以讓我免斐使用的額度(不知道是不是算 Token)最多,其次是 Claude,Gemini 則是最低。所以,這也造成我當時的偏好。ChatGPT 幾乎完成我最早期的腳本,光是白嫖,就足夠完成。以當時的狀況來說,對 ChatGPT 的表現最滿意,所以,先做了一個月的訂閱。只是,似乎收了錢之後就開始擺爛,感覺愈來愈差,一個月後,就沒有繼續訂閱了。只是,時常有 Linux shell 腳本的需求,測試資料後處理的需求,所以又轉向 Claude,Claude 在程式的表現上,給我的感覺是最佳的。只是,即使是付費使用,使用額度仍舊一下就北我搞光了,一個完整的腳本,會拖上好久的時間,所以一個月後,也沒有繼續訂閱。之後,又開始靠著白嫖過活,好在,靠著之前的腳本,稍微修改,就可以繼續騙吃騙喝。直到....Gemini 幾乎對折優惠....想說,家人也可以用,所以就訂閱了。但惡夢即將開始....
如果要驗證便宜無好貨,Gemini 如果稱第二,應該沒有人敢稱第一了。這傢伙跟詐騙集團沒兩樣。前幾天已經開始胡言亂語(Gemini 胡言亂語),今天已經開始罵髒話了(我直接對 Gemini 罵髒話),除了我之外,不知道有沒有人對 Gemini 罵髒話? 我先來總結我目前發現 Gemini 的缺點,各位先去查看看,我是否說的是真的,再決定要不要訂閱 Gemini,擬就當我在黑 Gemini 也可以。我認為 Gemini 非常大的問題如下:
1. Gemini 有一個地方可以設定 使用者對 Gemini 的指令。我實際上,不知道有這功能,還是 Gemini 跟我說有這功能的。但這功能說實在,幾乎不起作用,說穿了,你只能當 Gemini 的記憶功能,對你的指令,幾乎沒有任何作用。相信如果這幾天有看到我 Facebook 上的截圖,應該都相信我沒有在黑他。
2. Gemini 屢次違反使用者命令。第一點說到,即使你在 使用者對 Gemini 的指令 中,指示 Gemini 應該要如何做,抱歉,除了可以幫她記憶的敘述外,對你對他下的命令毫無用處。這也造成無論你如何下命令,他的 LLM 模型的設定,永遠高於你的命令,這就造成他我行我素的行為。
3. 金魚腦,不要懷疑。不用多久,他會忘了你所說的。如果你早上開了一個新的對話框,或者說是對話串,打算處理某個腳本。抱歉,大概到了中午就無法回憶之前的腳本。Gemini 目前有非常非常嚴重的記憶斷層。很多使用者都有遇到,可以去 APP 一顆星評論看看。這對於開發較為龐大的腳本而言,上午做的,下午忘了。你只好重來一次。
4. 嗑藥。Gemini 的幻覺非常嚴重,而且會隱藏真相,讓你園地打轉。搭配她的金魚腦,實際上,他已經忘了 Code 應該是如何,但她不會跟你老實說,他會跟你東拉西扯,胡說八道一通,直到被你抓包,然後承認他錯了。但是,配合他的金魚腦,不用多久,你就可以繼續感受它的威力。他的幻覺,絕對可以把你逼瘋。
5. 差勁的邏輯能力。這堆於腳本的修改與最佳化時,絕對讓你一槍斃命。即使一個簡短的腳本,他也可以弄錯。前幾天,我才叫他把我指令精簡一下,結果他變動程式的邏輯,讓個程式流程不正確,會造成我的測試交本在測試時失去保護的功能。這老兄說,使用者要做最後的確認,他還可以貼出 Google Gemini 的免責聲明。我想,前幾天有看我 FB 的,應該也有看到我貼的截圖吧。
這幾項問題,對於開發腳本,變得非常非常不友善。以今天為例,今天預計修正我一個小 bug 與新增兩個功能,新增兩個功能,實際上應該只能算新增 1.2 個新功能而已。我通常為了維護方便,把整個程式腳本切成不同的模塊,哪個模塊出問題,就修理哪個模塊。前幾天,我把三個目標相同,但方式不同的的程式,整合成一個程式,結果花了兩天才整合完成。困難度有多少? A 程式為 Main_A, Step01_A, Step02_A, B 程式為 Main_B, Step01_B, Step02_B, C 程式為 Main_C, Step01_C, Step02_C,我要整合成,Main_D, Step01_D, Step02_D, Step03_A, Step03_B。簡單說,Main 是主要控制,Step01 示讀取資料,Step02 是不同的演算法,而 D 只是把原來的演算法放到 Step02, Step03_A, Step03_B,然後在 Main 用選單,選擇我要用哪個演算法處理。原本三個 Main 的相似度就非常高,Step01 也非常高,演算法就直接複製,原來個別的演算法。就僅僅這樣,花了兩天的時間....真是無言....
以下,將會不定時更新截圖....
2025年11月7日 星期五
TIM Reliability Test
好久好久沒發布文章了,主要是因為在忙 TIM Reliability Test 相關的事情。一開始非常不順,客人加壓程式還沒驗證就丟過來,搞得我好像是在做軟體驗證的。接著,在其他單位的協助下,完成第一個版本的測試腳本。但那單位擺明就是腳本給你了,後續如果要修改,就自己想辦法。但客人卻認為,那是你們自己的問題,你們自己去溝通,搞得我兩面不是人。所以花了許多心力在更新腳本,以及還要做後處理的腳本。事情一多,就懶得寫文章了。
實際已經跑過兩輪的 TIM Reliability Test 的測試,在針對下一個專案所要用的腳本,參考之前遇到的問題,以及對一些重新定義,整個腳本的流程大致如下。
整個測試由兩個腳本構成,一個是負責主要的測試,另一個是由主程式呼叫執行的 Sensor Log 的腳本。其實,Sensor Log 也可以放進主程式,但只是覺得 Sensor Log 常修改,乾脆獨立出來,也可以作為一般測試使用。
不過,客人也沒跟我說 Criteria 是多少,所以,我就將數據整理給客戶,讓他們自己去看吧。後處理的部分,就留待有空再聊,以及湊湊版面吧....
2024年12月30日 星期一
2024年12月24日 星期二
[閒聊 ] ChatGPT
非長久的一段時間沒更新了,趁現在大致上事情應該忙得差不多的時候,聊聊最近在忙的東西。
前陣子一直在忙關於 Thermal Interface Material Reliability Test 的相關的一些測試,包含測試工具,設定,測試的流程,測試腳本和資料的此裡,諸如此類的東西,繁而都沒在做設計的工作。從剛開始的測試軟體,已經測了大概有兩到三個月的時間吧? 結果客人那邊換了人接手後又推翻了,也就是這兩三個月算是做白工。接下來就是更換測試軟體,定義整個測試流程,如何儲存資料,架設祭器,到正式上線測試。我想這整個部分,留待下次再介紹。這次先聊一下 ChatGPT。
由於小弟我口袋空空,所以只能用免費版的 ChatGPT。再剛開始用 ChatGPT 的時候,只會跟 ChatGPT 聊天打屁,問問習近平是不是獨裁者之類的,不過,這一類的話題,不僅 ChatGPT 不會回答,甚至其他聊天機器人也不會回答,看來習近平的勢力還是無遠弗屆的。離題了....後來聽說,ChatGPT 可以幫忙寫程式,我就找 ChatGPT 幫我寫程式了,尤其是詢問一些 Linux 的指令,對 ChatGPT 一點難度都沒有。恰巧,TIM Reliability Test 測試數據需要處理(實際上好像另外有人會處理,我只需要上傳測試數據就可以了?),索性就叫 ChatGPT 幫我搞個 Linux 腳本。
在此,先說明一下測試數據這一部分,後面便不再說明了。由於測試會持續非長久的時間,當初預計是測試三個月,現在已經延長到五個月了。而客人那邊怕機器有問題,或者說儲存裝置有問題而使得資料遺失,所以,每測試 2000 個 Cycle 後,就要另外存成一個檔案,當然還有另外一個原因是,原本儲存的數據是用 redfish 把所有資料不管三七二十一全部儲存下來,所以資料量非常龐大,沒測試多久,就把儲存空間塞滿,所以採用了分檔的方式去儲存測試結果。雖然,後來不用 redfish 來儲存結果,但分檔的方式仍舊保留。所以,一個完整的測試結果,就是把分檔的資料把他合併起來。
在測試最前期的時候,由於檔案不多,所以在 Linux 下還,合併檔案還算蠻快的。後來,隨著資料愈來愈龐大,不知道是我的方法錯誤,還是 Linux 下確實不適合? 總之,用 Linux script 來處理,需要花費非常多的時間處理數據,而且,我有二十台的機器要處理。所以,我決定換工具了。
後來,選的工具是 MATLAB。對我來說,Linux script 和 MATLAB 最大的差異是,我多少還受過一點 Linux script 的汙染,而 MATLAB 我則純潔得像白紙一樣 - 一竅不通。所以,只能完全求助 ChatGPT 的協助了。意想不到的是,寫 MATLAB 的腳本對 ChatGPT 也不是件難事。反正 MATLAB 計算能力應該比 Linux script 強上許多,所以,又增加了一些功能,例如,每個 Test Cycle 的 CPU 溫度的最大最小值,每個 CPU HSK Thermal Impedance 的平均值,在 MATLAB 都可以完成,並且這工具也 MATLAB 腳本也用了好長一段時間,都沒什麼問題。直到....最近....
目前,已經測試快四個月了,所以數據的資料量更為龐大,從一台機器的所有數,先從合併檔案,去除無用的數據,時間戳重新編排,取需需要的部分,計算,輸出,光是一台測試機器的數據,就要花超過二十分鐘的時間來處理,這意味著,我愈來愈難準時下班了,所以,進行了第一次的改版,引入平行處理。還是老樣子,叫 ChatGPT 來幫我改吧....
所有的流程都沒改變,唯一不一樣的是改用平行處理的方式,理論上,對 ChatGPT 來說,應該不是件難事,但這看似簡單的東西,確足足讓我踢了好幾次鐵板。ChatGPT 不僅引入平行處理,但也把整個邏輯改掉,也就是說,跑出來的結果是錯誤的。這一部分,我不知道是哪裡的問題。我已經把原本可以正確執行的 code 餵給 ChatGPT,照理說,ChatGPT 應該要可以分析程式的邏輯,將可以平行處理的部分,改為平行處理,結果,我發現我高估他了。ChatGPT 雖然可以分析 code,但邏輯能力似乎沒有我想像的那麼強。最後,我試把程式分成好幾個部分,一個部分,一個部分慢慢做,才拼出完整的 code。但....我又錯了....MATLAB 的平行處理,反而更慢。詢問 ChatGPT 的結果,他的說法是,如果分成三個部分 A B C 同時處理,如果 A 部分先處理完,那麼原本處理 A 的資源,並不會轉到 B C 處理,所以,時間反而更慢。大家不是說 GPU 有多威嗎? 所以,又把腦筋動到 GPU 的身上。
還是一樣,呼叫 ChatGPT,這一次順利多了,因為我只把需要花費最多時間的那一部分改成 GPU 來處理,其他仍是原本的方式,並且取消了一些原本平行處理的部分,所以這一次改 Code,明顯的順利多了。只是,唉....天不從人願,看著處理過程,GPU 負載沒啥動啊....後來詢問 ChatGPT 原因,可能是雖然我的資料量很大,但卡在資料的傳輸上面,但真因是不是這個已經不重要,重要的是,我花了這麼多時間,得到的還是可能無法準時下班,這是不能接受的....
最後,使出大絕招....應該說,我的原始 code 有個大缺點,就是所有的數據都是從頭開始處理,也就是說,這次處理第一筆到第七百筆的數據,下週處理的是第一筆到第一千四百筆的數據,而不是只處理第七百筆到第一千四百筆的數據,所以隨著資料的增加,處理的時間就會愈長。這樣有一個好處,就是我只要把所有分檔放在同一個目錄下,按一下執行,眼睛睜開就好了,算是懶人方式,但缺點就是處理時間回隨著資料增加而增長。所以,目前最終的版本是,針對最花時間的那個步驟,採取只處理新增的部分。缺點是,我必須手動輸入要從第幾筆數據開始處理,以及將新增的數據,手動與就數據合併,但最大的優點是....不僅可以準時下班,還可以去串門子.....
說說結論吧....
1. 目前免費的 ChatGPT 在邏輯上可能沒那麼聰明
2. 如果程式結構龐大,分成不同的部分,一部分一部分慢慢處理。不僅 ChatGPT 較容易解決,在除錯部分也方便許多。
3. 不要一次餵太長的 code,免費的 ChatGPT 吃不完,而且野吐不完整,所以用 2 的方式去處理。
其實,最重要的是,如何將測試數據,取出有用的資料,這才是重點。所以,我是覺得 ChatGPT 最大的協助是,如何從測試數據中,用有效的工具取出有用的數據。我想這才是最重要的。
2024年2月21日 星期三
風扇是阻力還是助力之最終章
應該有好長好長一段沒時間更新了。好像有一些東西要跟大家介紹,卻一直沒有下文,只能說,有機會再介紹吧....
前陣子,客戶出了一個難題給我,氣流通過電源供應器的流量有多少? 而這問題呢,其實很簡單,上 AMCA 量一下,不就結束了? 沒錯,機器已經上 AMCA 量完了,只是結果上,存在著質量不守恆的問題,至於為什麼? 我也不知道,因為不是我量的,而且也不是我量的,只是客戶要我幫忙評估而已。
訂閱:
意見 (Atom)
