确定性 vs 非确定性:GPT 时代的新编程范式

分享嘉宾 | 王咏刚  责编 | 梦依丹

出品 | 《新程序员》编辑部

在 ChatGPT 所引爆的新一轮编程革命中,自然语言取代编程语言,在只需编写提示词/拍照就能出程序的时代,未来程序员真的会被简化为提示词的编写员吗?通过提示词操纵 AI?在 SeedV 实验室创始人兼 CEO,创新工场 AI 工程院执行院长王咏刚表示:今天所有的计算机、系统都会被 AI 去重新改写,重新定义。这也引发了无数人思考:未来的程序员真的会被简化为提示词的编写员吗?然后由提示词操纵 AI?是不是这样一个非常简单的范式,就可以总结未来所有的 AI 开发?

王咏刚给出了否定的答案,其表示,「未来的 AI 开发应该是一种多范式的开发流程」。

3cabe9a1e681eb2b4ae8039cd05c7fe8.jpeg

王咏刚,SeedV 实验室创始人兼 CEO,创新工场 AI 工程院执行院长

本文是由 ChatGPT 整理的演讲实录,责编稍作调整:

一切都将被 AI 重新定义

“最近一段时间,我处在既兴奋又焦虑的状态之下,十几年的 NLP 经验被拉到与刚毕业大学生一样的门槛之上。我的开发经验并不比当下使用 ChatGPT 开发的大学生有任何优势”。

我是从 98 年开始写商业化程序的老兵,拥有十多年的自然语言工作经验,5、6 年的 AI 投资和孵化经历。现在又再次以一个创业者的身份开启一段全新的历程。我呼吁大家现在立刻开始跟 AI 协作起来,无论是学习、开发还是创业,赶快行动,时下的每分每秒,技术、产品、应用都在改变着未来。

想象一下最近一个月里,哪些企业成为了最受瞩目的话题?你最常听到的声音来自哪类企业?或许你会注意到,有一类企业却鲜有出现——手机厂商。近期几乎所有手机厂商都遭遇了一些难题。那么这些厂商和人工智能有什么直接的联系呢?值得思考。

作为对未来技术的期许,我希望能够有一款革命性的手机,它将以人工智能为中心,从硬件平台、上层应用到整个使用体验都进行重新设计。

如果有一天,Open AI 创始人说他们要推出一款革命性的手机,我一点也不会感到意外。因为我们正处于一个所有应用、计算机和计算机系统都将被人工智能重新定义的时代。蒋涛说未来每个人都将成为程序员和计算机设计师,而我们之前积累了大量的工程和科研经验,也见证了大量的投资和创业案例。

未来的程序员真的只需要编写提示词进行开发吗?

最近,许多人问我一个问题:市场上出现的很多创业团队,包括美国、欧洲和中国的团队,是否都只是简单地调用 GPT 的 API,输入一个提示词,然后就获得了惊人的功能。这样的创业方式和开发方式算是真正的创业和开发吗?如果所有人都在这个层面上开发,那么你的系统和产品是否还有技术门槛?

作为一位有着多年投资经验的投资人,我也在思考同样的问题。当我面对着 100 个项目,全都是通过使用 Hackathon 方式,仅仅用几个小时的时间,甚至是由几个中学生打造而成的项目,你该如何选择投资的项目呢?

所有这些项目在技术门槛上几乎都处于同一水平线上。谁将成为 AI 时代的“快手”?谁将成为 AI 时代的“移动支付”?这个答案可能没有人知道。

但是,让我们不要再去思考或者纠结这个问题了。行动比思考和讨论更加有效。不论你是在投资、创业、研发或者进行任何形式的思考,先行动起来。因此,今天我带领我们的团队思考一个问题:未来的程序员是否真的只需要写几个提示词就可以了?我们需要去挑战并回答这个问题。

如果今天的程序员通过编程语言来控制计算机,那么未来的程序员是否只需要编写提示词来操纵 AI 呢?虽然这个简单的范式可能能够总结未来所有 AI 开发,但我认为未来的 AI 开发应该是多范式的。

357e940651879140201f6441fdbbe535.png

为了解释这个想法,我想给大家看两幅画作。现在有一些 AI 算法能够绘制非常精美的画作,但你能猜出这两幅画中哪一幅是由 AI 算法绘制的吗?

b658422098e33e723eb838acb9e560a3.png

事实上,未来的 AI 开发需要采用多种不同的开发流程,而不只是简单地编写提示词来操纵 AI。

右边的画是由今天的 AI 算法生成的,而左边的画则不同,它是通过数学公式主导生成的,是一张由分形公式产生的三维图案。

十年前,这样的软件便能够帮助艺术家创造出数字艺术品,但那时人们并未将它视作数字艺术。虽然这种软件现在几乎没有人维护了,但它们创造的画面仍然能够带给我们震撼的视觉感受。

我想通过这两幅画来说明一个问题:今天的 AI 是建立在神经网络或深度学习的数学范式下的数学拟合体系上的,它拟合的是我们所面临的文本、图像等多种数据中的统计规律。然而,这种拟合体系并非是唯一存在的数理思维模型。

自古希腊起,人类就已经建立起了一套完整的数理逻辑思维方法,从归纳到演绎,涵盖各种数学家和物理学家的研究成果。今天,我们仍能够通过这些优美的公式,从演绎的角度推导出许多不同层级的应用结果。因此,未来的 AI 开发应该是一个多范式的开发流程。

未来 AI 编程的两种范式

如果您来自某些垂直行业,例如数学模拟、物理模拟或大气模拟等,您会发现在这些任务中通常有两种途径。第一种方法是使用公式或解方程的方式进行模拟,第二种方法是使用与 AI 统计相关的统计任务进行模拟。这两种任务存在本质上的差异。它们有一些共性,例如都涉及到随机性,但左图任务更注重确定性。当您解决一个方程或使用数学公式进行推导时,结果在很大程度上都符合预期。

右图的任务则不同,AI 模型采用了大规模的统计模型,具有强大的内禀特性,其中包括一种被称为不确定性或非确定性的特性。这个特性是所有从事 AI 软件开发的人都需要首先解决的问题。

有人提出了提示工程(Prompt Engineering)概念。提示工程的最基本任务是将 AI 从那种容易陷入胡说八道的状态中拉回来,让它尽可能准确地完成我要求的任务。专业工程师的最基本任务是将右图的 AI 从发散、随机化、不确定性等方面带到左图人的预期里面。

在人类的预期范围内,如蒋涛所提到的类似于 Wolfram Mathematica 这样的系统中,它可以非常精确地控制。举个例子,如果你需要重新整理一个包含公司过去数万条交易数据的 Excel 表格,将所有交易单位从旧的会计制度转换为今天的新会计制度,如果 AI 在处理这 10,000 多条数据时出现了一两个错误,该怎么办?

67a4bec6a67c27236e68b838911b6a5d.png

这是当下迫切需要考虑的问题,AI 所犯的错误能否和不确定性能否及时发现。因为 AI 系统的错误和不确定性可能会对许多任务产生重大影响。为了解决这个问题,可以考虑以下几点:

1、设计可解释性的 AI 系统,这样可以更好地理解 AI 系统的决策过程和输出结果,从而更容易发现错误和不确定性;

2、引入监督和反馈机制,监督 AI 系统的输出结果并及时传回错误和不确定性信息,以便修正和改进 AI 系统的性能;

3、利用集成学习和多模型融合等技术,提高 AI 系统的鲁棒性和准确性,从而降低错误和不确定性的风险;

4、建立完善的测试和评估体系,定期测试和评估 AI 系统的性能,并及时发现错误和不确定性。

这些措施都可以帮助我们更好地管理和控制 AI 系统的错误和不确定性,从而提高 AI 系统的可靠性和性能。

如果我们编写一个非常牢固的程序,它的出错概率会很小。但是,如果我们将任务交给不确定性较高的 AI,必须对其进行测试和检查,以确保其输出的结果是正确的。

此外,如果不加任何提示工程,不加任何中间思维链,即使是用 GPT-4 来生成三维坐标,也是有困难的。

b7768180ecb156bbcb2e63aa92aec209.png

在经过指令工程、提示思维链、工具意图等技术增强后,AI 的生成结果会精准很多。因此,必须谨慎地处理 AI 输出的结果,并且在必要时对其进行更正。

516acdd2990aba831d16eb0489ad92b0.png

我今天分享的主题是关于未来 AI 编程范式的讨论。未来的 AI 编程范式将不再局限于简单的提示词所得出结果的编程范式,而是一个相对复杂的工程。这个工程至少包括两个编程范式:

75b3bef06be4f50a4e71a1f091bcd1ba.png

1、适用于端到端的感知类任务、创造性任务和探索性任务。它支持我们以 n to n 的方式,通过提示词得到结果。

2、适用于强调控制力、结果确定性和计算精准性的所有应用任务。在这种任务中,我们不能完全交给大型模型一次性解决问题。相反,我们需要通过插件的方式调用各种后台服务,这些中间层服务在调用底层的基于数理逻辑和传统计算机算法的功能模块时,将成为未来长期存在的编程范式。

虽然我今天特别善于使用提示,但我也擅长传统的计算机算法。我建议你们尽快将你们的算法变成可以被 GPT 调用的插件之一,变成 GPT 可以使用的工具之一。

在未来,人们的主要应用程序将是 GPT 或类似的 AI 程序,而不是人类开发的传统计算机程序。因此,人类工程师的任务是帮助 AI 开发大量能够与现实世界进行精确交互的插件或工具。简单来说,在这种范式中,人类工程师的角色将被降级,但这是我们必须承认的现实。让我们从现在开始行动起来,而不是过多地讨论,谢谢大家。

分享嘉宾简介:

王咏刚,SeedV 实验室创始人兼 CEO,创新工场 AI 工程院执行院长。专注于人工智能前沿科技研发。曾以联合创始人身份创立过包括上市公司在内的多家人工智能科技公司,也曾是人工智能高端应用型人才培养项目 DeeCamp 的发起者和领导者。王咏刚曾在谷歌公司从事技术工作超过十年,在自然语言处理,分布式系统,动画和游戏引擎等方面有专深积累。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/130580.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jQuery HTML/CSS 参考文档

jQuery HTML/CSS 参考文档 文章目录 应用样式 示例属性方法示例 jQuery HTML/CSS 参考文档 应用样式 addClass( classes ) 方法可用于将定义好的样式表应用于所有匹配的元素上。可以通过空格分隔指定多个类。 示例 以下是一个简单示例&#xff0c;设置了para标签 <p&g…

【机试题】LazyIterator迭代器懒加载问题

将下面这个未完成的Java工具类补充完成&#xff0c;实现懒加载的功能&#xff0c;该类需要实现Iterable接口&#xff0c;能够遍历所有数据。具体要求如下&#xff1a; 工具类提供了一个ValueLoader接口&#xff0c;用于获取数据&#xff0c;其中ValueLoader的接口定义为&#x…

css:clip元素裁剪实现Loading加载效果边框

clip 属性定义了元素的哪一部分是可见的。clip 属性只适用于 position:absolute 的元素。 警告&#xff1a; 这个属性已被废弃。建议使用 clip-path 文档 https://developer.mozilla.org/zh-CN/docs/Web/CSS/cliphttps://developer.mozilla.org/zh-CN/docs/Web/CSS/clip-path …

AndroidStudio gitee令牌过期 解决方式 remote:Oauth: Access token is expired

记一次&#xff0c;gitee令牌过期 解决方式 Oauth: Access token is expired fatal: unable to access ‘https://gitee.com/xxxx.git/’: The requested URL returned error: 403 remote: [session-e14669a3] Oauth: Access token is expired fatal: unable to access https…

SpringBoot3+Vue3+Mysql+Element Plus完成数据库存储blob类型图片,前端渲染后端传来的base64类型图片

前言 如果你的前后端分离项目采用SpringBoot3Vue3Element Plus&#xff0c;且在没有OSS&#xff08;对象存储&#xff09;的情况下&#xff0c;使用mysql读写图片&#xff08;可能不限于图片&#xff0c;待测试&#xff09;。 耗时三天&#xff0c;在踩了无数雷后&#xff0c…

C# PaddleDetection yolo 印章检测

效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Extensions; using Sdcb.PaddleDetection; using Sdcb.PaddleInference; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq…

GEE:将鼠标变成十字指针,点击获取影像值,显示值到UI中

作者:CSDN @ _养乐多_ 本文记录了在 Google Earth Engine(GEE)开发中,将鼠标变成十字指针,点击获取影像值,显示值到UI中的代码片段。这段代码复制过去修改变量名就可以用了。 效果如下图所示, 文章目录 一、代码片段一、代码片段 使用的时候将 YLDImage 变量换成你屏…

使用WinDbg分析软件突然崩溃的问题

为了测试windbg有多么牛逼&#xff0c;所以仅仅只是测试一下&#xff0c;属于事后诸葛亮型&#xff0c;也只是为了验证一下&#xff0c;把此方法学会即可。 模拟场景&#xff1a; 软件运行后&#xff0c;点击按钮&#xff0c;直接崩溃掉&#xff0c;什么提示都没有。因此&…

uniapp vue2 vuex 持久化

1.vuex的使用 一、uniapp中有自带vuex插件&#xff0c;直接引用即可 二、在项目中新建文件夹store,在main.js中导入 在根目录下新建文件夹store,在此目录下新建index.js文件 index.js import Vue from vueimport Vuex from vuexVue.use(Vuex)const store new Vuex.Store(…

【Java SE】类和对象(上)

目录 一. 面向对象的初步认知 1.1 什么是面向对象 1.2 面向对象与面向过程 二. 类定义和使用 2.1 简单认识类 2.2 类的定义格式 三. 类的实例化 3.1 什么是实例化 3.2 实例化对象 四. this引用(重点&#xff09; 4.1 为什么要有this引用 4.2 this的使用 4.3 this引…

C#中.NET 7.0不再支持ADO.NET,.NET Framwork依旧支持

目录 一、.NET 7.0框架下任何应用不再支持ADO.NET 二、.NET Framwork框架下Windows窗体应用支持ADO.NET 三、.NET 7.0不支持ADO.NET的真正原因 经过一阵折腾&#xff0c;终于可以确证C#中.NET框架不再支持用户通过ADO.NET的实体框架模型访问数据库&#xff0c;无论是.NET 7…

[EFI]戴尔Latitude 5310电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况 主板戴尔Latitude 5310 处理器Intel Core i5-10210U(1.6GHz/L3 6M)已驱动 内存8GB已驱动 硬盘三星 MZVLW1T0HMLH-000L2 (1024 GB / 固态硬盘)已驱动 显卡Intel UHD620已驱动 声卡瑞昱 Audio ALC299 英特尔 High Definition Audio 控制器已驱动 网卡RT…

Swift编写爬取商品详情页面的爬虫程序

以下是一个使用Swift编写的基本爬虫程序&#xff0c;该程序使用Selenium库模拟浏览器行为来爬取商品详情页面的内容。 import Foundation import Selenium// 设置爬虫ip信息 let proxyHost "duoip" let proxyPort 8000 let proxy SeleniumProxy(httpProxy: "…

【C语言 | 预处理】C语言预处理详解(三)——内存对齐、手把手教你计算结构体大小

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

Linux——进度条小程序|行缓冲区概念|使用 git 命令行

目录 1./r 和 /n 2.行缓冲区概念 3.使用 git 命令行 安装git 克隆到本地仓库 添加文件到仓库 提交到本地仓库 提交到远端仓库 1./r 和 /n 对于 /n 想必都不陌生&#xff0c;是换行的意思 而 /r 就是回车的意思 &#xff0c;回到一行的开始 在C/C中 \n通常都代表 回车…

k8s-docker二进制(1.28)的搭建

二进制文件-docker方式 1、准备的服务器 角色ip组件k8s-master1192.168.11.111kube-apiserver,kube-controller-manager,kube-scheduler,etcdk8s-master2192.168.11.112kube-apiserver,kube-controller-manager,kube-scheduler,etcdk8s-node1192.168.11.113kubelet,kube-prox…

学习使用JS实现Echarts的图表保存为图片功能:saveAsImage和getDataURL

学习使用JS实现Echarts的图表保存为图片功能 接口getDataURL实现思路 需求分析 实际项目开发过程中经常会有图表展示功能&#xff0c;同时为了满足用户需要&#xff0c;会附带着图表导出功能&#xff0c;主要形式就是保存为图片。在Echarts中本身就提供这种配置项&#xff0c;…

MPC-模型预测控制笔记

线性mpc 凸优化 二次优化问题 1&#xff1a;建立预测模型 2&#xff1a;问题模型 3&#xff1a;求解优化问题 4&#xff1a;得到的优化控制驱动系统 上述方法与qp解一样 硬约束 硬约束 四组约束条件 二次规划求解 matlab代码&#xff1a; 软约束 可以用指数函数 加入…

Linux前言

目录 Linux的应用场景 Linux的应用现状 Linux的版本 操作系统 什么是Linux操作系统&#xff1f; 为什么要用操作系统&#xff1f; 上篇我们介绍了Linux的历史背景和安装环境。 Linux的应用场景 因为Linux操作系统是开源&#xff0c;所以它流向各个领域。 场景1&…

局域网内部服务器访问外部网络

​ 一、环境说明 如下图所示&#xff0c;局域网1中的服务器是可以访问外网的&#xff0c;局域网2中的服务器发出的数据包经过中间路由可以到达局域网1中的服务器。现在有一种需求需要使局域网2中的服务器也要能访问外网&#xff0c;这里考虑采用如下方法来实现。 ​​ 二、软…