如何使用ChatGPT掃描17萬行代碼,節省數小時工作時間
首先,簡單介紹一下3D打印的背景
我們這次的主題是3D打印。3D打印中的一個特殊測試叫做3DBenchy,通過幫助用戶測試速度和各種打印質量指標來檢查打印機性能,大多數打印機需要一到兩個小時才能完成。我最近測試了一台新的打印機,據說比其他很多都快。在這台打印機上,Benchy只用了42分鐘,而在Fab Lab的其他3D打印機上,則需要60到70分鐘。然而,公司提供的測試版本只用了16分鐘,這差別可不小。
3D打印機是由G-code控制的,這是一種由稱為切片器的工具生成的程序,控制打印機如何移動打印頭和打印平台,加熱,以及進行熔融絲材的進給和回縮。工廠提供的預先切片的G-code使打印時間為16分鐘,而我使用公司的切片器生成的G-code則用了42分鐘。我想知道為什麼會有這樣的差異。
不幸的是,公司的支持團隊沒有人能回答我的問題。儘管多次嘗試,我仍無法獲得關於需要更改哪些切片器設置的答案,以使我生成的G-code能夠像他們的G-code一樣高效。
AI能幫上忙嗎?
這時候,ChatGPT登場了。G-code由數千行代碼組成,例如:
“`
G1 X122.473 Y140.422 E4.23368
G1 X122.222 Y140.6 E4.24443
G0 F14400 X122.703 Y140.773
“`
兩個Benchy G-code文件總共有超過17萬行代碼。我不打算花整個星期六下午手動查看這些東西,但我想,也許AI可以幫忙。
我將我使用切片器生成的G-code和工廠提供的G-code都輸入了ChatGPT Plus。我首先確認ChatGPT能夠閱讀這些文件。上傳每個文件後,我問:
你能讀這個嗎?
ChatGPT確認說:“我可以讀取文件內容。它似乎是一個G-code文件,通常用於控制3D打印機。”這是一個好的開始。
為了確保我們清楚哪個文件是哪個,我給ChatGPT一些標籤:
我們把第一個上傳的文件稱為“常規打印”,第二個上傳的文件稱為“快速打印”。可以嗎?
AI同意了,所以我告訴它:
描述這些文件的不同之處。
除了將其中一個文件命名為“快速打印”,我沒有給ChatGPT任何我想要尋找的提示。即便如此,AI識別出一個打印的速度更快,雖然溫度設置相同。
然後我問AI:
為什麼“快速打印”會快這麼多?
這時,ChatGPT開始讓我有些懊惱。它沒有從我提供的代碼中給出詳細信息,而是進行了推測。AI使用了“可能”、“也許”和“可能會”等詞語來描述為什麼打印速度更快。
但我給了它描述打印機正在做什麼的G-code文件,所以我希望能得到一個確切的答案。與ChatGPT的對話就像和一位有才華但有點固執的研究生交流。
為什麼正確的提示至關重要
我最終找到這個提示,得到了可行的答案:
提供的G-code是這些打印唯一不同的地方。僅使用提供的G-code進行比較,哪些切片器設置會不同?不要推測其他設置,僅基於提供的代碼進行分析。
ChatGPT識別了三個關鍵因素:
1. 常規打印的G-code顯示進給速度通常在2400 mm/min到3400 mm/min之間。快速打印的G-code顯示更高的進給速度,有些命令達到了14400 mm/min。這一速度顯著提高了打印速度,直接減少了打印時間。
2. 與常規打印的0.2 mm層高相比,快速打印設置了0.25 mm層高,減少了完成打印所需的層數。
3. 快速打印的G-code包含更激進的加速度設置,使打印機能更快地達到和保持更高速度,從而加快打印速度。
這一結果很有趣。我想知道公司是否手動優化了G-code或直接在切片器中生成它。所以,我問ChatGPT:
你能告訴我快速打印是否是手動編碼的,還是由切片器生成的嗎?或許可以查看不一致的命令或非標準註釋。
AI回應了三個有趣的考慮:
1. G-code命令的變化,如進給速度的變化、不同移動命令之間的切換和其他參數的改變,都是切片器生成代碼的典型特徵。這些變化旨在優化打印過程,符合切片器行為的特徵。
2. 如果G-code是手動編碼的,我們會預期看到更多不規則和不可預測的模式,但這些過渡遵循邏輯順序,是切片器優化過程的特徵。
3. 因此,這些命令的存在並不表明手動編碼;相反,支持這些G-code是由切片器生成的結論。
這些結果告訴我,用戶可能可以修改其切片器設置以獲得類似的性能。
評論中的一些想法
這篇文章的評論非常活躍。我大多數時候都會進去並回答問題。我鼓勵大家訪問評論區參與討論,閱讀其他讀者對此話題的看法。
以下是一些評論激發的想法:
– 你不必使用AI來解決這些問題。但看到AI如何處理不同類別的問題是有啟發性的,所以我鼓勵你使用聊天機器人,即使只是看看它們能做什麼。然後,你會有一個未來可以使用的工具。
– 我通常使用ChatGPT Plus進行這些測試。免費版本可以完成一些工作,但由於它在過多互動後會限制使用,如果我想按時完成文章,我需要完全訪問聊天機器人。
– 嘗試從聊天機器人中獲得答案時,我通常會把它當作一位有才華的學生或員工。有時,我甚至會使用“請”和“謝謝”來保持對話語氣。但正如你與任何人交談時可能會分心或固執地拒絕理解你的觀點一樣,不斷嘗試,改變問題的方式,並澄清,即使你認為你澄清的內容應該是顯而易見的。
– 使用AI可能顯得懶惰,但它們也能節省時間。幾乎任何你能在車間用電動工具完成的事情,你也可以用手動工具完成。有時候你想專注於藝術。有時候,你只是想完成,以便晚上能有足夠的睡眠時間。如果一個工具能給你帶來優勢,永遠不要猶豫使用它。但請記住,如果你的工作輸出明確禁止使用這些工具(例如,我們從不使用AI撰寫ZDNET的文章),那麼不要使用該工具。
– 在上傳到AI的內容時務必小心。並非所有內容都是公司或其他機密的。但有些內容是。我上傳的大部分內容都是我自己的數據,或者像這種情況一樣,是已經公開發表的內容。
– 我不總是有機會回應評論,但我會嘗試。有時,人們會在文章發佈後的幾天、幾週甚至幾個月後發布評論,而我已經轉向其他文章。但我總是歡迎讀者的評論。因為大多數ZDNET的讀者都是專業人士,評論中往往充滿了有用的信息(即使偶爾讓人讀起來痛苦)。我從ZDNET的評論中學到了很多,我相信你也會如此。
我們學到了什麼?
我們了解到ChatGPT能理解G-code。這並不意外,因為在我最早的測試中,我們了解到ChatGPT對即使是最晦澀的編程語言也有相當好的掌握。我們還了解到ChatGPT可以在幾秒鐘內篩選和比較超過17萬行的機器指令並得出可行的結論。
最後,我們學會了可以使用像ChatGPT這樣的AI從多個角度探討複雜問題。ChatGPT不僅解釋了兩個文件之間的巨大速度差異,還能夠驗證工廠提供的文件是否經過手動調整。
總結來說,不要把AI告訴你的內容當作絕對真理。不要基於其答案做出關鍵決策。記住,有時你需要與AI協商,才能獲得有用的答案。
這次測試是我能夠在不需要編碼的情況下,在幾分鐘內找到非常特定問題答案的又一例子。
如果你有一個需要大量文本或數據分析的問題,考慮用ChatGPT或其他AI解決。你可能會在幾分鐘內得到一個有用的答案。
編者評論
這篇文章展示了AI在處理複雜數據分析時的潛力,尤其是在G-code這類技術性極強的領域。AI的應用不僅能提高效率,還能提供新的視角。然而,依賴AI的同時,我們也必須保持批判性思考,不能盲目接受其結果。對於香港的科技愛好者和專業人士來說,這樣的技術應用無疑提供了值得探索的新方向和工具。未來,我們應該更多地考慮如何將AI工具有效地整合到日常工作中,同時確保數據和隱私的安全。
以上文章由特價GPT API KEY所翻譯