上周是OpenAI的重要里程碑,他们在他们的OpenAI DevDay上发布了GPT-4 Turbo。GPT-4 Turbo的一个突出特点是其扩展的上下文窗口为128,000,比GPT-4的8,000大了很多。这个改进使得该系统能够处理比前代系统多16倍的文本,相当于大约300页的文本。
这个进展还与另一个重要的发展相关:对SaaS初创公司景观产生的潜在影响。
OpenAI的ChatGPT Enterprise凭借其先进功能对许多SaaS初创公司构成了挑战。这些公司一直在提供围绕ChatGPT或其API的产品和服务,现在它们面临着企业级功能的竞争。ChatGPT Enterprise的功能,如域验证、单点登录(SSO)和使用情况洞察直接与许多现有的B2B服务重叠,可能会危及这些初创公司的生存。
在他的主题演讲中,OpenAI首席执行官Sam Altman揭示了另一个重大进展:GPT-4 Turbo的知识截止日期的延长。与仅具有截至2021年的信息的GPT-4不同,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在推特上展示最新功能的推文。
Introducing, Motion Brush.
A new way to add controlled movement to your generations.
Coming soon to Gen-2. pic.twitter.com/htyjf1gstz
— Runway (@runwayml) November 10, 2023
AI在编程之外对创意产业的影响也将产生同样的变革。电影行业巨头、前华特迪士尼工作室主席Jeff Katzenberg预测,AI将显著降低制作动画电影的成本。根据Bloomberg最近的一篇文章,Katzenberg预见成本将大幅减少90%。这包括自动化劳动密集型任务,如传统动画中的中间动画,场景渲染,甚至辅助创造性过程,如角色设计和故事构建。
人工智能在编码中的成本效益
雇用软件工程师的成本分析:
- 总体薪酬:在硅谷或西雅图等技术中心雇用软件工程师的平均年薪,包括额外福利,约为312,000美元。
每日成本分析:
- 每年工作天数:假设一年有大约260个工作日,雇用软件工程师的每日成本约为1,200美元。
- 代码产出:假设每天可完成100行代码,经过测试、审查和批准后的最终版本。这是比较的基础。
使用GPT-3进行代码生成的成本分析:
- 标记成本:在视频拍摄时,使用GPT-3的成本约为每1,000个标记0.02美元。
- 每行代码的标记数:平均而言,一行代码的标记数约为10个。
- 生成100行代码的成本:因此,使用GPT-3生成100行代码(或1,000个标记)的成本约为0.12美元。
比较分析:
- 每行代码的成本(人工 vs. AI):对比成本,每天生成100行代码,人工工程师的成本为1,200美元,而使用GPT-3仅需0.12美元。
- 成本因素:这表示AI的成本要低约10,000倍,更加经济实惠。
这种分析指出了人工智能在编程领域经济潜力的存在。与人工开发人员的高昂费用相比,AI生成的代码成本较低,这意味着在代码生成方面,AI有望成为首选方法,特别是对于标准化或重复性任务。这种转变可能为公司带来显著的成本节约,并重新评估人类程序员的角色,使他们的技能更加专注于更复杂、创造性或监督性的任务,这是AI目前尚不能处理的。
ChatGPT的多功能性适用于各种编程环境,包括与Web开发框架的复杂交互。考虑这样一种情景,开发人员正在使用React,一种流行的用于构建用户界面的JavaScript库。传统上,这项任务需要研究详细文档和社区提供的示例,尤其是在处理复杂组件或状态管理时。
有了ChatGPT,这个过程变得更加简化。开发人员只需简要描述他们想要在React中实现的功能,ChatGPT就会提供相关的、可直接使用的代码片段。这可以涵盖从设置基本组件结构到更高级的功能,如使用hooks管理状态或与外部API集成。通过减少研究和试错所需的时间,ChatGPT提高了效率,并加速了Web开发环境中的项目开发。
AI驱动编程中的挑战
随着人工智能不断改变编程领域,必须认识到依赖纯粹的人工智能进行编程任务所带来的局限和挑战。这些挑战凸显了需要在利用人工智能的优势的同时,认识到其局限性的平衡方法的必要性。
- 代码质量和可维护性:AI生成的代码有时可能冗长或低效,可能导致维护上的挑战。虽然AI可以编写功能性代码,但确保该代码符合可读性、效率和可维护性的最佳实践仍是人类的任务。
- 调试和错误处理:AI系统可以快速生成代码,但在调试或理解现有代码中的微妙错误方面并不总是表现出色。在大型复杂系统中进行调试的微妙问题通常需要人类的细致理解和经验。
- 对训练数据的依赖:人工智能在编程中的有效性在很大程度上取决于其训练数据的质量和广度。如果训练数据缺乏某些错误、模式或情景的示例,人工智能处理这些情况的能力就会受到影响。
- 道德和安全问题:随着人工智能在编码中的作用日益突出,出现了一些道德和安全问题,特别是涉及数据隐私和人工智能生成代码中的偏见。确保道德使用和解决这些偏见对于负责任地开发基于人工智能的编程工具至关重要。
平衡人工智能和传统编程技能
在未来的软件开发团队中,可能会出现一种混合模型。产品经理可以将需求转化为人工智能代码生成器的指令。人工监督可能仍然在质量保证方面是必需的,但焦点将从编写和维护代码转移到验证和调整人工智能生成的输出。这种变化表明,对模块化和抽象等传统编码原则的强调将减少,因为人工智能生成的代码无需遵循以人为中心的维护标准。
在这个新时代,工程师和计算机科学家的角色将发生重大转变。他们将与LLM进行互动,提供训练数据和示例来完成任务,从精细编码转变为与人工智能模型战略性地合作。
基本的计算单元将从传统处理器转移到大规模的预训练LLM模型,从可预测的静态过程转变为动态的、适应性的人工智能代理。
重点正在从创建和理解程序转向引导人工智能模型,重新定义计算机科学家和工程师的角色,并重新塑造我们与技术的互动。
在人工智能生成的代码中持续需要人类洞察力
编程的未来更多地关乎指导将推动我们技术世界的智能,而不是编写代码。
认为人工智能通过自然语言处理可以完全取代形式化数学符号和传统编程的精确性和复杂性,充其量是过早的。编程中向人工智能的转变并不意味着摒弃只有形式化编程和数学技能才能提供的严谨和精确性。
此外,对于以前未解决的问题进行测试人工智能生成的代码的挑战仍然重大。诸如基于属性的测试之类的技术需要对编程有深入理解和技能,这是当前人工智能状态下无法复制或替代的。
总之,尽管人工智能承诺自动化编程的许多方面,但人的因素仍然至关重要,特别是在需要创造力、复杂问题解决能力和伦理监管的领域。