ChatGPTChatGPT 会取代开发人员吗?

Posted 禅与计算机程序设计艺术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ChatGPTChatGPT 会取代开发人员吗?相关的知识,希望对你有一定的参考价值。

Will ChatGPT Replace Developers? 

ChatGPT 会取代开发人员吗?

AI is buzzing again thanks to the recent release of ChatGPT, a natural language chatbot that people are using to write emails, poems, song lyrics and college essays. Early adopters have even used it to write Python code, as well as to reverse engineer shellcode and rewrite it in C. ChatGPT has sparked hope among people eager for the arrival of practical applications of AI, but it also begs the question of whether it will displace writers and developers in the same way robots and computers have replaced some cashiers, assembly-line workers and, perhaps in the future, taxi drivers. 
由于最近发布的 ChatGPT,AI 再次流行起来,这是一种自然语言聊天机器人,人们用它来写电子邮件、诗歌、歌词和大学论文。早期采用者甚至用它来编写 Python 代码,以及反向工程 shellcode 并用 C 重写它。 ChatGPT 点燃了渴望 AI 实际应用到来的人们的希望,但它也引出了一个问题,即它是否会像机器人和计算机取代一些收银员、流水线工人一样取代作家和开发人员,也许在未来,出租车司机。

It’s hard to say how sophisticated the AI text-creation capabilities will be in the future as the technology ingests more and more examples of our online writing. But I see it having very limited capabilities for programming. If anything, it could end up being just another tool in the developer’s kit to handle tasks that don’t take the critical thinking skills software engineers bring to the table.
随着该技术吸收越来越多的在线写作示例,很难说 AI 文本创建功能在未来会有多复杂。但我认为它的编程能力非常有限。如果有的话,它最终可能只是开发人员工具包中的另一个工具,用于处理不需要软件工程师带来的批判性思维技能的任务。

ChatGPT has impressed a lot of people because it does a good job of simulating human conversation and sounding knowledgeable. Developed by OpenAI, the creator of the popular text-to-image AI engine DALL-E, it is powered by a large language model trained on voluminous amounts of text scraped from the internet, including code repositories. It uses algorithms to analyze the text and humans fine-tune the training of the system to respond to user questions with full sentences that sound like they were written by a human.
ChatGPT 给很多人留下了深刻的印象,因为它在模拟人类对话和听起来知识渊博方面做得很好。它由流行的文本到图像 AI 引擎 DALL-E 的创建者 OpenAI 开发,它由一个大型语言模型提供支持,该模型根据从互联网上收集的大量文本(包括代码存储库)进行训练。它使用算法来分析文本,然后人工对系统的训练进行微调,以用听起来像是人类写的完整句子来回答用户问题。

But ChatGPT has flaws—and the same limitations that hamper its use for writing content also render it unreliable for creating code. Because it’s based on data, not human intelligence, its sentences can sound coherent but fail to provide critically-informed responses. It also repurposes offensive content like hate speech. Answers may sound reasonable but can be highly inaccurate. For example, when asked which of two numbers, 1,000 and 1,062, was larger, ChatGPT will confidently respond with a fully reasoned response that 1,000 is larger.
但 ChatGPT 也有缺陷——阻碍其用于编写内容的相同限制也使其在创建代码时不可靠。因为它是基于数据而不是人类智慧,所以它的句子听起来连贯,但无法提供批判性的知情回应。它还重新利用仇恨言论等攻击性内容。答案可能听起来很合理,但可能非常不准确。例如,当被问及 1,000 和 1,062 这两个数字中哪个更大时,ChatGPT 会自信地做出完全合理的回答,即 1,000 更大。

OpenAI’s website provides an example of using ChatGPT to help debug code. The responses are generated from prior code and lack the capability to replicate human-based QA, which means it can generate code that has errors and bugs. OpenAI acknowledged that ChatGPT “sometimes writes plausible-sounding but incorrect or nonsensical answers.” This is why it should not be used directly in the production of any programs.
OpenAI 的网站提供了使用 ChatGPT 帮助调试代码的示例。响应是从先前的代码生成的,缺乏复制基于人的 QA 的能力,这意味着它可以生成有错误和错误的代码。 OpenAI 承认 ChatGPT“有时会写出看似合理但不正确或荒谬的答案。”这就是为什么它不应该直接用于任何程序的制作。

The lack of reliability is already creating problems for the developer community. Stack Overflow, a question-and-answer website coders use to write and troubleshoot code, temporarily banned its use, saying there was such a huge volume of responses generated by ChatGPT that it couldn’t keep up with quality control, which is done by humans. “​​Overall, because the average rate of getting correct answers from ChatGPT is too low, the posting of answers created by ChatGPT is substantially harmful to the site and to users who are asking or looking for correct answers.”
缺乏可靠性已经给开发者社区带来了问题。 Stack Overflow 是一个编码人员用来编写和排除代码故障的问答网站,暂时禁止使用它,称 ChatGPT 生成的响应量如此之大,以至于它无法跟上质量控制,而质量控制是由人类。 “总的来说,由于从 ChatGPT 获得正确答案的平均比率太低,发布由 ChatGPT 创建的答案对网站以及正在询问或寻找正确答案的用户来说是非常有害的。”

Coding errors aside, because ChatGPT—like all machine learning tools—is trained on data that suits its outcome (in this case, a textual nature), it lacks the ability to understand the human context of computing to do programming well. Software engineers need to understand the intended purpose of the software they’re creating and the people who will be using it. Good software can’t be built by cobbling together programs with regurgitated code.
撇开编码错误不谈,因为 ChatGPT 与所有机器学习工具一样,是根据适合其结果的数据(在本例中为文本性质)进行训练的,它缺乏理解人类计算环境的能力,无法很好地进行编程。软件工程师需要了解他们正在创建的软件的预期目的以及将使用它的人。好的软件不能通过将程序与反反复复的代码拼凑在一起来构建。

For example, ChatGPT cannot understand the ambiguity in simple requirements. Although it is clear that if one ball just bounces and comes back but another bounces and then bounces again, the second ball has traveled further, ChatGPT struggles with this nuance; that nuance will be needed if these systems are ever to take over from developers.
例如,ChatGPT 无法理解简单需求中的歧义。虽然很明显,如果一个球刚刚反弹回来,而另一个球反弹然后再次反弹,那么第二个球已经飞得更远,ChatGPT 在这种细微差别上挣扎;如果这些系统要从开发人员手中接管,就需要这种细微差别。

It also has trouble with basic math, such as when it’s asked to determine which is greater and offered a choice between a negative and positive number. ChatGPT confidently tells us a correct summation of the space, but cannot understand that -5 is less than 4. Imagine your thermostats going haywire because the heating kicks on at 40 degrees Celsius instead of at -5 degrees Celsius because the AI program coded it that way! 
它在基础数学方面也有问题,例如当它被要求确定哪个更大并提供负数和正数之间的选择时。 ChatGPT 自信地告诉我们空间的正确总和,但无法理解 -5 小于 4。想象一下你的恒温器失控了,因为加热在 40 摄氏度而不是 -5 摄氏度开始,因为人工智能程序编码它方式!

Pre-trained AI code generation also raises some legal questions with regard to intellectual property rights; it cannot currently distinguish between code that is licensed in a restrictive or open fashion. This could expose people to licensing compliance risk if the AI borrows a prewritten line of code from a copyrighted repository. The problem has already prompted a class action lawsuit against a different OpenAI-based product called GitHub Copilot.
预训练的 AI 代码生成也引发了一些与知识产权有关的法律问题;它目前无法区分以限制性方式或开放方式获得许可的代码。如果 AI 从受版权保护的存储库中借用预先编写的代码行,这可能会使人们面临许可合规风险。这个问题已经引发了针对另一种基于 OpenAI 的产品 G​​itHub Copilot 的集体诉讼。

We need humans to create the software people rely on, but that’s not to say there couldn’t be a place for AI in software development. Just like automation is being used by security operations centers for scanning, monitoring and basic incident response, AI could serve as a programming tool for handling lower-level tasks. 
我们需要人类来创建人们所依赖的软件,但这并不是说人工智能在软件开发中没有一席之地。就像安全运营中心使用自动化来扫描、监控和基本事件响应一样,人工智能可以作为处理低级任务的编程工具。

This is already happening, to an extent. GitHub Copilot allows developers to use ChatGPT to improve their code, add tests and find bugs. Amazon offers CodeWhisperer, a machine language-powered tool designed to help increase developer productivity using code recommendations generated by natural language comments and code in the integrated environment. And someone has created a Visual Studio code extension that works with ChatGPT.  
在某种程度上,这已经在发生。 GitHub Copilot 允许开发人员使用 ChatGPT 来改进他们的代码、添加测试和查找错误。 Amazon 提供 CodeWhisperer,这是一种机器语言驱动的工具,旨在使用集成环境中的自然语言注释和代码生成的代码推荐来帮助提高开发人员的工作效率。并且有人创建了与 ChatGPT 一起使用的 Visual Studio 代码扩展。

And one company is testing AI for developers. DeepMind, which shares a parent company with Google, released its own code generation tool, dubbed AlphaCode, earlier this year. DeepMind published the results from simulated evaluations in competitions on the Codeforces platform in Science magazine earlier this month under the headline Machine Learning systems can program too. Headline grammar aside, AlphaCode achieved an estimated rank within the top 54% of participants by solving problems “that require a combination of critical thinking, logic, algorithms, coding, and natural language understanding.” The abstract for the paper says: “The development of such coding platforms could have a huge impact on programmers’ productivity. It may even change the culture of programming by shifting human work to formulating problems, with machine learning being … responsible for generating and executing codes.” 
一家公司正在为开发人员测试 AI。与谷歌共享母公司的 DeepMind 在今年早些时候发布了自己的代码生成工具,名为 AlphaCode。本月早些时候,DeepMind 在《科学》杂志的 Codeforces 平台上发表了竞赛模拟评估的结果,标题为“机器学习系统也可以编程”。除了标题语法,AlphaCode 通过解决“需要结合批判性思维、逻辑、算法、编码和自然语言理解”的问题,估计在参与者中排名前 54%。该论文的摘要称:“此类编码平台的开发可能会对程序员的生产力产生巨大影响。它甚至可能通过将人类工作转移到制定问题上来改变编程文化,而机器学习……负责生成和执行代码。”

Machine learning systems are becoming increasingly advanced each day; however, they cannot think like the human brain does. This has been the case for the past 40+ years of study into artificial intelligence. While these systems can recognize patterns and increase productivity for simple tasks, they may not always produce code as well as humans. Before we let computers do code generation en masse, we should probably see systems like AlphaCode rank in the top 75% of participants on a platform like Codeforces, though I fear this may be too much for such a system. In the meantime, machine learning can help with simple programming problems in the future, allowing developers of tomorrow to think of more complex issues.
机器学习系统每天都变得越来越先进;但是,它们不能像人脑那样思考。在过去 40 多年的人工智能研究中,情况就是如此。虽然这些系统可以识别模式并提高简单任务的生产力,但它们可能并不总是像人类一样生成代码。在我们让计算机集体生成代码之前,我们可能会看到像 AlphaCode 这样的系统在像 Codeforces 这样的平台上排名前 75% 的参与者,尽管我担心这对于这样的系统来说可能太多了。与此同时,机器学习可以在未来帮助解决简单的编程问题,让未来的开发人员能够思考更复杂的问题。

At this point, ChatGPT won’t be disrupting any field of technology, especially not software engineering. Concern about robots displacing programmers is vastly overstated. There will always be tasks that developers with human cognition can do that machines will never be capable of. 
在这一点上,ChatGPT 不会颠覆任何技术领域,尤其是软件工程领域。对机器人取代程序员的担忧被大大夸大了。总会有具有人类认知的开发人员可以完成机器永远无法完成的任务。

以上是关于ChatGPTChatGPT 会取代开发人员吗?的主要内容,如果未能解决你的问题,请参考以下文章

ChatGPTChatGPT 不会取代程序员,但搜索引擎应该担心。为什么 ChatGPT 不会很快取代人类?

很多人都说测试会被开发给取代,这是真的吗?

前端开发行业真的会被AI取代吗?

资讯视野人工智能真的会取代前端开发吗?

ChatGPT能测试用例,那么测试人员会被取代吗?

ChatGPT想干掉开发人员,做梦去吧