人工智能

大型语言模型是否会终结编程?

mm
LLM replacing human programmers

上周,OpenAI 达到了一个重要里程碑,他们在 OpenAI DevDay 上推出了 GPT-4 Turbo 。GPT-4 Turbo 的一个突出特点是其扩大的上下文窗口,达到 128,000,这比 GPT-4 的 8,000 有了显著的提升。这一增强使得 GPT-4 Turbo 能够处理的文本量是其前身的 16 倍,相当于大约 300 页的文本。

这一进步与另一个重要发展有关:对 SaaS 初创公司的潜在影响。

OpenAI 的 ChatGPT Enterprise,其高级功能对许多 SaaS 初创公司构成了挑战。这些公司曾围绕 ChatGPT 或其 API 提供产品和服务,现在面临来自具有企业级功能的工具的竞争。ChatGPT Enterprise 的功能,如域验证、SSO 和使用洞察,直接与许多现有的 B2B 服务重叠,可能会危及这些初创公司的生存。

在他的主题演讲中,OpenAI 的 CEO Sam Altman 揭露了另一个重大发展:GPT-4 Turbo 的知识截止日期的扩展。与 GPT-4 不同,GPT-4 只有到 2021 年的信息,GPT-4 Turbo 已更新到 2023 年 4 月,这标志着 AI 的相关性和适用性的显著进步。

ChatGPT Enterprise 以其增强的安全性和隐私性、高速访问 GPT-4 和扩大的上下文窗口为特点。其高级数据分析能力、自定义选项和无限使用使其成为比其前身更好的选择。其处理更长输入和文件的能力,以及无限访问高级数据分析工具,如之前的 Code Interpreter ,进一步巩固了其吸引力,尤其是在之前由于数据安全问题而犹豫的企业中。

手动编写代码的时代正在让位给 AI 驱动的系统,这标志着软件开发的根本变化。

编程的平凡任务可能很快就会交给 AI 处理,从而减少对深入编码专业知识的需求。像 GitHub 的 CoPilot 和 Replit 的 Ghostwriter 这样的工具可以协助编码,表明 AI 在编程中的作用正在扩大,预示着一个未来,AI 将超越辅助,完全管理编程过程。想象一个常见的场景,程序员忘记了某种语言中反转列表的语法。与其在在线论坛和文章中搜索,CoPilot 提供了立即的帮助,让程序员专注于目标。

从低代码到 AI 驱动的开发

低代码和无代码工具简化了编程过程,自动创建基本的编码块,并让开发者专注于项目的创造性方面。但是,当我们步入这个新 AI 波时,景观进一步变化。用户界面的简单性和通过直接命令(如“为我构建一个网站来做 X”)生成代码的能力正在革命性地改变这个过程。

AI 在编程中的影响已经很大。与早期计算机科学家从电气工程转向更抽象的概念类似,未来的程序员可能会将详细的编码视为过时的东西。AI 的快速进步不仅限于文本/代码生成。在图像生成方面,像 Runway ML 和 DALL-E 3 这样的扩散模型显示出巨大的改进。看看 Runway 在推特上展示的最新功能。

https://twitter.com/runwayml/status/1723033256067489937

AI 对创意产业的影响也将同样具有变革性。电影业的泰坦、前华特迪士尼影业董事长杰夫·卡岑伯格预测,AI 将大大降低制作动画电影的成本。根据彭博社最近的一篇文章,卡岑伯格预计成本将降低 90%。这可以包括自动化劳动密集型任务,如传统动画中的中间动画、渲染场景,甚至创作过程,如角色设计和分镜头脚本。

AI 编码的成本效益

软件工程师的成本分析:

  1. 总补偿: 包括额外福利的软件工程师平均工资,大约为每年 312,000 美元。

每日成本分析:

  1. 每年工作天数: 考虑到一年中大约有 260 个工作日,雇用软件工程师的每日成本约为 1,200 美元。
  2. 代码输出: 假设每天有 100 行最终、测试、审查和批准的代码,这一每日输出是比较的基础。

使用 GPT-3 生成代码的成本分析:

  1. 令牌成本: 使用 GPT-3 的成本,大约每 1,000 个令牌为 0.02 美元。
  2. 每行代码的令牌数: 平均而言,一行代码大约包含 10 个令牌。
  3. 生成 100 行代码的成本: 因此,使用 GPT-3 生成 100 行代码(或 1,000 个令牌)的成本约为 0.12 美元。

比较分析:

  • 人工和 AI 代码的成本比较: 将成本进行比较,人工软件工程师每天生成 100 行代码的成本为 1,200 美元,而使用 GPT-3 的成本仅为 0.12 美元。
  • 成本因子: 这代表着大约 10,000 倍的成本差异,AI 的成本明显更低。

这一分析表明,AI 在编程领域具有经济潜力。AI 生成代码的低成本与人工开发者的高昂费用相比,表明未来 AI 可能成为代码生成的首选方法,特别是对于标准或重复性任务。这一转变可能会为公司带来显著的成本节约,并重新评估人工程序员的角色,可能将他们的技能集中在更复杂、创造性或监督性任务上,这些任务是 AI 目前无法处理的。

ChatGPT 的多功能性延伸到各种编程背景,包括与 Web 开发框架的复杂交互。考虑一个开发者正在使用 React,这是一种用于构建用户界面的流行 JavaScript 库。传统上,这项任务需要深入研究文档和社区提供的示例,特别是在处理复杂组件或状态管理时。

有了 ChatGPT,这个过程变得简化。开发者可以简单地描述他们在 React 中想要实现的功能,ChatGPT 提供相关的、可用的代码片段。这可能包括设置基本组件结构到更高级的功能,如使用钩子管理状态或与外部 API 集成。通过减少研究和试错所花费的时间,ChatGPT 提高了效率并加速了 Web 开发背景下的项目开发。

AI 驱动编程的挑战

随着 AI 持续重塑编程格局,认识到仅依赖 AI 进行编程任务的局限性和挑战至关重要。这些挑战强调了采取平衡方法的必要性,即利用 AI 的优势同时承认其局限性。

  1. 代码质量和可维护性: AI 生成的代码有时可能很冗长或效率低下,可能导致维护挑战。虽然 AI 可以编写功能代码,但确保代码遵循最佳实践以实现可读性、效率和可维护性仍然是一个需要人力驱动的任务。
  2. 调试和错误处理: AI 系统可以快速生成代码,但它们并不总是擅长调试或理解现有代码中的细微错误。调试的细微差别,特别是在大型、复杂的系统中,通常需要人类的细致理解和经验。
  3. 对训练数据的依赖: AI 在编程中的有效性在很大程度上取决于其训练数据的质量和广度。如果训练数据缺乏某些 bug、模式或场景的示例,AI 处理这些情况的能力就会受到损害。
  4. 伦理和安全问题: 随着 AI 在编程中扮演更重要的角色,伦理和安全问题出现,特别是在数据隐私和 AI 生成代码中的偏见方面。确保 AI 驱动的编程工具的负责任开发需要解决这些问题和偏见。

平衡 AI 和传统编程技能

在未来的软件开发团队中,可能会出现混合模型。产品经理可以将需求转化为 AI 代码生成器的指令。人类的监督可能仍然是必要的,以确保质量,但重点将从编写和维护代码转移到验证和微调 AI 生成的输出。这一变化表明,对传统编码原则(如模块化和抽象)的强调将减少,因为 AI 生成的代码不需要遵循人类为中心的维护标准。

在这个新时代,工程师和计算机科学家的角色将发生显著变化。他们将与大型语言模型(LLM)交互,提供训练数据和示例来实现任务,将焦点从复杂的编码转移到与 AI 模型的战略性工作上。

基本计算单位将从传统处理器转移到大型预训练的 LLM 模型,标志着从可预测的静态过程到动态的适应性 AI 代理的转变。

焦点正在从创建和理解程序转移到引导将驱动我们技术世界的智能,重新定义计算机科学家和工程师的角色,并重塑我们与技术的交互。

AI 生成代码中持续需要人类洞察

编程的未来更多地关乎指导将驱动我们技术世界的智能,而不是编码。

认为自然语言处理的 AI 可以完全取代正式数学符号和传统编程的精确性和复杂性的想法是过早的。编程中向 AI 的转变并不消除正式编程和数学技能所能提供的严谨性和精确性的需要。

此外,测试 AI 生成的代码以解决以前未解决的问题仍然是一个重大挑战。像属性基于测试这样的技术需要对编程有深入的理解,这是当前 AI 无法复制或替代的技能。

总之,虽然 AI 承诺自动化编程的许多方面,但人类元素仍然至关重要,特别是在需要创造力、复杂问题解决和伦理监督的领域。

我已经沉浸在了令人着迷的机器学习和深度学习世界中五年了。我的热情和专业知识让我为超过50个不同的软件工程项目做出了贡献,特别关注AI/ML。我的持续的好奇心也让我对自然语言处理产生了兴趣,这是一个我渴望进一步探索的领域。