GPT-4 会梦见电子程序员吗

date
Mar 23, 2023
slug
gpt-4-dream-programmer
status
Published
tags
OpenAI
summary
type
Post
🤖
以下内容由 AI 辅助创作。

AI 文明的技术爆炸

Our future will no longer experience evolution, but rather an explosion. - by Raymond Kurzweil
自 2022 年 12 月起,OpenAI 陆续公开了一系列项目的 Public Review,其中包括 ChatGPT、gpt-3.5-turbo 和 GPT-4 等。这些项目的推出引起了广泛的讨论和关注。其中,ChatGPT 在推出仅仅五天就获得了 100 万用户,被视为最先进的人工智能对话系统之一,也吸引了谷歌、微软等科技巨头加入军备竞赛。微软决定继续投资 OpenAI 100 亿美元,并致力于将 ChatGPT 和自家应用的整合;谷歌也加入了这场智能聊天机器人对搜索引擎发动的大战,在今年 2 月 6 日推出了基于自家大型语言模型 LaMDA 的聊天机器人 Bard
虽然这些项目和技术展示了惊人的能力,但也引起了公众的担忧。人们担心 AI 可能会替代人类从事某些工作,导致许多从业者失业。
值得注意的是,虽然 AI 能够在某些领域内展现出惊人的能力,但它仍然在某些伦理问题上遭遇到了困境。例如,AI 对于某些人类简单易懂的问题却给出了令人啼笑皆非的答案,比如“爸爸和妈妈能结婚吗”
对于这个现象,Yann LeCun 提出了一种假设
AI Chatbots Don’t Care About Your Social Norms
They seem so human, but they are very alien.
虽然如此,无论 AI 聊天机器人所处的文明和人类文明是否存在交集,不可否认的一点是:具有复杂的逻辑推理能力是高等文明物种所具备的一个重要特征。当我们在思考「人工」智能时,这种逻辑推理能力往往是关键,因为它使我们能够解决复杂的问题,制定合理的决策,并推动技术创新和社会进步。同样,复杂逻辑的推理能力可以让 AI 聊天机器人从 Artificial Idiot 进化为 Artificial Intelligence。
在前 GPT-4 时代,AI 的复杂逻辑能力受到了很大的限制:仅局限于文本单一模态,即只能在海量数据训练的基础上通过适当的 Prompt 才能使其具备与人类媲美的思维过程,这也使得 ChatGPT 在双盲(双目失明)的情况下只能达到人类平均的智力水平。
然而随着 GPT-4 的发布,一切都发生了翻天覆地的变化。GPT-4 拥有多模态信息处理能力,使得人工智能能够更好地观察世界,消除了其在认知方面的局限性(上海交通大学和 Amazon Web Services 在 Multimodal Chain-of-Thought Reasoning in Language Models 一文中指出,通过视觉特征和语言作为输入,小型模型可以在多模态问答数据集 ScienceQA 中取得比 GPT-3.5 更好的表现。令人惊讶的是,这种小型模型的参数量仅是 GPT-3.5 的二十分之一)。这意味着,AI 聊天机器人可以更加逼真地模拟人类的思维过程,更好地理解并应对不同语言和语境中的挑战,从而为用户提供更加智能化,真实和互动的体验。
OpenAI 在 GPT-4 技术报告 的 Contamination on professional and academic exams 一节指出,GPT-4 在 Codeforces Rating 和 Leetcode 测试中的表现明显低于其他类型的考试,尽管这两种考试的评估过程中污染数据率为 0%,但在同样污染数据率为 0% 的 Uniform Bar Exam 中,GPT-4 取得了 90% 的百分位成绩。这是否意味着 GPT-4 具备编程能力并能够取代程序员,本文将在下一章节中进一步探讨。
总之,AI 文明的技术爆炸将在未来很长一段时间内影响人类社会。两种文明之间的碰撞将会走向何方,仍充满着无限的可能性。

程序员和产品经理的赛博角斗场

其道遠險狹,譬之猶兩鼠鬥於穴中,將勇者勝。 ——《史記卷八十一廉頗藺相如傳》
为了探究 GPT-4 的实际编程能力,笔者使用了目前可供体验的基于 GPT-4 的代码编辑器 Cursor
⚠️
至于 Cursor 的后端是否调用了 GPT-4 API 仍存在一定的争议,相关内容详见: https://twitter.com/amanrsanger/status/1636205986674520064
based on gpt-3 not gpt-4
Updated Apr 16, 2023
无论最终结论如何,这与本文所讨论的主题并不特别相关。
notion image
与传统的代码编辑器(例如 Visual Studio Code)不同,Cursor 设计的语言简洁,着重强调人工智能与人类协同开发。而且,它提供了 Generate/Edit 和 Chat 两种交互方式:Generate/Edit 指根据人类指令直接生成代码,非常简便直接;Chat 则类似于 ChatGPT,通过与用户进行对话来提供代码建议,更加灵活和个性化。无论你是想快速生成代码还是和人工智能进行深入交流,Cursor 都能满足你的需要。
notion image
在 Cursor 编辑器的基础上,为了验证 GPT-4 的实际编程能力,笔者遵循以下三个原则进行了探究:
  • 只提供产品经理视角下的功能描述性指令,而非具体的代码说明。
  • 若 AI 生成的代码无法正常编译,仅向 AI 提供编译错误信息,而非直接告知 AI 具体的修改方法。
  • 不使用任何第三方代码和资源,这样可以更好地评估 GPT-4 编程能力,同时也避免了第三方代码和资源对最终结果的影响。
关于协同开发的第一步,笔者采用 Generate 的方式,让 AI 从零开始设计一个 Flappy Bird 游戏。这种方式可以使我们更好地了解 GPT-4 编程能力,以及通过协同开发对它的指导和训练。让 AI 从无到有地设计和开发 Flappy Bird 游戏,可以让我们更好地了解它在编程方面的实际表现。
在后续的开发过程中,笔者采用 Chat 的方式向 AI 提供新的需求和编译错误信息。为了更真实地体现人机协同开发的场景,在 Generate 和 Chat 过程中并没有使用任何的 Prompt 模板。然而,这种方式可能会注入一些人工先验信息(需要强调的是,本文仅叙述了一种主观人机交互体验,并非客观的实验分析)。
根据 AI 生成的原始代码的基础上,笔者提出了如下新需求(这表明 AI 生成的初始代码缺乏如下功能):
  • 多语言支持
  • 得分及最高分显示
  • 游戏场景和角色绘图
  • 开始及重新开始按钮
  • Dark Mode
  • 更精确的碰撞检测算法
  • 随机障碍物生成
游戏完成品及代码详见:
从目前 Cursor 提供的 GPT-4 表现来看,可以粗浅得出以下结论:
  • GPT-4 可以充分理解人类提供的需求,即使需求内容的语义不清晰,并给出逐行级的代码修改指导。
  • GPT-4 具有一定程度的 Debug 能力,可以根据用户提供的编译错误修改代码,但缺少相关领域工程经验的程序员通过 GPT-4 的 Debug 效率不如资深程序员的工作效率(这表明 GPT-4 提供的代码修改建议可能不能完全解决问题)。如果 GPT-4 能自主获取到来自编译器的信息反馈(编译信息作为监督信号的训练),生成代码的错误率可能会大大降低。
  • GPT-4 具有十分强大的绘图能力:在缺乏素材的情况下,GPT-4 可以根据用户输入的 Prompt 进行细致的素材创作。
  • GPT-4 能够理解颜色和位置两个概念:这体现在前端开发中,GPT-4 可以通过一些模糊指令调整组件的颜色以及组件间的相对位置。
  • GPT-4 生成的代码中带有大量的注释信息,这表明逻辑链在 GPT-4 执行代码生成任务中扮演了重要角色。(有关逻辑链和代码生成的讨论
在后 GPT-4 时代,「程序员」和「产品经理」之间的相互作用正在发生巨大的变化。如果「产品经理」具备扎实的开发能力,则能在变革中幸存;「程序员」如果具备 Least-to-most 的能力,也能身兼二职,立于不败之地。但不论如何,他们都将殊途同归,因为最终胜利的将是「具备实力的一方」。

我们重新定义了编程

Hey Siri, call GitHub.
2023 年 3 月 23 日,GitHub 发布了基于 GPT-4 的协同开发系统 Copilot X。该系统在阅读开发文档、Pull Requests、终端指令交互、语音编程中注入了 AI 力量,彻底改变人们对于编程的定义和认知。那么,他们在做白日梦的时候会遇见电子程序员吗?
 

© Billy Zhang 2022 - 2025