文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

为何大语言模型不会取代码农?

2024-11-30 00:06

关注

审校 | 重楼

生成式人工智能(GenAI)会取代人类程序员吗恐怕不会。不过,使用GenAI的人可能会取代程序员。但是如今有这么多的大语言模型(LLM),实际效果不一而足

如果在努力跟上所有LLM,并非只有您一个。我们目睹一场激烈的LLM竞赛。单单谷歌的GenAI产品已经变得非常丰富——最新的开放模型Gemma是LLM快速精简的最新例子,甚至可以称之为小语言模型

DevOps社区更密切相关的是我们看到其他用于生成代码的LLM闪电般的开发速度,比如Meta最近更新的Code Llama 70B。当然,GenAI了不少开发者。最近的一项研究发现,近一半的开发者于自己凭借目前的技术技能在GenAI界取得成功表示担忧。

这种担心真的有道理吗关于人类程序员死的说法可能夸大其辞了。人类甚至可能实际上有更多的时间来准备迎接GenAI主导的世界。

事实上,开发者应该询问的更适当的问题不是GenAI会抢走我的工作吗?”,而是我该使用哪个LLM?”

太庞大了,编程没法成功

LLM软件开发界的承诺是有望将码农变成架构师。然而,并非所有LLM都天生一样;值得探讨的是,为什么一开始就涌现了较小巧LLM

强大的主流模型(比如GPT-4Claude 2仍然只能勉强解决不到5%的实际GitHub问题。ChatGPT仍然存在严重的幻觉问题:假变量,或者甚至十多年前就已经被弃用的概念。此外,它让没用的内容看起来很有用。您可以尝试利用提示工程来摆脱这些没用的内容,但是有益的上下文数量存在一个最佳平衡——太多会导致更混乱随机的结果,白白耗费了更多的处理能力。

LLM编程方面更大的问题是信任。在过去,主流LLM不加区别地吸收网上的一切内容,就像一个大型数字吸尘器,至于它们从哪里获取数据缺乏透明度。哪怕一家公司交付的代码中仅仅1%含有另一家公司的受版权保护的代码,这也是个问题。您可以想象噩梦般的召回场景:交付的产品没有无线传输功能挑出可疑代码。

不过,LLM格局正在迅速改变。

LLM对于编码够专业吗?

当Meta在今年早些时候宣布对其Code Llama 70B进行更新时,感觉这是受欢迎的尝试,有望解决主流LLM对编码缺乏关注的问题。它有三种不同大小的版本:70亿个参数、130亿个参数和340亿个参数。它还使用代码的5000亿个token和与代码相关的数据进行训练,包含10万个token庞大上下文窗口。

从理论上讲,其中最令人兴奋的是Code Llama Python,这是专门为Python设计的Code Llama版本——主要是由于它代表了LLM未来的发展方向。与Meta的大型科技同行开发的一些模型不同,这个模型完全致力于一种特定的语言编程,使用Python代码的大约1000亿个额外token进行训练业界更加需要的正是针对特定用例的这种级别的定制建模。

之所以需要强调理论上令人兴奋”,是由于像Code Llama这样的LLM对开发者到底有多用还有待观察。去Reddit看看,就会发现早期的结论似乎是,该模型因诸多问题而令人沮丧,其中包括复杂的提示格式、过于严格的护栏,最重要的还有幻觉问题。最后一点是另一个不争的事实,提醒人们:任何模型的好坏完全取决于训练它所使用的数据。

不管是否存在缺陷,Meta的定制LLM方法已经引起了人们的重视,即大语言模型并不是AI辅助代码生成取得成功的唯一途径。我们看到,业界越来越青睐使用规模较小、更专门化的LLM编写代码,比如BigCode、Codegen和CodeAlpaca。StarCoder是另一个LLM,尽管只有155亿个参数,但在评估基准测试表现却胜过PaLMLaMDA和LLaMA等大模型。

每一种选择都有优缺点,但最重要的是,小模型用起来比大模型安全得多。如果在用C++编程,果真需要您的LLM充斥着一大堆不相关的知识(比如“谁是美国第三任总统?”)吗?数据池越小,保持内容的相关性就越容易,模型的训练成本就越低,无意中窃取他人受版权保护数据的可能性也就越小。

2024年的DevOps团队应该彻底研市上所有可用的LLM选项,而不是默认选择最明显的选项。甚至可能有必要针对不同的用例使用不止一种LLM。

但回到当前存在问题……

GenAI会取代人类吗?

这些GenAI工具有可能代替真正程序员吗?除非模型提供的编程答案具有的准确性提高可接受的误差范围内即98%-100%,否则可能代替不了

不过为了便于讨论,我们假设GenAI确实达到了这个误差范围。那么这是否意味着软件工程的角色将发生转变,只需审查和验证AI生成的代码,而不是编写代码如果四眼原则(four-eyes principle)适用的话,这样的假设可能是错误的。这是内部风险控制最重要的机制之一,要求任何实质性风险的活动比如交付软件都要由第二个、独立的、有能力的人进行审查和复核。除非AI被重新归类一种独立的、有能力的生命,否则它短期内应该没有资格成为四眼原则中的另一双眼睛。

如果GenAI将来有能力进行端到端开发和构建人机界面,那也不会是在不久的将来。LLM可以充分地与文本和图像元素进行交互。甚至现在就有工具可以将网页设计转换成前端代码。然而与编码相比,AI单独承担与图形和UI/UX工作流程相关的设计要困难得多尽管并非不可能。编码也只是开发的其中一部分。剩工作就是另辟蹊径,弄清楚谁是受众,将想法转化为可构建的产品,然后加以完善和改进,是人类发挥作用的地方。

不管LLM变得有多好,对于程序员来说,有一条原则应该始终不变:像对待自己编写的代码一样对待每一段代码。同行评审,询问同事这是好的代码吗?”。永远不要盲目相信代码

原文Why Large Language Models Won’t Replace Human Coders,作者:Peter Schneider

来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯