GPT-5编码实力强大但维护难题凸显
快速阅读: OpenAI发布GPT-5,适用于Next.js、React等框架,可减少对框架依赖,但Sonar报告指出其代码难以维护,质量成本高。
自OpenAI最新模型GPT-5发布以来,尽管收到了褒贬不一的评价,但经过几周时间,开发者们已对其进行了充分测试,现在可以更好地评估GPT-5在前端编码方面的能力。9月6日,记者理查德·麦克马纳斯采访了一位OpenAI的研究员伊沙恩·辛格尔,探讨了GPT-5在前端开发中的表现。此外,Sonar公司发布的一项报告指出,GPT-5生成的代码可能难以维护。
根据OpenAI的推荐,GPT-5适用于Next.js(TypeScript)、React和HTML这三个框架。当被问及是否与Next.js和React项目团队合作以优化GPT-5时,辛格尔表示选择这些框架是基于其流行度和普遍性,但并未直接与这两个团队合作。不过,Vercel公司——Next.js框架的维护者,在GPT-5发布当天称其为“最佳前端AI模型”,这种互惠关系显然有助于提高双方的知名度和影响力。
对于那些不想使用Next.js或任何其他框架的开发者,GPT-5能否仅利用核心网络平台技术(如HTML、CSS、JavaScript和MDN上的各种Web API)创建复杂的Web应用程序?辛格尔回应说,GPT-5是一个强大的通用模型,同样可以用于仅使用HTML/CSS/JavaScript制作Web应用。他还提到,GPT-5是最具可操控性的模型之一,开发者通过提示工程能够引导出非常具体的行为和结果,因此GPT-5也有可能帮助开发者减少对框架的依赖。
关于GPT-5是否能加速现代原生Web功能(如CSS Houdini和Web Components)的采用,辛格尔认为这取决于使用GPT-5的应用程序所提供的工具及其用户的偏好。许多应用程序在所偏好的技术和特性上都有自己的立场,这可能会影响现代Web特性的采纳情况。
值得注意的是,OpenAI推荐了一些特定的技术栈来配合GPT-5使用,包括Next.js(TypeScript)、React、HTML以及Tailwind CSS、shadcn/ui和Radix Themes等样式工具。
然而,Sonar公司的最新《代码状态报告》对GPT-5的评估并不乐观。报告显示,尽管GPT-5在生成代码量和复杂度上领先,但这增加了代码审查和维护的难度。每完成一项任务,GPT-5都会引入比竞争对手更多的潜在缺陷,导致较大的技术债务、质量和安全验证负担。虽然GPT-5产生的漏洞密度最低,但其代码质量较低,存在较多的“代码异味”。Sonar总结道,GPT-5无疑是AI代码生成领域的一股新力量,但其带来的质量成本较高,并且在安全性和可靠性方面提出了不同的挑战。
声纳还对GPT-5在超过4400个Java任务中的推理模式进行了单独研究。研究表明,存在明显的权衡:“虽然高级推理提供了最佳的功能性能,但这是通过生成大量复杂且难以维护的代码实现的。”
为了引入第二个外部观点来分析GPT-5,我们再次邀请了YouTube上的知名开发者Theo Browne,他曾对GPT-5的态度发生了180度转变。实际上,他在OpenAI发布日的视频中是被展示的开发者之一,当时他非常喜欢GPT-5。然而,仅仅一周后,他就发布了一段名为“我对GPT-5的看法错了”的视频。那么,Browne现在对GPT-5有何看法呢?
在他的最新视频中,即GPT-5发布几周后,Browne将遇到的一些问题归咎于GPT-5在ChatGPT和Cursor中的实现方式。“Cursor当前的实现存在许多用户体验失败,这些问题仍然普遍存在。”他补充道,“但尽管如此,我认为GPT-5仍然是一个令人难以置信的模型。它仍然是我所有工作中使用的模型。”
前端开发影响者Theo Browne正在决定他对GPT-5的看法。因此,声纳和Browne都承认GPT-5是一个强大的编码工具,尽管声纳对其代码质量和可维护性持更多批评态度。
一次性完成还是考虑维护?
回到OpenAI对我提问的回答。OpenAI的指南指出,“GPT-5擅长一次性构建应用程序”。这似乎针对所谓的“氛围编码者”,但我询问专业开发者是否也被鼓励在GPT-5中一次性完成所有工作,或者他们应该采取更为审慎的方法?例如,考虑到代码未来的维护,正如声纳所希望的那样。
“GPT-5经过训练,既擅长从零到一生成应用程序,也擅长在仓库中以代理方式开发更全面的应用程序。”Singal回答说,涵盖了所有使用场景。但在回复的下一部分中,他显得更加热情:“对于构建新原型的开发者来说,一次性端到端地构建应用程序可以快速验证想法。对于那些在现有应用程序上工作或打算长期维护某物的开发者,使用代理框架并迭代细化功能可能更为合适。这真的取决于具体情况。”
互联网供应商通常会将所有责任推回给用户——Napster不会因为部分用户下载非法内容而受到指责,Facebook也不会因为部分用户持有极端政治观点而受到指责。同样地,OpenAI也在告诉开发者:嘿,如何使用GPT-5由你自己决定。
“最终,这取决于开发者的个人选择,”Singal说,“但成熟的仓库拥有更好的社区支持,有助于开发者进行自我服务维护。”
关于GPT-5迄今为止的使用情况,Singal补充道:“我们已经看到了‘氛围编码者’/从零到一的应用开发者和将此技术集成到现有大型应用中进行迭代的人群的良好混合。”
面向AI的框架
当我在提问时抛出了一个有趣的问题,Singal的回答显得更加有见地。我问道:“你如何看待面向AI优化的框架的可能性?例如,更小的运行时占用空间或AI友好的组件API。”Singal表现出浓厚的兴趣。
“这是一个有趣的想法!考虑因素将围绕可维护性和‘人在环中’的最佳参与程度。有可能最适合AI的方式并不适合人类解读。不过,随着AI编码逐渐成为主流工作流程的一部分,这种情况可能会变得更加普遍。”
所以,请留意未来可能出现的面向AI优化的前端框架。在此期间,无论哪种方式最适合你,都可以充分利用GPT-5——但要时刻注意代码质量和可维护性。
(以上内容均由Ai生成)