自从 2022 年底 OpenAI 推出了 ChatGPT3.5 后,GPT 的活跃用户数快速突破一亿,打破了互联网应用发展的历史记录。ChatGPT 是一种基于人工智能技术的聊天机器人,它可以理解人类的自然语言,模拟人类的语言和思维方式,与人类进行自然的对话。GPT 技术的发展,给社会带来了巨大的影响,各行各业都在讨论 GPT 影响和带来的机会。
微软公司创始人比尔·盖茨在其博客文章《人工智能时代已经开启》中表示,自 1980 年首次看到图形用户界面(graphical user interface)以来,OpenAI 的 GPT 人工智能模型是他所见过的最具革命性的技术进步。
前端工程师本质上是开发软件 GUI(graphical user interface)部分,GPT 技术发展使得应用从 GUI 慢慢往 GUI&LanguageUI 结合方向发展,对于软件工程在视图层的架构要求更高,帮助产品更加好用和业务上能取到更大的业务价值。在这个充满变化和机会的时代,我们前端开发者如何抓住机会呢?本文从认识 GPT、GPT 集成软件调研和机会等方面分享下自己的看法。
1.认识 GPT
GPT 是目前自然语言处理领域最先进、最强大的机器学习模型,它能够理解人类自然语言生成自然语言文本和执行某些任务,除了理解自然语言外,还可以解决跨越数学、编码、视觉、医学、法律、心理学等问题。
GPT 通过大量高质量文档的训练,知识非常渊博,通过阅读我们能够得出,GPT 在文科考试、做选择题等方面表现比较好,比如在美国律师资格考试测试中 GPT-4 的成绩可以达到前 10%;但在数学考试,编程表现比较一般。
以编程为例,GPT4 在简单的问题上的正确率为 31/41,在中等难度问题上的正确率为 21/80,在复杂问题上的正确率为 3/45。可以看出,GPT4 在简单问题上表现还算可靠,但并不完全可靠,而在高等和中等难度问题上表现相对较差。
虽然 GPT 能理解自然语言,还能解决一些学科问题,但在自主学习、归纳抽象、逻辑推理、创新、情景感知等智能能力上,存在明显缺陷。比如推理方面,GPT 模型使用前文 token 预测下一个 token,这种预测方法使得 GPT 模型是一种线性思维,而人的思维比这种线性思考复杂多了。另外 GPT 对数据依赖性强,高质量数据对 GPT 非常重要,容易因为低质量数据和错误数据影响,导致 GPT 理解出现不准确和错误。
总之 GPT 不是强人工智能,GPT 让人们看到了强人工智能 AGI 的曙光,但差距依旧巨大。GPT 擅长从海量的知识提取出用户需要的,但在推理,逻辑,抽象,创新等方面存在缺陷。
2.GPT 给产品交互带来的变化
计算机软件产品交互的发展经历了命令行交互 (阶段 1)、图形用户界面 GUI(阶段 2),随着 GPT 发展,预计会进入 GUI+LanguageUI 结合时代,下面对每个阶段对做下分析。
阶段 1:软件 1.0 命令行交互
软件 1.0 时代是文本命令行式的交互,本质上是特定的 Language UI,无法使用很泛的自然语言表达。在这个阶段和系统的交互通过各类 cli 程序,无法使用图形化的界面交互。入门门槛高,使用复杂,不利于大规模的推广,主要面向专业的研发人员。
比如系统提供了根据时间和区域查看指标数据的程序 getMeasureData,接收两个参数 date 和 region,使用方式如下:
输入:getMeasureData -date=2021-10-21 -region=shanghai
输出:
region gmv pv
shanghai 100 20
阶段 2:软件 2.0 GUI 时代
软件 2.0 GUI 是图形化界面的时代,通过可视化界面的用户操作,为用户提供了直观的界面,容易上手和使用,降低了门槛和覆盖了更多的人群,迎来了计算法软件发展的爆发增长。但随着 GUI 的发展,GUI 逐渐暴露出一些缺点:
1. GUI 的局限性
GUI 虽然极大的降低了门槛,但是一些场景,如果彻底使用 GUI 表达明显存在问题。比如编写代码,使用编程语言逻辑清晰且一目了然。但如果使用 GUI 描述,很难理解。下面的例子是一段简单的循环 + 打印文本的 javascript 脚本,逻辑非常简单,但可视化 GUI 表达方式明显更加难以理解。
从人类上千年文明发展来看,自然语言才是最适合表达复杂逻辑方式。所以 GUI 表达可以说是一种特定的降低沟通成本表达方式,这是一种偏向视觉的沟通方式,这种方式能成倍的降低计算机工具沟通成本。好比管理沟通的金字塔原理,本质上是对灵活的自然语言通过树形结构拆分,降低沟通成本。
所以 GUI 适合表达和空间位置有关或逻辑简单的信息,不适合表达一些比较抽象的逻辑关系。比如低代码平台,可视化 GUI 编排主要应用在表单、页面组件编排、对象建模等场景,LanguageUI 代码方式应用在自定义组件开发场景。
2. 软件功能越来越多,使用越来越复杂
例子 1 中后台管理系统,随着功能越来越多,相关的菜单和页面功能越来越多,使用系统慢慢变得并不是一件容易的事情,培训成本越来越高;


