#it那些事兒# 都說門外漢可以借助于GPT之類的大模型從零起步迅速掌握并開發出可以商用的系統。
要我說,我第一句話就是:
該吃的苦一點也不會少,缺過的課總是要補。
第二句話就是:
所謂的出師,其實就是把該犯的錯誤都犯一遍,有人出師快其實是他試錯快。如果有人說他沒有犯錯誤,隻能說他還沒學到家,就算現在繞開了以後遲早還是要碰到的。
舉一個淺顯的例子。
GPT給你了一段代碼,你終歸是要搭建開發環境并編譯調試的。
假定你很順利地建好了環境,那麼如果編譯器給你報了如下編譯錯誤,你該怎麼辦呢?
address 0x3fffd538 of section `.bss' is not within region `dram0_0_seg'
Okay, 沒問題,咱接着問GPT怎麼回事。它按圖二回答了你。
你怎麼辦?
你是不是還是得去了解它在說什麼?
你是不是還得有充足的背景知識?
你是不是得做功課?隻不過在GPT的幫助下,你能更快速地做功課罷了。
它是怎麼回事呢?
确實如GPT所說,“嘗試優化代碼,減少記憶體使用量”,它說得對,這種錯誤說白了就是,編譯出來的資料量太大,DRAM 放不下了。
DRAM是什麼?
你是不是得懂一點點編譯原理?
如圖三四所示,這是單片機場景下應用程式的典型(簡化)DRAM 布局。由于 DRAM 位址從 SRAM2 的末尾開始,并向後增加,是以連結階段空間的配置設定從 SRAM2 的末尾開始。
前 8KB(0x3FFA_E000–0x3FFA_FFFF)用作某些 ROM 内置函數的資料空間;
連結器緊接着将已初始化的資料段放在第一個 8KB 存儲器之後;
接下來是未初始化的 .bss 段;
資料段和 .bss 段之後剩餘的記憶體被配置為堆,典型的動态記憶體配置設定一般配置設定至該位置。
是以,這個編譯錯誤就發生于此。
它給了你四個建議,你是不是需要備課才能了解自己下一步做什麼?
你是不是還是得做抉擇?
商用公司裡這種抉擇可不少。
這是不是“該吃的苦一點也不會少,缺過的課總是要補”?
再舉一個淺顯的例子。
話說某年一個雲計算廠商聘用了一位員工。
在業務巡檢系統上,他根據手冊,原本應輸入“last reboot”指令。
結果他看文檔的時候,螢幕上這條指令自動折行了。
他隻看到了後一句“reboot”。
于是當他敲下這句“reboot”,自動化工具就給廣播出去了,于是乎生産環境裡所有節點重新開機!
還是那句話,有人出師快其實是他試錯快。如果有人說他沒有犯錯誤,隻能說他還沒學到家,就算現在讓GPT帶着繞開了以後遲早還是要碰到的。
為什麼?
因為他是沒了解自己在幹什麼的小(sha)白(zi)。