#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)。