ChatGPT/GPT-4 或将从根本上改变软件工程

这篇具有很好参考价值的文章主要介绍了ChatGPT/GPT-4 或将从根本上改变软件工程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、前言

编程也可能是最容易被 AI 技术取代的工作之一,软件的构建方式将产生根本性的转变。

今年以来,相信大家都听说过 ChatGPT、New Bing 和 GPT-4。

在网上可能也经常看到关于这些技术的一些炒作,它们因某种原因而不好(“它们是随机鹦鹉”,“它们制造虚假信息”,“它们不能推理”,“它可能取代初级开发人员,但不会取代高级开发人员”),虽然从技术上讲是正确的,但缺少了一个更重要的观点:如果你从事写软件相关的业务,这些东西是非常有帮助的

事实上,它们的工作效果非常好,以至于我认为我们正在追踪软件构建方式的根本性转变。这将对几乎所有事情产生剧烈影响。讽刺的是编程也可能是最容易被这些技术取代的工作之一。我们处于一个关键时刻,在资本主义替代我们之前,我们程序员需要理解和适应这些技术。我相信大型语言模型是优秀程序员的范式转变,并开始更详细地介绍了我一直在使用这些模型及其周围应用的见解。

我认为我们正处于软件构建方式的巨大革命的起点。我们还不知道如何完全释放这些工具的潜力:就像刚刚发现了外星拖拉机技术。许多批评家试图将其用作普通的园艺耙,因为它们犁过他们的花坛而对其进行驳斥。

我希望分享一些我在使用 LLMs 编程时获得的见解。我发现,开发实践、方法论和工作流对于知识性工作非常关键,无论是软件、写作还是音乐。因为编程与生产性团队合作密切相关(特别是在我们资本主义的背景下),所以这种实践必须被共享。编程涉及协调个人的工作以创建共同的成果,成功取决于我们如何协调。

我认为使用 LLMs 进行编程将会在软件架构、系统架构、编程实践、沟通模式和组织结构方面带来根本性的变革。这是令人兴奋的时代,因为我们正处于塑造未来编程形态的位置。


二、主要内容

LLMs will fundamentally change software engineering 主要讨论了大型语言模型(LLMs)对软件开发的影响。虽然有人认为 LLMs 会取代程序员,但作者认为 LLMs 是一种革命性的技术,可以改变软件架构、编程实践、沟通模式和组织结构。作者介绍了自己使用 LLMs 的经验,并提出了一些方法论的转变,如编写文档和代码审查成为程序员的必备技能。作者认为,LLMs 将会改变软件开发的方式,程序员需要在资本主义之前适应这种技术。

与 GitHub Copilot X 和 ChatGPT 等结对编程。

帮助 Copilot 输出有效代码

  • 方法论转变#1:写文档,编写清晰简洁的注释,给 LLM 提供在训练集中看到的上下文,从而帮助它推断出正确的答案

  • 方法论的转变#2:白板和橡皮图章,Copilot 生成的代码不需要完全正确,它基于大量优质代码生成的模式能给开发提供非常有益的启发,具体使用时再引导就可以

  • 方法论转变#3:建立更多的原型,向 Copilot 询问话题并让其使用选定的编程语言生成一个完全可运行的例子,对例子进行大量修改就可以快速完成任务

  • 方法论转变#4:建立更多的工具,使用 Copilot 可以在一小时内快速根据需求创建定制化工具,整体加速任务的完成

避免无益的聊天会话,基础知识和能力可能同样重要

  • 方法论转变#5:持续代码审查,一个模型可以观察所构建的软件,推断我们的意图和思维结构,并对其中的方法提供反馈。
  • 方法论转变#6:使用 LLMs 的认知影响,借助 LLMs 处理琐事,有效地减少了认知疲惫感,心情愉悦效率高。

GPT-4 结对编程实战,鹅厂一线研发真实使用感受 主要介绍了如何利用 ChatGPT-4 和结对编程方法,在研发过程中提高效率。作者在工作中应用 ChatGPT-4 来简化编码、重构代码、实现业务逻辑、改 bug 和写单测、取名字等场景,取得了不错的效果。同时,文章也提醒大家在尝试中要注意信息安全。

虽然 ChatGPT 以及类 ChatGPT 工具并不能完全替代工程师编码,但在很多繁琐且不需要交代太多背景的独立工作上,GPT-4 还是完成的非常不错的。作为一个技术人员,尝试下与 GPT-4 结对编程的方式,有可能在某些方面真的能大大提升自身生产效率。

Twitter 上 @advany 分享了一个 PK 项目,带我们一起看看 AI 给编程和产品开发带来的巨大影响,并对比二人的开发速度、开发工作量、测试工作量、后期运维成本等。

ChatGPT/GPT-4 或将从根本上改变软件工程

两位程序员独立开发产品 MVP 进行,其中:

  • Alex:来自德国,19 年经验,纯编程
  • Hamid:来自巴基斯坦,4 年经验,编程 + Copilot + GPT-4 + no-code

Hamid 在 AI 的帮助下,不到一周就完成了初版,实现了 100% 的代码测试覆盖率和无代码部分的端到端测试,任务几乎完成了 95%。花费清单如下:

ChatGPT/GPT-4 或将从根本上改变软件工程

19 年资深码农 VS 编程新手 + AI,开发效率人类完败!!

可以看到这其中有着显著的效率和成本差异,Alex 开发完整项目的成本约 60k,而 Hamid 仅仅需要 2.8k,这样巨大的差异足以判断该选择哪种方式,虽然 Alex 开发产品的运维成本稍低一点。Alex 将被「解雇」,更多像 Alex 的程序员也是时候做出改变了!


📚️ 参考链接:文章来源地址https://www.toymoban.com/news/detail-494106.html

  • LLMs will fundamentally change software engineering
  • GPT-4 结对编程实战,鹅厂一线研发真实使用感受
  • Ab Advany - AI 给编程和产品开发带来的巨大影响
  • 沈向洋:致 AI 时代的我们 —— 请不要忽视写作的魅力

到了这里,关于ChatGPT/GPT-4 或将从根本上改变软件工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ChatGPT-4 如何改变 AI 市场及其对未来的影响?GPT版本及其差异

    GPT-1 对比 GPT-2 对比 GPT-3。Chat GPT (Generative Pre-trained Transformer) 是一种高级自然语言处理模型,它使用机器学习算法来生成看起来像人类所写的文本。GPT模型的发展彻底改变了人工智能领域,特别是在语言处理领域。 多年来,已经发布了多个版本的 GPT 模型,每个版本都具有独

    2023年04月11日
    浏览(28)
  • 提高ChatGPT稳定性:告别GPT网页登录使用PC软件进入GPT

    一:GPT时不时断线 在日常生活中,我们经常需要使用智能语言模型来辅助我们完成各种任务。而ChatGPT作为一款非常优秀的智能语言模型,被广泛应用于各个领域。然而,使用ChatGPT的过程中,我们不可避免地会遇到一个非常让人头疼的问题——ChatGPT经常断线。这个问题不仅使

    2024年02月04日
    浏览(45)
  • 2023金三银四,软件测试根本找不到工作......

    最近有粉丝说:软件测试找工作怎么这么难? 最近上传了简历,却发现,工作真难找,尤其是上海。打开boss直聘,基本都是外包跟我打招呼,而且第一句都是问我是不是学信网可查全日制学历,确认我是全日制公办本科学信网可查学历后,才接收了我的简历。接受了我简历

    2024年02月12日
    浏览(31)
  • 三个免费的ai绘画生成软件,好用到根本不想停

    之前有段时间我特别沉迷于ai绘画软件,无论是它的技术还是图片的生成效果都让我惊喜无比,玩得停不下来!但是如果你有去搜索过,或者尝试下载软件玩过的话,你就会发现,大部分的软件都是要付费的。所以,我今天就要把我私藏的实用软件分享给你们,让你们知道a

    2024年02月10日
    浏览(45)
  • 软件测试03:软件工程和软件生命周期

    软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 基本软件危机对于计算机发展的阻碍,1968年,在联邦德国召开的国际会议,北大西洋公约组织的计算机科学家讨论软件危机问题。提出了 软

    2024年02月08日
    浏览(50)
  • 【软件工程】软件工程习题及答案

    软件工程是一种系统化、规范化的方法论,用于开发、维护和管理软件项目。它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试、部署、维护和项目管理等。 软件工程通过应用科学原理、工程技术和管理方法,以及适应性的实践,旨在提高软件开发的效率、质

    2024年02月09日
    浏览(60)
  • 【软件工程】《软件工程》期末复习提纲

    《软件工程》期末复习提纲 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第十一章 第十二章 第十三章 第十四章 小题参考 大题参考 1.在下列选项中,( )不是软件的特征。 A.系统性与复制性         B.可靠性与一致性 C.抽象性与智能性  

    2024年01月17日
    浏览(40)
  • 【软件工程】软件工程期末考试试卷

    瀑布模型把软件生命周期划分为八个阶段 :问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段: 计划阶段、开发阶段和( C) 。   A、详细计划 B、可行性分析  C 、 运行阶段  D、 测试与排错

    2024年02月09日
    浏览(41)
  • 【软件工程】软件测试

    软件=程序+文档 测试对象:各个阶段产生的源程序和文档。 基于不同的立场,对软件测试的目的存在着两种完全对立的观点。 (1)一种观点是通过测试暴露出软件中所包含的故障和缺陷(从用户的角度); (2)另一种是希望测试成为表明软件产品中不存在错误的过程,验证该

    2024年02月13日
    浏览(53)
  • 软件与软件工程

    软件的概念以及特点: 软件是计算机系统中不可或缺的一部分,与硬件共同构成特定的系统功能。 人们通常把各种不同功能的程序,包括系统程序、应用程序、用户自己编写的程序等称为软件 软件的概念: 软件不仅包括程序,还包括程序的处理对象——数据,以及与程序开

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包