程序员该如何打赢 AI 编程?这两种编程范式,值得你去深研 – NPCon 演讲实录
分享嘉宾 | 王咏刚
整理 | ChatGPT 责编 | 梦依丹
出品 | CSDN(ID:CSDNnews)
在 ChatGPT 所引爆的新一轮编程革命中,自然语言取代编程语言,在只需编写提示词/拍照就能出程序的时代,未来的编程范式只是写写提示词那么简单吗?
程序员要想在该场变革中立于不败之地,该如何与 AI 协同作业?在 3 月 25 日由 CSDN、《新程序员》联合主办的“新程序员大会(NPCon):AIGC 与大模型技术应用峰会”上,来自 SeedV 实验室创始人兼 CEO,创新工场 AI 工程院执行院长王咏刚表示:今天所有的计算机、系统都会被 AI 去重新改写,重新定义。这也引发了无数人思考:未来的程序员真的会被简化为提示词的编写员吗?然后由提示词操纵 AI?是不是这样一个非常简单的范式,就可以总结未来所有的 AI 开发?
王咏刚给出了否定的答案,其表示,「未来的 AI 开发应该是一种多范式的开发流程」。
王咏刚,SeedV 实验室创始人兼 CEO,创新工场 AI 工程院执行院长
本文是由 ChatGPT 整理的演讲实录,责编稍作调整:
一切都将被 AI 重新定义
“最近一段时间,我处在既兴奋又焦虑的状态之下,十几年的 NLP 经验被拉到与刚毕业大学生一样的门槛之上。我的开发经验并不比当下使用 ChatGPT 开发的大学生有任何优势”。
我是从 98 年开始写商业化程序的老兵,拥有十多年的自然语言工作经验,5、6 年的 AI 投资和孵化经历。现在又再次以一个创业者的身份开启一段全新的历程。我呼吁大家现在立刻开始跟 AI 协作起来,无论是学习、开发还是创业,赶快行动,时下的每分每秒,技术、产品、应用都在改变着未来。
想象一下最近一个月里,哪些企业成为了最受瞩目的话题?你最常听到的声音来自哪类企业?或许你会注意到,有一类企业却鲜有出现——手机厂商。近期几乎所有手机厂商都遭遇了一些难题。那么这些厂商和人工智能有什么直接的联系呢?值得思考。
作为对未来技术的期许,我希望能够有一款革命性的手机,它将以人工智能为中心,从硬件平台、上层应用到整个使用体验都进行重新设计。
如果有一天,Open AI 创始人说他们要推出一款革命性的手机,我一点也不会感到意外。因为我们正处于一个所有应用、计算机和计算机系统都将被人工智能重新定义的时代。蒋涛说未来每个人都将成为程序员和计算机设计师,而我们之前积累了大量的工程和科研经验,也见证了大量的投资和创业案例。
未来的程序员真的只需要编写提示词进行开发吗?
最近,许多人问我一个问题:市场上出现的很多创业团队,包括美国、欧洲和中国的团队,是否都只是简单地调用 GPT 的 API,输入一个提示词,然后就获得了惊人的功能。这样的创业方式和开发方式算是真正的创业和开发吗?如果所有人都在这个层面上开发,那么你的系统和产品是否还有技术门槛?
作为一位有着多年投资经验的投资人,我也在思考同样的问题。当我面对着 100 个项目,全都是通过使用 Hackathon 方式,仅仅用几个小时的时间,甚至是由几个中学生打造而成的项目,你该如何选择投资的项目呢?
所有这些项目在技术门槛上几乎都处于同一水平线上。谁将成为 AI 时代的“快手”?谁将成为 AI 时代的“移动支付”?这个答案可能没有人知道。
但是,让我们不要再去思考或者纠结这个问题了。行动比思考和讨论更加有效。不论你是在投资、创业、研发或者进行任何形式的思考,先行动起来。因此,今天我带领我们的团队思考一个问题:未来的程序员是否真的只需要写几个提示词就可以了?我们需要去挑战并回答这个问题。
如果今天的程序员通过编程语言来控制计算机,那么未来的程序员是否只需要编写提示词来操纵 AI 呢?虽然这个简单的范式可能能够总结未来所有 AI 开发,但我认为未来的 AI 开发应该是多范式的。
为了解释这个想法,我想给大家看两幅画作。现在有一些 AI 算法能够绘制非常精美的画作,但你能猜出这两幅画中哪一幅是由 AI 算法绘制的吗?
事实上,未来的 AI 开发需要采用多种不同的开发流程,而不只是简单地编写提示词来操纵 AI。
右边的画是由今天的 AI 算法生成的,而左边的画则不同,它是通过数学公式主导生成的,是一张由分形公式产生的三维图案。
十年前,这样的软件便能够帮助艺术家创造出数字艺术品,但那时人们并未将它视作数字艺术。虽然这种软件现在几乎没有人维护了,但它们创造的画面仍然能够带给我们震撼的视觉感受。
我想通过这两幅画来说明一个问题:今天的 AI 是建立在神经网络或深度学习的数学范式下的数学拟合体系上的,它拟合的是我们所面临的文本、图像等多种数据中的统计规律。然而,这种拟合体系并非是唯一存在的数理思维模型。
自古希腊起,人类就已经建立起了一套完整的数理逻辑思维方法,从归纳到演绎,涵盖各种数学家和物理学家的研究成果。今天,我们仍能够通过这些优美的公式,从演绎的角度推导出许多不同层级的应用结果。因此,未来的 AI 开发应该是一个多范式的开发流程。
未来 AI 编程的两种范式
如果您来自某些垂直行业,例如数学模拟、物理模拟或大气模拟等,您会发现在这些任务中通常有两种途径。第一种方法是使用公式或解方程的方式进行模拟,第二种方法是使用与 AI 统计相关的统计任务进行模拟。这两种任务存在本质上的差异。它们有一些共性,例如都涉及到随机性,但左图任务更注重确定性。当您解决一个方程或使用数学公式进行推导时,结果在很大程度上都符合预期。
右图的任务则不同,AI 模型采用了大规模的统计模型,具有强大的内禀特性,其中包括一种被称为不确定性或非确定性的特性。这个特性是所有从事 AI 软件开发的人都需要首先解决的问题。
有人提出了提示工程(Prompt Engineering)概念。提示工程的最基本任务是将 AI 从那种容易陷入胡说八道的状态中拉回来,让它尽可能准确地完成我要求的任务。专业工程师的最基本任务是将右图的 AI 从发散、随机化、不确定性等方面带到左图人的预期里面。
在人类的预期范围内,如蒋涛所提到的类似于 Wolfram Mathematica 这样的系统中,它可以非常精确地控制。举个例子,如果你需要重新整理一个包含公司过去数万条交易数据的 Excel 表格,将所有交易单位从旧的会计制度转换为今天的新会计制度,如果 AI 在处理这 10,000 多条数据时出现了一两个错误,该怎么办?
这是当下迫切需要考虑的问题,AI 所犯的错误能否和不确定性能否及时发现。因为 AI 系统的错误和不确定性可能会对许多任务产生重大影响。为了解决这个问题,可以考虑以下几点:
1、设计可解释性的 AI 系统,这样可以更好地理解 AI 系统的决策过程和输出结果,从而更容易发现错误和不确定性;
2、引入监督和反馈机制,监督 AI 系统的输出结果并及时传回错误和不确定性信息,以便修正和改进 AI 系统的性能;
3、利用集成学习和多模型融合等技术,提高 AI 系统的鲁棒性和准确性,从而降低错误和不确定性的风险;
4、建立完善的测试和评估体系,定期测试和评估 AI 系统的性能,并及时发现错误和不确定性。
这些措施都可以帮助我们更好地管理和控制 AI 系统的错误和不确定性,从而提高 AI 系统的可靠性和性能。
如果我们编写一个非常牢固的程序,它的出错概率会很小。但是,如果我们将任务交给不确定性较高的 AI,必须对其进行测试和检查,以确保其输出的结果是正确的。
此外,如果不加任何提示工程,不加任何中间思维链,即使是用 GPT-4 来生成三维坐标,也是有困难的。
在经过指令工程、提示思维链、工具意图等技术增强后,AI 的生成结果会精准很多。因此,必须谨慎地处理 AI 输出的结果,并且在必要时对其进行更正。
我今天分享的主题是关于未来 AI 编程范式的讨论。未来的 AI 编程范式将不再局限于简单的提示词所得出结果的编程范式,而是一个相对复杂的工程。这个工程至少包括两个编程范式:
1、适用于端到端的感知类任务、创造性任务和探索性任务。它支持我们以 n to n 的方式,通过提示词得到结果。
2、适用于强调控制力、结果确定性和计算精准性的所有应用任务。在这种任务中,我们不能完全交给大型模型一次性解决问题。相反,我们需要通过插件的方式调用各种后台服务,这些中间层服务在调用底层的基于数理逻辑和传统计算机算法的功能模块时,将成为未来长期存在的编程范式。
虽然我今天特别善于使用提示,但我也擅长传统的计算机算法。我建议你们尽快将你们的算法变成可以被 GPT 调用的插件之一,变成 GPT 可以使用的工具之一。
在未来,人们的主要应用程序将是 GPT 或类似的 AI 程序,而不是人类开发的传统计算机程序。因此,人类工程师的任务是帮助 AI 开发大量能够与现实世界进行精确交互的插件或工具。简单来说,在这种范式中,人类工程师的角色将被降级,但这是我们必须承认的现实。让我们从现在开始行动起来,而不是过多地讨论,谢谢大家。
分享嘉宾简介:
王咏刚,SeedV 实验室创始人兼 CEO,创新工场 AI 工程院执行院长。专注于人工智能前沿科技研发。曾以联合创始人身份创立过包括上市公司在内的多家人工智能科技公司,也曾是人工智能高端应用型人才培养项目 DeeCamp 的发起者和领导者。王咏刚曾在谷歌公司从事技术工作超过十年,在自然语言处理,分布式系统,动画和游戏引擎等方面有专深积累。