当前位置:首页 > 芯闻号 > 极客网
[导读]事实表明,AI无法替代开发者,但更适用于优秀的开发者。而识别大型语言模型(LLM)生成的代码什么时候会出错,需要开发人员具有丰富的知识和经验。

事实表明,AI无法替代开发者,但更适用于优秀的开发者。而识别大型语言模型(LLM)生成的代码什么时候会出错,需要开发人员具有丰富的知识和经验。

软件工程师David Showalter在谈到AI编程时表示:“目前,AI模型在帮助编程人员提高工作效率方面表现出色。”那么,这一观点是否站得住脚?Showalter的言论实则是对AI专家Santiago Valdarrama的回应——他认为大型语言模型(LLM)作为编码助手目前还不完全可靠。Valdarrama说:“除非LLM给我们同样的保证(就像编程语言一样让计算机始终响应命令),否则它们只能被视为华而不实的‘炫技’, 对多数应用程序的开发来说并无实际价值。”他的观点颇具见地,LLM在如何回应提示方面显然是不一致的,即使是同一提示可能会得到截然不同的回应。因此,Showalter的看法可能过于乐观:虽然AI模型在辅助开发人员编写更多代码方面有不俗的表现,但这并不等同于能够生成高质量的可用代码。

AI和软件开发成功的关键在于敏锐地识别那些潜在的不完善之处。许多开发人员并没有意识到这一点,他们过于依赖LLM的输出结果。正如计算机科学网站HackerNews的一位评论员所说,“我想知道的是,用户对于ChatGPT的信任有多少是建立在那些看似完美无缺的示例之上的……尤其是对于特定类型的用户来说。”为了能够在软件开发中有效地使用AI,开发人员需要足够的经验判断LLM的输出什么时候可能不够准确或存在误导。

并没有简单的解决方案

关于LLM在软件开发中的应用和表现存在不同的看法。正如HackerNews网站的一些评论所展示的那样,许多开发人员并不赞同过度依赖LLM的输出。他们反驳的理由通常归结为:“当然,开发人员不能盲目地信任LLM的输出,就像他们不会无条件地信任在Stack Overflow上找到的代码,或者完全依赖集成开发环境(IDE)等工具一样。”

就目前而言,这种看法是正确的,但现实往往并不尽如人意。例如,虽然开发人员不应该完全相信他们使用的集成开发环境(IDE),但IDE在处理基本编程任务时具备一定程度的准确性和稳定性,例如不会随意“破坏”程序或弄乱Lisp括号。ChatGPT很可能会出错,但是IDE很少出现这种情况。

对于堆栈溢出(Stack Overflow)上的代码来说,可能有不同的使用方式。有些开发人员可能会直接复制粘贴代码,而不进行检查。但明智的开发人员则会采取更为审慎的态度。他们会首先查看有关代码的评论,以评估其质量和适用性。

LLM的输出并不包含这样的信号。正如一位开发人员所建议的那样,“将Stack Overflow和LLM的输出都视为可能是错误的结果,并且可能是由经验不足的开发人员编写的代码。”这是一种明智的做法。即使存在错误,这些代码片段或建议也可能为提供有价值的启示,帮助开发人员朝着正确的方向前进。

同样,这需要开发人员具备足够的经验以识别Stack Overflow的代码示例或LLM生成的代码是否存在错误。或者开发人员足够明智,只将这些代码用在“200行样板文件”或“React页面中的大表”等常见的场景中。在这些场景中,可以不必完全信任这些代码,只需在完成之后进行测试即可。

总之,正如一位开发人员所总结的那样,“我对LLM的信任程度就像我对初级开发人员或实习生的信任一样。我会给它分配一些我知道如何完成的任务,以此验证其准确性,但不会在这些任务上花费过多的时间。这无疑是最佳的策略。从AI中获益最大的开发人员是那些明智的人,他们知道LLM什么时候可能会出错,但同时也能从中得到一些好处。”

寻求正确使用的方法

开源Python工具Datasette创始人Simon Wilison曾经提出这样的观点,“从AI中获得最佳结果实际上需要大量的知识和经验,因为很多都归结于直觉。”他建议经验丰富的开发人员测试不同LLM的局限性,以衡量它们的相对优势和劣势,即便一些LLM模型表现不尽如人意,仍然可以利用其价值。

初级开发人员如何有效利用AI进行编程?AWS AI开发者体验主管Doug Seven表示,像Amazon Q Developer(前身为CodeWhisperer)这样的编码助手,对经验不足的开发人员同样可以提供帮助。这些工具能够为他们提供有价值的建议,帮助他们明确编程思路,从而减少编程过程中频繁向他人求助的需求。

也许正确的答案是:取决于具体情况!

而且重要的是,软件开发的理念通常不是“更快、更多地编写代码”。实际上,优秀的开发人员编写代码的时间很少,而花费更多的时间思考需要解决的问题以及如何找到最佳解决方案。LLM可以在这方面提供帮助,正如Willison所指出的那样:“ChatGPT(以及GitHub Copilot)为我节省了大量的‘深思熟虑’的时间。从在Bash中编写For循环到记住如何在Javascript中进行跨域CORS请求,我甚至不需要再查找其他资料。”

声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭