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

news2024/12/26 22:14:23

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

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

在 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 的发起者和领导者。王咏刚曾在谷歌公司从事技术工作超过十年,在自然语言处理,分布式系统,动画和游戏引擎等方面有专深积累。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python使用Numba装饰器进行加速

Python使用Numba装饰器进行加速 前言前提条件相关介绍实验环境Numba装饰器进行加速未加速的代码输出结果 numba.jit加速的代码输出结果 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入Python日常小操作专栏、Ope…

windows下安装zookeeper及kafka

1、下载安装包 https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz 2、下载kafka包 Apache Kafka 3、解压压缩包 4、进入zookeeper目录创建配置的数据目录data及配置的日志目录log 5、复制并配置zoo.cfg文件 6、启动zookeeper&#xff0…

Python数据容器(字符串)

字符串 1.字符串 字符串也是数据容器的一种,字符串是字符的容器,一个字符串可以存放任意数量的字符。 2.字符串的下标索引 从前向后,下标从0开始从后向前,下标从-1开始 # 通过下标索引获取特定位置的字符 name python print(na…

【数据结构】树的基本性质(计算树的总结点数与叶结点数)

树的基本性质 ⭐️计算树的总结点与叶结点数💫性质1💫性质2💫例题1💫例题2 ⭐️计算树的总结点与叶结点数 💫性质1 性质1 树中的结点数等于所有结点的度数之和加1 例如上面这棵树,A的孩子为B、C、D&…

如何在苹果iOS系统ipa应用中获取当前版本号和Bundle ID

在iOS应用开发过程中,了解如何获取和使用应用的当前版本号、Bundle ID和其他相关信息是至关重要的。无论是在应用内显示这些信息,还是在编写一些版本依赖的逻辑时,掌握这些知识点都将帮助开发者进行更有效的管理和维护。本文将详细介绍如何在…

Java程序设计实验5 | Java API应用

*本文是博主对Java各种实验的再整理与详解,除了代码部分和解析部分,一些题目还增加了拓展部分(⭐)。拓展部分不是实验报告中原有的内容,而是博主本人自己的补充,以方便大家额外学习、参考。 (解…

【Java 进阶篇】Java Web 开发之 Listener 篇:ServletContextListener 使用详解

欢迎大家来到 Java Web 开发的学习之旅!在前面的博客中,我们已经学习了 Servlet、JSP、Filter 等重要的概念和技术。今天,我们将深入探讨 Java Web 开发中另一个重要的组成部分——Listener(监听器),具体来…

18 CDN详解

1、理解CDN 1.CDN 和电商系统的分布式仓储系统一样,就近发货给客户(客户端),所以,必然是提前在仓库中存储了某些商品. 2.CDN最擅长的是缓存静态数据,比如电商系统的热点静态页面,秒杀场景的页面等.问题:向…

Linux学习第37天:Linux I2C 驱动实验(一):哥俩好

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 世界上的很多事物都是成双成对出现的。也包括在驱动开发的过程中,比如I2C中其实就是数据线和时钟线的相互配合才能完成的。 I2C常用于连接各种外设、…

基于SSM的网络音乐系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

【Vue】【uni-app】工单管理页面实现

用的是uni-app的uni-ui拓展组件实现的 功能是对工单进行一个展示,并对工单根据一些筛选条件进行搜索 目前是实现了除了日期之外的搜索功能,测试数据是下面这个tableData.js,都是我自己手写的,后端请求也稍微写了一些,…

Windows上基于Tesseract OCR5.0官方语言库的LSTM字库训练

系列文章目录 Tesseract OCR引擎 文章目录 系列文章目录前言一、LSTM字库训练是什么?二、使用步骤1. 环境准备1.1下载Tesseract 程序并安装1.2下载Tesseract 训练字库1.3下载工具jTessBoxEditor 2. LSTM训练2.1 将要训练的图片(jpg/tif)合并成一个文件2.2 生成box文…

DreamScene2 免费WIndows 动态桌面壁纸播放软件启动无响应失败问题解决及安装使用帮助

高阶使用预览 启动失败场景还原 1. 系统信息 2. 启动错误描述 使用壁纸过程中突然出现异常卡断,使用任务管理器停止程序后,该程序就无法正常启动,点及启动后出现 转圈(任务管理器短暂出现进程) 后就消失不见 原因分析 经过推测后可能是 强制停止后 工作临时缓存目录与启动程序…

2023.11.10联赛 T3题解

题目大意 题目思路 感性理解一下,将一个数的平方变成多个数平方的和,为了使代价最小,这些数的大小应该尽可能的平均。 我们可以将 ∣ b i − a i ∣ |b_i-a_i| ∣bi​−ai​∣放入大根堆,同时将这个数划分的次数以及多划分一段减…

IDEA的这款API调试插件爱了

前言 Idea 是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序,Idea 还具有许多插件和扩展,可以根据开发人员的需要进行定制和扩展,从而提高开发效率,今天我们就来介绍一款…

【FastCAE源码阅读7】视图方向切换按钮实现原理

在FastCAE工具栏上有视图切换按钮,如下图所示: 本文介绍如何实现。 FastCAE集成了Python解析器,当单击按钮时,中间用Python执行的,最后调用MainWindow.dll库接口实现的。 具体的Python代码在Python模块的py文件夹下的…

统一消息分发中心设计

背景 我们核心业务中订单完成时,需要完成后续的连带业务,扣件库存库存、增加积分、通知商家等。 如下图的架构: 这样设计出来导致我们的核心业务和其他业务耦合,每次新增连带业务或者去掉连带业务都需要修改核心业务。 一方面&…

linux服务-配置ntp时间服务

参考博文: 如何部署NTP服务器 NTP时间服务器安装部署文档 NTP时间服务器部署以及时间同步设置 Centos7搭建NTP服务器及客户端同步时间 参考文档: GB_T 20520-2006 信息安全技术 公钥基础设施 时间戳规范; GM_T0033-2014 时间戳接口规范&…

芯片静态电流详细测试流程,纯干货分享

在芯片的众多测试项目中芯片的功耗测试可谓重中之重,因为芯片的功耗不仅关系着芯片的整体工作性能也对芯片的工作效率有着非常重大的影响。今天纳米软件就带你了解一下芯片测试项目功耗测试中的静态电流的测试。 01、什么是芯片的静态电流? 芯片的静态电流也叫做…

基于SSM的课程管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…