上个月,当 OpenAI 悄然向一组选定的企业客户推出其最新模型时,工程团队的反应立即而一致:这是不同的。
与之前需要仔细提示和频繁修正的迭代不同,新模型(内部代号为“猎户座”)展示了工程师所描述的近乎不可思议的上下文理解水平。它不只是完成代码;它对架构进行推理,预测边缘情况,并在被询问之前编写测试。
重写规则手册的基准
在代码生成的行业标准基准 HumanEval 上,Orion 得分为 97.3%,比之前的最佳水平足足高出 12 分。更令人印象深刻的是,在 SWE-bench(测试解决生产代码库中实际 GitHub 问题的能力)上,它取得了 68% 的成功率,而其前身为 49%。
“我们已经在内部代码库上运行它三周了,”一家大型云提供商的一位不愿透露姓名的高级工程师表示。 “它不会取代工程师。但它使每个工程师的生产力提高了三倍左右。”
它是如何运作的
关键的架构创新似乎是 OpenAI 所说的“执行感知推理”——该模型维护了一个关于代码在运行时实际执行的操作的心理模型,而不是简单地预测语法上合理的完成。这使得它能够捕获仅在运行时才会出现的逻辑错误,这种能力历来是经验丰富的人类工程师的专有领域。
该模型还引入了一个包含 200 万个令牌的新上下文窗口,使其能够同时在内存中保存整个大型代码库。这意味着它可以在一个文件中进行更改,并充分了解这些更改如何影响数十个依赖模块。
业界反应
开发者社区的反应既兴奋又焦虑。在 Hacker News 上,有关该模型功能的帖子在 24 小时内吸引了 800 多条评论,意见范围从“这是自 IDE 以来最重要的生产力工具”到“我们需要认真讨论这对初级开发人员招聘意味着什么”。
GitHub 首席执行官托马斯·多姆克 (Thomas Dohmke) 一贯乐观:“我们一直说 Copilot 是结对程序员,而不是替代者。我们现在看到的是结对程序员成为高级工程师。”
接下来会发生什么
OpenAI 尚未宣布该模型的公开发布日期,但熟悉该公司计划的消息人士表示,将在未来几周内从 ChatGPT Enterprise 客户开始分阶段推出,然后为开发人员提供 API 访问。
对于已经使用它的工程团队来说,问题不再是人工智能是否会改变软件开发,而是他们能够以多快的速度适应一个瓶颈不再是编写代码,而是知道要构建什么的世界。
安全和代码质量问题
并不是每个人都在庆祝。安全研究人员对人工智能生成的代码引入了人类审查人员可能会忽略的微妙漏洞提出了合理的担忧。斯坦福大学今年早些时候发表的一项研究发现,使用人工智能编码助手的开发人员更有可能引入安全缺陷——不是因为人工智能编写了不安全的代码,而是因为开发人员信任人工智能输出,而没有像他们对自己的工作那样进行同样的审查。
OpenAI 的回应是直接将安全扫描构建到模型的输出管道中。当模型生成与已知漏洞模式(SQL 注入风险、不正确的输入验证、不安全的加密实现)匹配的代码时,它现在会内联标记问题,而不是默默地生成有问题的代码。早期测试人员报告说,这可以捕获相当大比例的常见安全错误,尽管它不能替代专门的安全审查。
对初级开发人员招聘的影响
开发者社区的焦虑集中在这对入门级角色意味着什么。从历史上看,初级开发人员通过编写样板代码、修复简单的错误并逐渐承担更复杂的任务来学习。如果人工智能处理所有这些工作,那么传统的软件工程入口就会消失。
一些工程领导者提出了相反的观点:人工智能工具将使软件开发在更广泛的业务中在经济上可行,从而为开发人员创造更多而不是更少的需求。一家 B 轮初创公司的一位工程总监表示:“以前买不起开发人员的小企业现在都可以构建软件了。” “这并不是工作岗位减少,而是更大的市场。”
现实情况可能介于两者之间。专注于日常执行的角色将会缩小。专注于架构、产品思维和人工智能无法复制的人类判断的角色将会增加。这种转变将是不平衡的,适应最快的开发人员将是那些将人工智能视为增强判断力的工具而不是开发人工智能的替代品的人。
企业采用模式
在已经测试该模型的企业客户中,采用模式正在显现。最高价值的用例并不是公开讨论最多的用例。代码生成成为头条新闻,但真正的生产力提升来自代码审查——模型能够读取拉取请求,不仅识别错误,还识别架构问题、性能影响和可维护性问题,而人类审查者在时间压力下经常会错过这些问题。
文档生成是另一个很少成为新闻报道的高价值用例。让文档与快速变化的代码库保持同步是开发人员普遍讨厌和普遍忽视的一项任务。该模型可以在最少的提示下从代码生成准确、可读的文档——这一功能对任何工程团队都具有直接、可衡量的价值。
定价和访问
OpenAI 尚未透露新模型的定价,但行业分析师预计其在 API 定价层中的定位将高于 GPT-4o。对于企业客户来说,价值主张很简单:如果该模型使每个开发人员的生产力提高 3 倍,那么即使每个代币的成本很高,也很容易证明是合理的。更有趣的问题是,该模型是否可以以对小批量用例具有经济意义的价格提供给个人开发人员和小型团队。